问题
When I tried to create IPA file using Distribute APP option. It gave "IPA processing failed" error.
I have checked logs file: IDEDistribution.standard.log
file.
2019-08-06 18:36:52 +0000 warning: Configuration issue: platform iPhoneSimulator.platform doesn't have any non-simulator SDKs; ignoring it Scanning IPA... 2019-08-06 18:36:52 +0000 Assertion failed: Expected 4 archs in otool output: /var/folders/4t/rpjk7pd55t16jfrd32y98gf0lb2t68/T/IDEDistributionOptionThinning.~~~a4cZJc/Payload/demo.app/Frameworks/AppAuth.framework/AppAuth: Mach header magic cputype cpusubtype caps filetype ncmds sizeofcmds flags MH_MAGIC_64 X86_64 ALL 0x00 DYLIB 23
3680 NOUNDEFS DYLDLINK TWOLEVEL NO_REEXPORTED_DYLIBS Load command 0
回答1:
You should check the Embed Frameworks
under Xcode > build
phases.
If your framework is introduced here, you can't use i386\x86_64
in your framework. Because the Embed Frameworks
are copied to the application. To control the size of the application, the frameworks in the Embed Frameworks
are required to be the most streamlined.
You can use Link Binary With Libraries
to introduce your framework, as described here: https://github.com/Carthage/Carthage/issues/1046
Note that you need to add a new Run Script and add your framework to it, or it will crash.
回答2:
It seems that a dynamic library with i386 or x86_64 architecture is not allowed when archive in Xcode 11. And I fixed it by removing those architectures from the mentioned frameworks
回答3:
We've solved this problem by setting Always Embed Swift Standard Libraries
to NO
in all frameworks, that are being used in our app.
回答4:
I had to uncheck "Rebuild from bitcode"
回答5:
I found issue with SDWebImageMapKit
framework available with SDWebImage
. I just removed it and got success.
来源:https://stackoverflow.com/questions/57382217/how-to-fix-ipa-processing-failed-error-in-xcode-11