呼叫目录扩展不会在iPhone 5上运行,但会在所有其他设备类型上运行

时间:2016-11-21 20:24:04

标签: ios callkit

我有3部iPhone 5,2部iPhone SE,2部iPhone 6,iPhone 6+和iPhone 7。

我发现使用通话目录扩展程序的我的应用程序无法在三台iPhone 5设备中的任何一台上运行,但在其他6种设备上工作没有问题。

如果我的应用程序出现问题,我创建了一个带有调用扩展的新应用程序,该应用程序完全使用XCode项目模板创建(Xcode调用目录目标模板创建了大量样板代码,这些代码功能齐全,并且无需进一步更改即可运行和工作。)

我得到了相同的结果 - 模板应用程序也不能在任何iPhone 5上运行,但它确实在其他6个设备上运行。

这样的结论似乎是由于某种原因,电话分机不能在iPhone 5上运行,但这不是一个正确的假设,因为我从应用程序商店(Hiya)下载了一个使用呼叫的应用程序扩展到iPhone 5,其呼叫扩展没有类似的问题。

因此,对我而言,为什么我的应用程序和Xcode模板应用程序都无法在我的任何iPhone 5上运行,但它们在其他所有设备上都可以正常使用,这是一个谜。

因此,我的问题是 - 是否有人遇到类似的情况或有任何猜测他们为什么不在iPhone 5上工作? (在iPhone5之后是否有架构更改,并且呼叫扩展的构建设置可能需要更改以使其在iPhone 5上工作?)

我的应用程序和Xcode模板应用程序在iPhone 5上失败的方式是一样的 1)扩展名没有出现在Setting |中电话|呼叫阻止&识别。这意味着它可能没有正确安装/注册操作系统,但是在查看操作系统日志记录时,我没有看到操作系统中操作系统记录的任何问题。

2)无法在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)")
            }
        }

错误是错误的NSError域:" com.apple.CallKit.error.calldirectorymanager" - 代码:1

同样,这可能表明问题与未安装的扩展程序有关。

(问题与iPhone 5上使用的iOS 10版本无关,与beta和非beta版本的几个版本相同。所有设备都在配置门户上注册)

1 个答案:

答案 0 :(得分:0)

iPhone 5是32位,其他一切都是64位。我将Xcode的扩展默认设置更改为以下内容,现在可以使用:

enter image description here