6

I'm frantically trying to submit my app for the iOS 9 launch but I'm confronting a weird problem.

When I try to submit my application binary through Xcode 7, I get the following error:

Missing Architecture. The extension bundle requires a UIRequiredDeviceCapabilities value of 'arm64'

What scares me is googling ERROR ITMS-90533 returned no results.


The architecture Build Settings seems to check out as per this stackoverflow question. In both the Project target and Extension target:

  • Architectures is set to Standard Architectures (armv7, arm64) in both the Project target and Extension target

  • Build Active Architecture is set to NO for RELEASE

  • Valid Architectures is set to arm64, armv7, armv7s

enter image description here

I'm not really sure what to do at this point. I've tried playing around with the settings and nothing seems to be working. Any help would be really awesome.

Community
  • 1
  • 1
Matt
  • 1,359
  • 18
  • 22

1 Answers1

15

I managed to upload a similar app (which contains a content blocker extension just as yours) with the following two changes.

First, both Architectures and Valid Architectures only contain arm64.

Second, Info.plist for both the extension and the main app contains the following, restricting this app/extension to 64 bit architectures:

<key>UIRequiredDeviceCapabilities</key>
<array>
    <string>arm64</string>
</array>

Content blocker extensions are supposed to be 64-bit only. Not sure if a mixed 32/64 bit app can also contain a 64-bit-only extension. To be on the safe side, and since the content blocking is anyway the main/only functionality of my app, I made both the app and extension 64bit only.


Update, March 2016. With Xcode 7.2.1, you no longer need to set architecture as one comment below notes. You only need to set required device capabilities and valid architectures. (You can see this being the default setting when you create a new Content Blocker extension with the standard Xcode templates.)

Jaanus
  • 17,688
  • 15
  • 65
  • 110
  • 1
    Only need to change valid architecture and add required device capabilities flag (no need to change architecture). – Idan Sep 16 '15 at 00:32
  • Thanks this worked. I had to set both the main app and extension architectures and valid architectures to arm64 – jumpr3 Sep 22 '15 at 21:23
  • Setting both Architectures and Valid Architectures to arm64 fixes this for me. I left the UIRequiredDeviceCapabilities value at arm7 (Xcode 7.2.1/iOS 9.2) (I can’t find arm64 as a valid setting on [Apple’s Device Compatibility page](https://developer.apple.com/library/ios/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html) and using the value raised an error while trying to install the app on my iPhone 6) – Aral Balkan Mar 18 '16 at 15:31