繁体   English   中英

Xcode中的Bitcode签名失败

[英]Bitcode signature failure in Xcode

我将Xcode更新到最后一个版本,现在当我正在尝试编译项目时,我收到错误“无效的bitcode签名”,hovewer,我的项目的bitcode被禁用。 我该如何解决? 我应该更改什么来正确签署我的bitcode?

我的Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

target 'MyProjectName' do

pod 'Realm'
pod 'CorePlot'
pod 'GoogleMaps'

end

我已经检查过,一切都很好。

我不确定你和我有同样的情况。 当我尝试使用iPhone设备进行测试时,我只有这个问题。 事实证明,仅使用Build Active Architecture的调试配置设置为NO。 设置为YES后,我可以用我的iPhone进行测试。 在此输入图像描述

我遇到了这个错误,但它只发生在iOS 10.3 iPad上(尽管在iOS 10.3 iPhone和iOS 11.0 iPad以及所有iOS 10.3和11.0模拟器上工作)。 通过消除痛苦的过程(并从头开始创建一个新项目),我发现我的Cocoapods没有错,我的代码签名设置,我的AppExtension,我的测试,也不是我的'仅针对活动架构的构建'设置,也没有任何与术语“bitcode”相关的构建设置。

在我的设置中,我有一个嵌套在我的主Swift / iOS Xcode项目中的C ++ Xcode项目。 因为它从未专门用于iOS,所以从未设置过“iOS部署目标”(它保留在“默认”状态)。 在明确将其设置为10.3后,它无需投诉。

嵌套C ++应用程序的项目设置 (将iOS部署目标设置为您支持的最低iOS版本):

嵌套的C ++应用程序的项目设置

嵌套C ++应用程序的目标设置 (供参考):

嵌套的C ++应用程序的目标设置

如果您使用pod,请检查所有库的版本,某些库可能不支持新版本,您必须更新该库的pod文件。

就我而言,我正在尝试构建iOS版本低于部署目标的设备。

当我将一个新的静态库项目链接到我的工作区时,出现了这种问题。 为了解决这个问题,我尝试将库的Build Active Architecture和Bitcode设置都设置为NO但没有运气。 然后我遇到了图书馆的部署目标设置为11.0的事情,因为Xcode为所有新项目设置了最新值。 将设置修复为5.0后问题得以解决。

在我的案例问题发生,因为我使用第三方静态库与每个架构的不同文件

我通过删除无效架构的二进制文件来解决问题。 相反,我为第三方静态库添加了一个多目标FAT二进制文件

希望有所帮助

就我而言,解决方案是删除一个c ++库。

我发现我的问题是使用'模块'。

刚刚关闭模块(必须更新一些头文件),但这解决了我的问题。

在设置中启用模块

就我而言,项目中包含的小部件导致了bitcode错误。

我改变了我的pod文件:

target "App" do
    pod 'A'
    pod 'B'
end

target "App Widget" do
    pod 'A'
end

对此:

target "App" do
    pod 'A'
    pod 'B'

    target "App Widget" do
        pod 'A'
    end
end

要解决此问题,大多数答案都会建议一种解决方法,即清理Xcode工作区/项目,关闭Xcode,删除Derived Data文件夹(默认情况下保存在项目的根目录中),然后最终重新打开项目。

但是,上述步骤可能对您不起作用。 这是一个提示,您的项目结构是错误的。

当你的项目的bitcode中间代表与iOS 9.0一起发布时,它是在你的整个项目( 包括依赖项 )完全同意使用bitcode的条款下完成的。 根据我的经验,完成所有Pods并包含Libraries/Frameworks并确保它们都使用相同的设置至关重要; 默认情况下,此选择为

如果单个依赖项与预期的bitcode设置不匹配,则可能抛出此错误。

在完整性检查依赖项和总体项目时,请务必注意项目和目标设置都有Use Bitcode ”设置,因此请务必检查“构建设置”的两个透视图。

我正在添加静态库。 我创建了相同库的胖二进制文件,包括所有体系结构,并包含在我的项目中。 这解决了我的问题

就我而言,我正在使用Cordova项目 虽然使用Xcode构建它具有相同的问题,并通过删除和添加IOS平台解决了这个问题。

cordova platform remove ios

cordova platform add ios

如果你正在使用可可豆荚,那么做“pod update”

目标 - >构建设置 - >仅构建活动架构

调试 - >是释放 - > 否到是

我只在归档应用程序时面临同样的问题。

谁能告诉我原因? 你可以教所有开发人员。 这很棒。

在此输入图像描述

这个解决方案适合我。 首先,尝试使用终端命令pod deintegrate删除所有pod,然后使用terminal命令pod install重新安装pod。

如果包含仅为ARM构建的框架(也反之亦然),那么在为模拟器构建时也会发生这种情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM