14

I want to upload build with Custom keyboard extension on Itunes Connect But when I am going to upload it on Itunes Connect through Application loader its show me following error

ERROR ITMS-9000: "Invalid architecture: Apps that include an app extension and a framework must support arm64

I have added valid architecture to "Armv7",armv7s,arm64 in keyboard extension target and app target as well.but I am still facing same problem

enter image description here enter image description here

Shinning River
  • 813
  • 1
  • 10
  • 23
  • I am using a dynamic framework and I get the same error when submitting to the AppStore. The app target and the framework target (as in your image) support correctly arm64. Have you found a solution? – Cla Oct 28 '14 at 22:10
  • Any solution? I m facing same issue – Qadir Hussain Feb 25 '15 at 13:35

4 Answers4

6

Please check your embedded frameworks, if any. I've faced the same issue and the reason was: While debugging app on device, Xcode builds frameworks for "current arch only". And then, even if you try to archive project, Xcode uses already built for only one(!) arch frameworks from debug-iphoneos folder.

So, I've solved this issue by setting flag "Build for current architecture only" to "No" in Build settings of framework targets, cleaning build folder (cmd option shift K), Archive.

Renatus
  • 1,123
  • 13
  • 20
6

My problem was, that I had my iPhone 6 connected to Xcode so all swift frameworks did only build the arm64 version.

I disconnected my iPhone 6 and selected iOS Device as Destination.

After that the error disappeared.

Another thing you could to is to check if the created Archive is really for all required architectures.

You can check the the binary files in your Archive with the commandline command:

lipo -info YourBinary

The output should look something like that:

Architectures in the fat file: YourBinary are: armv7 arm64
patrickS
  • 3,590
  • 4
  • 29
  • 40
  • Just disconnected the device and validation was passed. Thanks! Definitely some funky business with swift libraries still. – WCByrne Mar 11 '15 at 05:18
  • And then submission failed.... Did a clean, set `Build active architecture only` to false for both app and library to make sure then rebuilt everything. Archived and submitted and all was good. Finally some sleep! – WCByrne Mar 11 '15 at 05:29
1

I ran into this issue in Xcode 6.1. I was able to resolve it by closing Xcode, deleting the Derived Data folder, rebuilding everything, then archiving again.

You do have to have "Build for current architecture only" set to "No" in your main target, and any included targets for the build configuration that you are currently archiving.

Albert Bori
  • 9,832
  • 10
  • 51
  • 78
0

Make sure you have your destination set to Generic iOS device for the framework.

You can do this by going to Product->Destination->Generic iOS device.

Otherwise it builds it specifically for that device and only its architecture.

Derek Lawrence
  • 1,551
  • 2
  • 16
  • 36