Call directory extensions won't run on iPhone 5 but will on all other device types

I've got 3 iPhone 5, 2 iPhone SE, 2 iPhone 6, an iPhone 6+ and an iPhone 7.



I've found that my app which uses a call directory extension won't work on any of the three iPhone 5 devices but there's no problem with it working on the other 6 assorted devices.



In case there is some problem with my app, I created a new app with a call extension which was created entirely using the XCode project templates (the Xcode call directory target template creates a lot of boilerplate code which is fully functional and will run and work without further change).



I got the same results - the template app also does not run on any of the iPhone 5 but it does run on the other 6 devices.



The conclusion from this would appear to be that for some reason call extensions don't work on an iPhone 5, however this is not a correct assumption because I downloaded an app from the app store (Hiya) which uses call extensions onto an iPhone 5 and it ran ok.



So it is a mystery to me why both my app and the Xcode template app both do not work on any of my iPhone 5s but they are fine on every other device.



And that therefore is my question - has anybody encountered a similar situation or has any speculation why they don't work on iPhone 5?

(Was there an architecture change after iPhone5 and the build settings of the call extension might need changing to get it to work on the iPhone 5 for example?)





The way my app and the Xcode template app fails on the iPhone 5 is the same

1) the extension does not appear in Setting | Phone | Call Blocking & Identification. This implies it may not have installed/registered with the OS properly, however I don't see any problems being logged by the OS in the console when looking at the OS logging.



2) The status of the extension cannot be queried on an iPhone 5:



    let theExtension = CXCallDirectoryManager.sharedInstance
            theExtension.getEnabledStatusForExtension(withIdentifier: "com.redacted.redacted.CallDirectoryApp.TheCallExtension")  {(enabledStatus, error) -> Void in
               
                if let err = error as? NSError
                {
                    print ("\(err.code)  \(err.localizedDescription) \(err.localizedFailureReason)")
                }
            }


The error is err NSError domain: "com.apple.CallKit.error.calldirectorymanager" - code: 1





Again this might indicate the problem is related to the extension not installing.





(The problem is independent of the version of iOS 10 used on the iPhone 5, its the same result with a few versions of both beta and non beta versions. All devices are registered on the provisioning portal)

Replies

I have the same problem, so any solutions would be welcomed.

Call Directory extension only supported 64-bit devices.

Apple removed that requirement. See Truecaller or Hiya apps. I tried setting Architectures in Build Settings to Standard architectures but that did not work.

Well it did work eventually (I has to restart my phone). So if anyone is wondering, just go to Build Settings, select Architectures and then press Backspace (it will reset to default settings)

Are you sure? I have seen a company using Call Directory extension on 64-bit devices.I also feel confused