我有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版本的几个版本相同。所有设备都在配置门户上注册)