- Build Issue: When building an App using Cocoapods you receive a link error: …Framework not found AFNetworking for architecture x86_64 (null): Linker command failed with exit code 1 (use -v to see invocation)
- Solution: Some libraries which are installed via Cocoapods do not permit the usage of frameworks. Either use a new version of the 3rd party library, or switch to manual installation of the Insert SDK as described above. Also read this.
-
Upload Issue: When uploading to the store with older Xcode versions you get errors such as :
ERROR ITMS-90087: "Unsupported Architectures. The executable for XXX.app/Frameworks/InsertFramework.framework contains unsupported architectures '[x86_64, i386]'."
or
ERROR ITMS-90209: “Invalid Segment Alignment. The app binary at ‘XXX.app/Frameworks/InsertFramework.framework/InsertFramework’ does not have proper segment alignment. Try rebuilding the app with the latest Xcode version.”
or
ERROR ITMS-90125: “The binary is invalid. The encryption info in the LC_ENCRYPTION_INFO load command is either missing or invalid, or the binary is already encrypted. This binary does not seem to have been built with Apple’s linker.”
or
WARNING ITMS-90080: "The executable 'XXX.app/Frameworks/InsertFramework.framework' is not a Position Independent Executable. Please ensure that your build settings are configured to create PIE executables. For more information refer to Technical Q&A QA1788 - Building a Position Independent Executable in the iOS Developer Library."
- Solution: Older versions of Xcode not automatically strip out unused architectures from dynamic libraries. Add a step in the build chain to manually remove unused architectures using the script referenced here.