我的测试项目在我的物理设备(iPhone)中成功运行。但是,在我将 Pod 安装到我的项目中后。我收到错误消息,提示“没有找到代码签名”。我找到了一些与该问题相关的文章。https://michiganlabs.com/ios/development/2015/11/30/code-sign-error-building-cocoapods-framework-targets/该文章建议需要在 pod 文件中包含一些代码签名旁路,如下所示
post_install do |installer|
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
end
Run Code Online (Sandbox Code Playgroud)
代码没有解决问题。提前致谢......
Joe*_*Joe 11
来自Rashwan L的回答。我尝试了这 3 个步骤。但是,它并没有解决我的问题。也许它可以适用于不同的场景。我正在阅读帖子中的同一篇文章链接。文章提到可以通过对 pod 项目进行代码签名或绕过代码签名来解决该错误修改pod文件。
\n\n一旦我对 pod 项目进行了代码签名。一切就开始工作了......
\n\n文章信息如下:
\n\nSwift 框架库需要代码签名,但不需要 Objective-C
\n\n进一步深入研究这个问题,我们发现新的 Swift 框架正在正确构建,只有预先存在的 Objective-C Pod(以前的静态库)因代码签名错误而失败。是时候去谷歌了!\n在对 CocoaPods GitHub 问题页面进行了大量研究并查看了最新的 iOS/OS X 依赖项管理器 Carthage 的一些类似问题后,我意识到 Objective-C 库不应该进行代码签名。Swift 框架需要代码签名,因为它们嵌入了 Swift 标准库和运行时,从而可以在新项目中使用旧的 Swift 代码。Apple 需要代码签名来验证\xe2\x80\x99s 复制到 iOS 应用程序中的运行时代码(有助于强制实施 iOS 安全沙箱)。老派 Objective-C 静态库不需要这个,实际上甚至不支持它,因此出现关于 \xe2\x80\x9cNosigning identities matches team ID (null).\xe2\x80\x9d 的奇怪构建错误
\n\n解决方案 - 禁用代码签名\n一个解决方案是手动编辑每个 Pod 库目标并禁用代码签名。这不是一个很好的选择,因为每次重新运行 pod install 时都会重新创建这些构建设置。在仔细阅读 CocoaPods 文档后,我们找到了解决方案。\xe2\x80\x9cPost Install\xe2\x80\x9d 脚本,用于在将 Pod 目标保存到磁盘(并集成到 Xcode 工作区)之前对其进行修改。我们通过每个 Pod 的相应构建设置手动禁用代码签名依赖关系。将其添加到 Podfile 的底部,您的代码签名错误将得到解决!
\n\n post_install do |installer|\n installer.pods_project.targets.each do |target|\n target.build_configurations.each do |config|\n config.build_settings[\'EXPANDED_CODE_SIGN_IDENTITY\'] = ""\n config.build_settings[\'CODE_SIGNING_REQUIRED\'] = "NO"\n config.build_settings[\'CODE_SIGNING_ALLOWED\'] = "NO"\n end\n end\n end\nRun Code Online (Sandbox Code Playgroud)\n\n我希望,这个答案会对某人有所帮助......
\n| 归档时间: |
|
| 查看次数: |
4312 次 |
| 最近记录: |