我有 3 部 iPhone 5、2 部 iPhone SE、2 部 iPhone 6、1 部 iPhone 6+ 和 1 部 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) 扩展程序没有出现在设置 | 电话 | 呼叫阻止和识别。这意味着它可能没有正确安装/注册到操作系统,但是在查看操作系统日志时,我没有看到操作系统在控制台中记录了任何问题。
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 版本无关,其结果与测试版和非测试版的几个版本相同。所有设备都在配置门户上注册)