我试图找到设备锁定状态,因为UIApplicationState在锁定设备时给出了错误的状态,它给了UIApplicationStateActive几秒钟。
我找到了一个使用Darwin notifications进行通知的解决方案" com.apple.springboard.lockcomplete"。
获取锁定状态是否正确? Apple是否允许这样做?
答案 0 :(得分:2)
没有Apple不允许使用“com.apple.springboard.lockcomplete”。我的应用程序因此被拒绝。
答案 1 :(得分:0)
答案是......这取决于。
不允许使用非公共API,并且这些达尔文通知未公开记录。所以官方答案是否定的,您不能在生产代码中使用此通知。否则,您可能会从Apple收到这封令人不快的电子邮件:
您的应用使用或引用以下非公开API: com.apple.springboard.lockcomplete
另一方面,我已经使用了4年的通知,直到我从App Store拒绝了我的一个应用程序。我的另一个应用程序仍然使用它没有问题。所以,如果你真的需要它并且认为它值得冒风险,你可以尝试一下。
答案 2 :(得分:0)
Apple不允许这样做。这里有对此的评论 “在App Store上不允许使用非公开API,因为如果这些API发生更改,可能会导致不良的用户体验。
在以后提交此应用程序时继续使用或隐藏非公共API可能会导致您的Apple Developer帐户终止,并从App Store中删除所有关联的应用程序。”
答案 3 :(得分:0)
根据我们的经验,您的应用将被拒绝使用com.apple.springboard.lockcomplete并显示以下通知:
指南2.5.1-性能-软件要求
您的应用使用或引用了以下非公开API:
com.apple.springboard.lockcomplete
在App Store上不允许使用非公共API,因为 如果这些API发生更改,可能会导致不良的用户体验。
在以后的提交中继续使用或隐藏非公共API 此应用可能会导致您的Apple Developer终止 帐户,以及从App Store中删除所有关联的应用。
后续步骤
如果您使用的是第三方库,请更新至最新版本 这些库的最新版本。如果您无权访问 库的源代码,您也许可以使用来搜索已编译的二进制文件 “字符串”或“ otool”命令行工具。 “字符串”工具可以 输出该库调用的方法列表和“ otool -ov” 将输出Objective-C类结构及其定义 方法。这些工具可以帮助您缩小问题所在 代码所在。您还可以使用“ nm”工具来验证是否 第三方库正在调用这些API。
资源
如果没有其他方法可以提供您的应用功能 需要,您可以提出增强请求。