我在我的应用中发布了有关Google Framework的新警告:
(null):紧急:所有bitcode都将被删除,因为'/ Users/myname/Library/Mobile Documents/com~apple~CloudDocs/foldername/appname/GoogleMobileAds.framework/GoogleMobileAds(GADSlot + AdEvents.o)'是在没有bitcode的情况下构建的.您必须在启用bitcode(Xcode设置ENABLE_BITCODE)的情况下重建它,从供应商处获取更新的库,或禁用此目标的bitcode.注意:将来这将是一个错误.
Xcode 7给了我大约204个关于同样概念的警告,我无法解决这个问题.此外,我从我的应用程序访问网络时遇到问题.这是调试区域的错误:
-canOpenURL:URL失败:"kindle:// home" - 错误:"此应用程序不允许查询scheme kindle"
所有这些问题都不存在于iOS 8中.
我有嵌入式bitcode术语的问题.
什么是嵌入式bitcode?
什么时候启用,ENABLE_BITCODE在新的Xcode?在Xcode 7中
启用时,二进制文件会发生什么ENABLE_BITCODE?
昨天我认识到有关parse.com库的大量警告:
紧急:所有bitcode都将被删除,因为'[path] /Parse.framework/Parse(PFAnalytics.o)'是在没有bitcode的情况下构建的.您必须在启用bitcode(Xcode设置ENABLE_BITCODE)的情况下重建它,从供应商处获取更新的库,或禁用此目标的bitcode.注意:将来这将是一个错误.
我知道我可以通过这个答案删除这些警告,但我现在想知道它是否会对AppStore提交和/或我的应用程序的实际性能产生任何负面影响.
Xcode告诉你有关bitcode的信息
激活此设置表示目标或项目应在编译期间为支持它的平台和体系结构生成bitcode.对于存档构建,将在链接二进制文件中生成bitcode以提交到应用商店.对于其他构建,编译器和链接器将检查代码是否符合bitcode生成的要求,但不会生成实际的bitcode.[ENABLE_BITCODE]
但是我没有从本文中获得任何真正有用的信息.
ENABLE_BITCODE真正做的,这将是未来的一个非强制性要求?Xcode 14 Beta 发行说明已经发布,这一切都归功于一年一度的 WWDC。
可惜的是,Bitcode 现已被弃用,如果您尝试启用它,您将收到一条警告消息。
我想知道为什么会发生这种情况?使用 Bitcode 有什么缺点吗?苹果维护它是否有些痛苦?现在每个 iPhone 型号的编译将如何运行?
我已经跟随Xcode中新的ENABLE_BITCODE设置的几个线程,也尽可能多地尝试(承认我不是xcode专业版)但仍然无法让我的测试手机上的项目编译?
我的应用程序在模拟器上运行正常但我无法将其部署到我的iPhone上进行测试.在后一个我刚刚安装了iOS 9 beta.
现在,这是我收到的错误消息.看来该设置不会影响PARSE.com lib,这是我项目的一部分?如何将我的项目部署到手机上?谢谢你的建议.
Ld /Users/xxxxxx/Library/Developer/Xcode/DerivedData/graffiti- bnmizxueojwiqcbbnsvilljhosrw/Build/Products/Debug-iphoneos/Pods/Parse.framework/Parse normal armv7
cd /Users/xxxxxx/Documents/DigitalTempusDev/graffiti/Pods
export IPHONEOS_DEPLOYMENT_TARGET=8.0
export PATH="/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode-beta.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7 -dynamiclib -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.0.sdk -L/Users/xxxxxx/Library/Developer/Xcode/DerivedData/graffiti-bnmizxueojwiqcbbnsvilljhosrw/Build/Products/Debug-iphoneos/Pods -L/Users/xxxxxx/Documents/DigitalTempusDev/graffiti/Pods/Parse -F/Users/xxxxxx/Library/Developer/Xcode/DerivedData/graffiti-bnmizxueojwiqcbbnsvilljhosrw/Build/Products/Debug-iphoneos/Pods -filelist /Users/xxxxxx/Library/Developer/Xcode/DerivedData/graffiti-bnmizxueojwiqcbbnsvilljhosrw/Build/Intermediates/Pods.build/Debug-iphoneos/Pods-Parse.build/Objects-normal/armv7/Parse.LinkFileList -install_name @rpath/Parse.framework/Parse -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks -miphoneos-version-min=8.0 -dead_strip -fembed-bitcode-marker -ObjC -lParseLib -lz -framework AudioToolbox -framework CFNetwork -framework CoreGraphics -framework CoreLocation -framework QuartzCore -framework Security -framework StoreKit -framework SystemConfiguration -weak_framework Accounts -weak_framework Social -ObjC -fobjc-arc -fobjc-link-runtime -framework AudioToolbox -framework Bolts -framework CFNetwork -framework CoreGraphics -framework CoreLocation -framework …Run Code Online (Sandbox Code Playgroud) Xcode 7 beta 3刚安装了一些"附加组件"(现在版本7.0 beta 3(7A152u)),现在我收到编译器错误:
ld: '/<abbreviated>/Vendor/Analytics/GoogleAnalytics/libAdIdAccess.a(TAGActualAdIdAccess.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
此Google代码帖子是我发现的GA和bitcode的唯一提及.
如果我只能为这个库禁用它而不是完全禁用bitcode会很好.那可能吗?
这个答案提供了一个默认启用bitcode的解决方案,这最终可能是一个更通用的问题.
Xcode 7引入了Bitcode,这是一种LLVM中间二进制文件,这意味着Apple的服务器可以在不参与的情况下为不同的架构重新编译我的应用程序.
在Lookback中,我使用我们的库分发静态存档框架.似乎当你用"Build&Archive"构建任何东西时,bitcode实际上并没有发布到我的库中,任何在我们的应用程序中与我的库链接并尝试使用Bitcode进行构建和存档的人将获得其中一个两个警告:
ld: 'Lookback(Lookback.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. (如果lib是使用Xcode 6构建的)ld: warning: full bitcode bundle could not be generated because 'Lookback(Lookback.o)' was built only with bitcode marker. The library must be generated from Xcode archive build with bitcode enabled (Xcode setting ENABLE_BITCODE) (如果lib是使用带有正常xcodebuild的Xcode 7构建的)我有一个构建脚本,构建一个设备+模拟器通用二进制文件,所以我不能使用Build&Archive,而是xcodebuild从我的脚本从命令行运行.如何xcodebuild生成适当的bitcode启用库?
最近我下载了xcode 7 beta并面临错误:
6.0之前的iOS版本不支持-fembed-bitcode
是否有任何解决方法可以解决此问题而无需更改部署目标?
提前致谢.
如何为项目和cocoapod依赖项禁用bitcode?这是我在尝试使用Xcode 7运行项目时遇到的错误.
不包含bitcode.您必须在启用bitcode(Xcode设置ENABLE_BITCODE)的情况下重建它,从供应商处获取更新的库,或禁用此目标的bitcode.对于架构arm64
编辑:最初只为其中一个目标禁用它.一旦我禁用了所有这些,我就能够成功构建.
我最近下载了Xcode 7 beta,Xcode抱怨我的一些C库没有被编译成BitCode.我如何告诉Clang生成与iOS兼容的BitCode?我在stackoverflow上看到了类似的答案,但我不知道它们是否适用于为iOS生成BitCode库.
编辑:
我正在使用正确的设置-fembed-bitcode,但是当我尝试存档时,我收到错误:ld:警告:忽略文件XXXX/XXXX,文件是为存档构建的,而不是链接的架构(arm64).当我使用-fembed-bitcode-marker时,我可以存档,但是我收到错误:无法生成完整的bitcode包,因为XX/XX仅使用bitcode标记构建.必须从启用了bitcode的Xcode存档构建生成库.
什么是错误的任何想法?该库正在成功编译,但它不允许我存档.我创建了一个简单的添加函数并将其放入库中,我得到了相同的症状,因此它不是我正在编译的库.
编辑2:您必须使用bitcode和lipo一起构建arm64和armv7版本.使用bitcode在归档时不会消除对胖库的需求.来源:https://forums.developer.apple.com/message/25132#25132