I'm going to convert sift 2.2 to swfit 3.0 and uploading to itunes store then get one error.
I'm so tired with this error:-
ERROR ITMS-90171: "Invalid Bundle Structure - The binary file 'ideaPitch.app/libswiftRemoteMirror.dylib' is not permitted. Your app can’t contain standalone executables or libraries, other than the CFBundleExecutable of supported bundles. Refer to the Bundle Programming Guide at https://developer.apple.com/go/?id=bundle-structure for information on the iOS app bundle structure."
I have try some solution like this question but did not get proper result.
Any one can hlep me out.
2 Answers
Answers 1
I assume that you're generating the IPA on the command line.
Your best option is to simply use the Xcode7/8 default way to generate an IPA file:
xcodebuild -scheme $SCHEME clean archive $ARCHIVE_PATH xcodebuild -exportArchive -archivePath $ARCHIVE_PATH -exportPath $IPA_PATH -exportOptionsPlist $EXPORT_PLIST
This approach will automatically take care of removing the libswiftRemoteMirror.dylib
from the resulting IPA file.
Alternatively you will have to remove the dylib on your own. You'll have to do it after creating the xcarchive but before exporting it to an IPA file: rm -rf $APP_PATH/libswiftRemoteMirror.dylib
EDIT
In case you can't rebuild the IPA on your own and just want to remove the libswiftRemoteMirror.dylib
from it, you'll have to resign
it: unzip the IPA, delete the dylib, re-codesign the bundle and zip it together again:
unzip AppName.ipa -d IPA cd IPA rm -rf Payload/$APP_NAME.app/libswiftRemoteMirror.dylib codesign -vfs '$IDENTITY_NAME' Payload/$APP_NAME.app zip -r --symlinks New_IPA.ipa *
Replace $APP_NAME with the name of your App bundle. Replace $IDENTITY_NAME with the name of the codesign identity used to originally sign the app. If unknown, you display it with codesign -dvv Payload/$APP_NAME.app 2>&1 | grep Authority | head -1 | cut -d= -f2
.
The matching Certificate and Private Key must be present in your keychain for a successful resign. If your app uses special entitlements for push, associated domains etc., you'll have to pass a proper --entitlements
param to the codesign command above.
Answers 2
The libswiftRemoteMirror.dylib
is copied to the App Bundle, but the App Bundle must not contain a binary other than the apps binary.
To fix this:
In Xcode, remove "libswiftRemoteMirror.dylib" from everywhere in your project. Including "Copy Bundle Resources" and "Embedded Libraries".
Add it to the target's
Link Binary with Libraries
build phase.Do not add it to the target's
Copy Bundle Resources
build phase.Clean & build & archive
0 comments:
Post a Comment