Friday, February 1, 2019

ionic2 ios xcode failed at Linking with duplicate symbols

ionic2 projects are very sensitive with its node_modules and dependencies, to me personally.
And bad luck came to me when i rename my project name. And the iOS platform has to be
recreate.

Running:
$ ionic cordova platform rm ios
$ ionic cordova platform add ios

Starting all my problems. After successfully running
$ cordova platform rm ios
$ corvoda build ios
Everything went smooth event i can archive and upload to TestFligtth

And the day after, i had to compile and release in Android. The 1st problem starts
the $ionic/core had thrown version is '4' expected is '3'. After several time of
remove node_modules/ dir and npm install with no luck. I decided to
$ npm cache clean --force
$ npm install
$ cordova platform rm android
$ cordova platform rm ios
$ cordova platform add android@6.3.0
$ cordova platform add ios@4.5.4

I don't really sure if that is the root of all evil, anyway the Android was smooth.
And i need to be sured that smooth to ios too. And there is something to be edited,
an error of _requiresUserActionForMediaPlayback at AppBackground.m
just remove the underscore ( _ ) char from the beginning or requiresUser..

And if you stumbled with linking problem, as it shows many duplicate vars
at the xcode build report, then simply go to build phase and type the keyword
e.g SOSPicker then it will shows 2 or more SOSPicker.m and remove the ones
that not use then rebuild.

Hope it helps

No comments: