【问题标题】:Xcode 8 no code signature foundXcode 8 找不到代码签名
【发布时间】:2016-09-18 13:34:10
【问题描述】:
升级到 Xcode 8 后,由于以下错误,我无法在设备上调试:
App installation failed. No code signature found.
我的设置、观察和到目前为止我所做的尝试:
- 设备已安装 iOS 10
- Xcode 7 设备上的代码签名和调试工作正常(代码签名未做任何更改)
- 该应用有一个手表应用(没有手表应用的构建/运行没有任何改变)
- 刷新配置文件、删除所有文件并重新下载并没有改变任何内容
- 从构建设置中删除所有代码签名设置并启用“自动管理签名”,这也没有帮助
- 我一直在清理构建文件夹
- 我试过重启设备、xcode、mac
- 我的同事在同一个项目中报告了同样的问题
- 我已尝试恢复 Xcode 8 建议的更改(构建设置、警告修复......)
【问题讨论】:
标签:
ios
xcode
code-signing
xcode8
build-settings
【解决方案1】:
旧答案是错误的
我在这里遇到了同样的问题,我有五个项目,其中四个不能在设备上调试,只有一个可以在设备上调试。我比较了 Xcode 项目文件并没有弄明白。我相信这是一个配置文件问题。 Xcode 似乎会在您的 Xcode 中生成开发配置文件,并没有将其上传到您的苹果开发者帐户。
更新:
我终于解决了我的问题,似乎第三个框架手册在构建设置的签名部分设置了协同签名身份或权限配置文件。然后你安装第三个框架,在协同设计阶段,Xcode 会搜索这个框架不存在的协同设计标识或权限配置文件,然后它失败了。
【解决方案2】:
我终于能够通过以下方式解决它:
- 更新
carthage(0.18 目前是最新版本)。由于某种原因,代码签名未正确应用。
- 在构建设置中将
PROVISIONING_PROFILE 和 PROVISIONING_PROFILE_SPECIFIER 设置为相同且正确的配置文件
- 我不得不禁用
automatically manage signing
总之,我的所有配置文件都是正确的,问题仅与对框架的代码签名有关,与应用程序本身无关。如果错误消息会说明可以找到具体No code signature 的位置,那将节省相当多的调试时间......
【解决方案3】:
大概你正在使用 cocoapods?我不得不手动设置“自动管理签名”和相应的团队,然后它终于奏效了。感谢其他评论者的指点。对我来说——有两个开发团队在同一个项目上工作——所以不确定这个解决方案是否会是最好的。需要找到在 Podfile 级别执行此操作的方法。
注意我在 cocoapods - 1.2.0
更新 - 试试这个/编辑 Podfile 并添加到底部。
运行 Pod 安装
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['EXPANDED_CODE_SIGN_IDENTITY'] = ""
config.build_settings['CODE_SIGNING_REQUIRED'] = "NO"
config.build_settings['CODE_SIGNING_ALLOWED'] = "NO"
end
end
如果上述方法不起作用 - 仅尝试此方法(您可能需要调整到最新的 SDK
例如。 iPhoneOS10.2.sdk n.b.
附:有人说他们必须以 sudo /usr/libexec/PlistBuddy 的身份运行 PlistBuddy)
killall Xcode
/usr/libexec/PlistBuddy -c "Set :DefaultProperties:CODE_SIGNING_REQUIRED NO" /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/SDKSettings.plist\n
/usr/libexec/PlistBuddy -c "Set :DefaultProperties:AD_HOC_CODE_SIGNING_ALLOWED YES" /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/SDKSettings.plist\n
/usr/libexec/PlistBuddy -c "Set :DefaultProperties:CODE_SIGNING_REQUIRED NO" /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/SDKSettings.plist\n
/usr/libexec/PlistBuddy -c "Set :DefaultProperties:AD_HOC_CODE_SIGNING_ALLOWED YES" /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/SDKSettings.plist\n
xcodebuild clean build