问题
I've just added a new RichNotification Extension to my project. Now I've got "myApp" target and two targets for: "RichNotification" and "RichNotificationContent"
When I archive the main target for the App Store works fine but I get this error while trying to upload to the App Store:
ERROR ITMS-90700: "Incorrect Platform. You included the iOS arm64 executable “myAPP.app/PlugIns/myAPPRichNotifications.appex/myAPPRichNotifications” in your iOS bundle. Only iOS executables can be included."
Is there any special procedure to archive an app with multiple extensions / targets? Special build config?
Couldn't really find any information, I'm probably searching with the wrong terms.
回答1:
I had the same problem. I just use pod update, rebuild project on another mac, and reupload build to AppStore and issue gone
回答2:
Thanks to @Mikhailo Karpenko
I solved the issue by re-installing pods And I had to remove the setting 'ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES' from the project settings as this is set by pod iteself
回答3:
I had a similar issue where uploading an app produced the same ITMS-90700 error but it was related to a watch app executable. In the end it turned out that I had an old watchOS target in the build settings which was causing the error.
Not completely related to this question, but this is the only question I found on SO that referenced error ITMS-90700. Hopefully it helps someone.
回答4:
I solved this issue by making sure all of the build targets in my project were built for the same iOS Deployment Target.
We added an extension in our app and it defaulted this value to iOS 12 whereas the rest of our app was configured for iOS 10. Regardless of the valid architectures field in the build settings, the extension was only being built with 64-bit support, but the rest was being built with both 32-bit and 64-bit.
After making this change, I ran lipo -archs on the extension to validate that it was built for both arm64 and armv7.
来源:https://stackoverflow.com/questions/51988081/properly-archive-ios-app-with-extensions