jjzjj

ios - 如何在 CMake 项目中禁用 XCode BITCODE?

我正在构建一个使用CMake生成项目的中型项目。在XCode7+上,ENABLE_BITCODE选项默认设置为"is"。我想在我生成的XCode项目中将其默认设置为“否”。我尝试将“-fno-embed-bitcode”和“-fno-embed-bitcode-marker”添加到我的CMAKE_C_FLAGS中,但这没有效果。 最佳答案 原来我搜索不够。您可以通过调用:set_target_properties(targetPROPERTIESXCODE_ATTRIBUTE_ENABLE_BITCODE"NO")来自您的CMake

iOS 胖二进制文件 : should every arch include bitcode?

在构建要在启用位码的应用程序中使用的库时,是否需要使用-fembed-bitcode或仅使用其中一个来构建fat二进制文件中的每个拱门?其中之一是因为位码是独立于体系结构的并且只会被复制?所有这些都是因为预处理器命令可能会根据架构(例如NSInteger宽度)更改代码?排除x86切片,否则duplicatesymbol_llvm.cmdline会发生吗?-rdar://21884601 最佳答案 Bitcode只是LLVMIR的另一种形式,这是依赖于架构的。这意味着你的fat二进制文件中的每个切片都应该包含它自己的位码部分。UPD.

ios - 与发布后的实际下载大小相比,testflight 应用程序大小是否膨胀了很多?

我使用Unity构建了一个iOS游戏。我将它上传到AppStore(启用了bitcode)。IPA约为200mb。在iTunesConnect上,它显示我的构建大小约为每台设备30mb(我很高兴看到这一点)。但是当我将构建添加到TestFlight时,我注意到在通过TestFlight下载时,它显示的大小为170mb。与这个问题(TestFlightshowingmyappsizeis4timeslessthantheactualsize)完全相反,我在TestFlight上的应用程序的大小是iTunesConnect上显示的实际假定大小的许多倍。另外,iTunesConnect说:T

ios - App Store 团队在提交申请后报错 "your app contains bitcode"

我以前从未听说过bitcode这个术语,我什至不知道从哪里开始寻找如何解决这个问题。我正在使用Xcode7beta3并且我已经成功上传了我的应用程序3次,但是每次我上传它时,它都会将状态更改为invalidbinary我收到了AppStore团队发来的一封电子邮件"InvalidExecutable-Theexecutable'ESUHSD.app/ESUHSD'containsbitcode."我不知道您需要了解有关该应用程序的哪些信息,所以我希望您能提供任何帮助! 最佳答案 首先,我认为您不能提交使用Beta版Xcode构建的任

ios - Xcode 8.2.1 - 错误 : Invalid bitcode version (Producer: '802.0.41.0_0' Reader: '800.0.42.1_0' )

我正在尝试实现新的FacebookAudienceNetworkiOSSDKv4.22.0,但在编译项目时出现以下错误:error:Invalidbitcodeversion(Producer:'802.0.41.0_0'Reader:'800.0.42.1_0')clang:error:linkercommandfailedwithexitcode1(use-vtoseeinvocation)我在iOSSDKv4.21.1中也遇到了这个错误,但在v4.20.0中没有。我正在使用Xcode8.2.1和Objective-C,BuildSettings中的bitcode选项设置为No。这

ios - 更改符号名称和嵌入位码

tl;dr:我收到此错误消息:ld:-alias_listand-bitcode_bundle(XcodesettingENABLE_BITCODE=YES)cannotbeusedtogether我该如何解决?我正在尝试创建我自己的第三方库版本。我想确保我的调用都不会转到这个库的系统版本,所以我使用--alias-list为所有符号加上前缀,并生成一个头文件将所有符号从foo重命名为MJB_foo。每当我想使用这个库时,我的构建系统就会包含这个带有--include选项的头文件。这在Android和Linux上运行良好(我很确定它最终也会在Windows上运行)。但是,当我尝试链接共

ios - 是否可以使用 bitcode 创建一个通用的 iOS 框架?

据我了解,bitcode允许生成具有中间二进制格式的二进制文件。所以这是编译到ARM或x64架构之前的步骤。从iOS8开始,可以为iOS创建“真正的”.framework文件。但是,默认情况下,框架文件仅针对一种架构(模拟器、iPhone)编译。当一个人想要分发一个.framework文件时,最好提供一个与iOS模拟器兼容并且可以部署到iPhone的文件。可以找到使用lipo创建此类胖文件的不同脚本示例。但是,是否可以仅分发编译为bitcode的.framework而不必创建具有不同架构的fat文件?不幸的是,即使为我的.framework启用了位码:根据目标架构默认创建不同的文件即使

iOS 9 (Xcode 7) Facebook API/FBSDKCoreKit.framework/FBSDKCoreKit(FBSDKAccessToken.o)' 不包含位码

我正在尝试在iOS9.0中使用Xcode7构建包含FacebookSDK的应用程序。我收到此错误。谢谢 最佳答案 将您的FacebookSDK版本更新到4.6TheSDKsupportsvariousiOS9featuresincludingBitcode.Inaddition,theSDKdialogssuchasLogin,Like,ShareDialogsautomaticallydeterminethebestUIbasedonthedevice,includingSFSafariViewControllerinsteado

ios - Xcode - 错误 ITMS-90635 - bundle 中的 Mach-O 无效 - 正在提交到应用商店

我在向应用商店提交应用时遇到了这个错误。这是否意味着我需要为所有依赖项设置ENABLE_BITCODE?我试过了,但后来出现错误,说依赖项与位码(或类似的东西)不兼容...... 最佳答案 今天早上我遇到了同样的问题。事实上,答案就在错误中:“验证一个平台的所有目标都具有一致的ENABLE_BITCODEbuild设置值”我有一个目标(ENABLE_BITCODE设置为NO),使用多个ENABLE_BITCODE设置为YES的pod。因此,我所要做的就是在我的项目目标中将ENABLE_BITCODE设置为YES。但我猜你有一个选择,

ios - Bitcode WatchOS3 - 如何生成

我正在尝试将watchOS3应用程序上传到苹果商店,但是我收到了类似下面的拒绝(来自苹果)无效的可执行文件-可执行文件“someWatchExtension”不包含位码。更正这些问题后,您就可以重新交付更正后的二进制文件。我该如何解决这个问题?似乎bitcode是强制性的,因为Xcode中不再为我的watch应用程序build设置以简单地“启用Bitcode=No”。我也尝试过从我的WatchExtensions目录中查看运行swiftc-embed-bitcode*.swift,但我收到以下内容MyController.swift:9:8:错误:没有这样的模块'WatchKit'导入