为啥我在启动我的 iPhone OS 应用程序时会收到“安全策略错误”?
Posted
技术标签:
【中文标题】为啥我在启动我的 iPhone OS 应用程序时会收到“安全策略错误”?【英文标题】:Why do I get a "security policy error" when launching my iPhone OS app?为什么我在启动我的 iPhone OS 应用程序时会收到“安全策略错误”? 【发布时间】:2010-02-04 04:40:58 【问题描述】:我前段时间创建了一个 iPhone OS 2.2 应用,最近安装了 3.1 SDK。
当我尝试在我的 (3.1) iPod Touch 上运行我的应用程序时,启动窗口显示“来自调试器的错误:启动远程程序时出错:安全策略错误。”
查看 iPod Touch 的控制台(通过 Xcode 管理器中我的设备的控制台选项卡)显示:
Wed Feb 3 23:29:17 unknown SpringBoard[24] <Warning>: Unable to launch com.blahblah.Blah_Blah because it has an invalid code signature, inadequate entitlements or its profile has not been explicitly trusted by the user.
Wed Feb 3 23:29:17 unknown com.apple.debugserver-43[789] <Error>: error: unable to launch the application with CFBundleIdentifier 'com.blahblah.Blah_Blah' sbs_error = 9
我已经筛选了一堆代码签名问题,只是为了构建和部署它,所以我认为这可能是另外一回事。
【问题讨论】:
【参考方案1】:尝试上述删除过期证书的解决方案后,我仍然遇到这个问题。结果我需要手动启动应用程序一次并接受提示,询问我是否真的想启动由该配置文件使用该开发帐户签名的应用程序。接受后,Xcode 能够成功启动它。
【讨论】:
这个解决方案也对我有用。在一些稍微复杂的解决方案之前值得一试。 是的,这对我的新 iPhone 6 和 iPhone 6 有效,而且我们正在使用 ios 8 测试我们的应用程序。不幸的是,它似乎无法保存对开发人员密钥的信任如果我删除应用程序并在 Xcode 中重新启动(例如,使用新数据库测试应用程序),我必须再次检查它。皮塔饼。谢谢! 不要在设备上删除,而是尝试使用 Xcode 设备窗口删除应用程序。这似乎保留了先前授予的信任。【参考方案2】:我的解决方案是删除设备上所有过期的配置文件(甚至是不相关的)窗口 -> 管理器 - 选择您的设备并在配置文件下删除任何已过期的配置文件。谢谢: "security policy error" on iPhone and iPod Touch
【讨论】:
我最近也遇到了这个特殊问题。感谢您在此处添加另一种可能的补救措施。【参考方案3】:问题出在可执行文件名中的空格(我认为)。
我之前通过在我的 info.plist 中将“:rfc1034identifier”附加到 PRODUCT_NAME 来解决与捆绑标识符类似的问题,但这有点不同。
我不确定如何直接设置可执行文件名称,但我最终只是将我的目标的“构建”选项卡上的“打包”部分中的产品名称更改为没有任何空格的名称。已修复!
【讨论】:
【参考方案4】:在 XCode 中添加设备后尝试在我的“最新”iPad 上运行时遇到了同样的问题。显然,此设备不在我使用的开发配置文件的设备列表中。
解决方案:转到 iOS Provisioning Portal,选择左侧尺寸的“Provisioning”,选择顶部的“Development”选项卡,然后在 Edit/Modify 列表中更改适用的配置文件
然后您可以编辑要使用的证书的设置并添加各个设备。
然后,一旦您将设备与 XCode 管理器连接,设备上的信息将自动同步。然后,您可能还想删除管理器中过时的配置文件。
问题解决了。
【讨论】:
【参考方案5】:我自己解决了这个问题。
转到管理器窗口 从左侧选择配置文件 按窗口右下角的刷新按钮 输入您的 AppleID 和密码 随意重新编译您的应用程序
我的问题是我更新了配置文件以添加新设备,但没有更新 XCode 中的配置文件。
【讨论】:
以上是关于为啥我在启动我的 iPhone OS 应用程序时会收到“安全策略错误”?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 Flutter 应用在 iOS 上启动时会崩溃?
为啥我在启动模拟器时会收到此 GRPC 错误“WARNING: EmulatorService.cpp:448: Cannot find certfile”?
为啥我在启动一个新的 Django 项目时会收到“ImportError: cannot import name find_spec”?