Tag:

Bitcode编译捆绑的框架问题

我有一个包含框架的watchOS应用程序。 突然用Xcode 7.3,我一直在发布版本的问题。 我不得不按照这里find的手动指令来解决我的版本构build问题。 我的应用程序现在编译所有构buildconfiguration。 当我尝试从Xcode Organizer中导出我的应用程序时,我遇到了其他错误。 从非常详细的控制台输出,我发现过程中的最后一个错误消息: description =“Coventry-Watch无法编译位码:\ ndebugging:SDKpath:/Applications/Xcode.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS2.2.sdk\n Debug:PATH :['/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin','/Applications/Xcode.app/Contents/Developer/usr/bin']\n Debug:Using:/ Applications /Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo\n MachoInfo:cd / \ n \“/ Applications / Xcode.app / Contents / Developer / Toolchains / XcodeDefault.xctoolchain / usr / bin / lipo \“\” – info \“\”/ var / folders / bk / lqjcpcfx0g1g2_k4bp49ppq00000gr / T / ipatool20160331-56415-1e0ofzg / thinned […]

位码和dylib

我想编译一个C库来在我的iOS项目中使用它,并且我想embeddedbitcode。 我可以成功构build针对每个拱形的静态库。 而那些静态库确实包含位码(使用otool进行检查),但dynamic库不包含位码。 为什么? 在dylib中不支持bitcode? 我正在试图build立的图书馆是xz。 这是脚本 build_iOS() { ARCH=$1 if [ $ARCH == "i386" ] || [ $ARCH == "x86_64" ]; then SDKROOT="$(xcodebuild -version -sdk iphonesimulator | grep -E '^Path' | sed 's/Path: //')" else SDKROOT="$(xcodebuild -version -sdk iphoneos | grep -E '^Path' | sed 's/Path: //')" fi export CC="$(xcrun -sdk iphoneos -find clang)" […]

上传到iTunesConnect时突然出错:ITMS-90635 Mach-O格式无效/ ENABLE_BITCODE

上周我能够把我的ipa上传到iTunesConnect就好了。 但截至今天,我通过应用程序加载器上传时出现以下错误: 错误ITMS-90635:“Mach-O格式无效Mach-O捆绑包”Application.app/Frameworks/PSPDFKit.framework“与主包中的Mach-O不一致主Mach-O包含armv7(机器码)和arm64(机器码),而嵌套的Mach-O包含armv7(比特码和机器码)和arm64(比特码和机器码),validation一个平台的所有目标值是否一致ENABLE_BITCODE构build设置“。 我知道这里提出的解决scheme: Xcode – 错误ITMS-90635 – 包中无效的Mach-O – 提交到App Store和其他许多人。 然而,我不知道如何将任何build议的解决scheme应用于Xamarin iOS项目。 我没有使用任何豆荚,而是我正在使用PSPDFKit的绑定库,这是我在官方文档https://pspdfkit.com/guides/ios/current/other-languages/xamarin/中所描述的创build的。 据我所知,有两种方法可以去我的项目中启用位码(我不知道该怎么做),或者禁用PSPDFKit的绑定项目中的位码(我也没有想法去做)。 我很感激任何帮助或build议。

应用程序处理错误:意外的CFBundleExecutable键

我试图提交给苹果与bitCode启用。 每次我提交我收到这封电子邮件。 我们已经发现您最近为“MyAPPP”交付的一个或多个问题。 要处理您的交付,必须纠正以下问题: 意外的CFBundleExecutable键 – “/Payload/MyAPPP.app/Base.lproj”中的软件包不包含软件包可执行文件。 如果此捆绑包有意不包含可执行文件,请考虑从其Info.plist中删除CFBundleExecutable密钥 ,并使用BNB的CFBundlePackageType。 如果此捆绑包是第三方框架的一部分,请考虑与框架开发人员联系以解决此问题。 一旦这些问题得到纠正,您可以重新发送更正的二进制文件。 我的应用程序的info.plist有以下内容。 每个豆荚的cocoa豆荚都有info.plist 所有豆荚在这里。

为iOS 9启用位码可增加3倍的IPA大小,这是应用程序商店的大小吗?

在iOS 9之前,我们的IPA大小大概是6MB。 在通过Xcode 7存档和导出我们的IPA后,我们的IPA增加到大约17MB。 经过进一步的调查,我们发现在导出设置中启用“Bitcode”选项是导致大文件大小跳转的原因。 我的问题是这样的:如果我们启用这个选项,我们的IPA在商店里的大小是17MB吗? 或者苹果公司对这个软件包做了些什么来使它和以前的大小差不多(6MB)。 目前没有关于Bitcode的很多信息,我希望在提交给商店之前得到通知。 6MB和17MB就足够了。

XCode 8位码兼容性

我注意到新的XCode 8的一个问题,这使得不可能在XCode 7上用位码进行归档。 所以例如,如果我想在Xcode 8上开发一个库,在Xcode 7上使用并启用位码,我得到这个错误: 无效的位码版本(Producer:'800.0.38.0_0'读者:'703.0.29_0') 在Xcode 8(目标c)上开发库时是否有任何解决方法?

归档过程中的位码编译永不完成

我正在准备一个应用程序通过testing飞行临时分配。 我已经成功地完成了Ray Wenderlich文章中的所有准备步骤( https://www.raywenderlich.com/48750/testflight-sdk-tutorial ),并且我确信证书,App ID和供应configuration文件都是正确创build的,工作顺序正确。 我正在使用Xcode存档项目。 我在存档过程中select了这些设置: 我select导出: 我select“另存为Ad Hoc部署”,因为我们的计划是使用“testing飞行”将应用程序分发给我们的testing人员。 我相信这是正确的select(而不是“企业部署”): 这是默认设置,我没有具体的理由来改变它,虽然我很感激你可能有任何的洞察力: 再次,这两个的默认选项。 第一个默认是未选中的,第二个是默认选中的: 当我进入这个屏幕时,转盘似乎永远旋转着: 这个问题似乎是,一旦它从bitcode编译的部分旋转并旋转,并没有显示完成的迹象。 当我构build应用程序在连接到MBP的设备上运行时,通常会在几秒钟内快速编译。 什么可能导致这种无反应?

是否有可能使用位码创build一个通用的iOS框架?

根据我的理解, bitcode允许以中间二进制格式生成二进制文件。 所以这是编译到ARM或x64架构之前的一步。 iOS 8以后,可以为iOS创build“真正的” .framework文件。但是,默认情况下(模拟器,iPhone)仅为一个体系结构编译框架文件。 当需要分发.framework文件时,最好提供一个兼容iOS模拟器的文件,并且可以部署到iPhone。 脚本的不同例子可以被发现使用lipo来创build这样的胖文件。 然而,是否有可能只发布一个编译为位码的.framework ,而不必创build具有不同体系结构的胖文件? 不幸的是,即使为我的.framework启用了bitcode: 根据目标架构默认创build不同的文件 即使“存档”菜单似乎为框架目标启用,即使在我的Organizer视图中,我也找不到结果 我是否误解了位码概念中的某些东西,还是错过了某些东西?

我们怎样才能将validation码整合到iOS应用程序中?

我search整合Captcha在iOS应用程序,但没有find任何相关的方式来这样做。 即使我注册了reCAPTCHA并且search了Captcha的插件是否适用于iOS? 我没有find任何iOS的插件。 在RND的某个地方,我知道“它不需要移动应用程序”,但客户想要在他的应用程序中inputvalidation码,所以我想知道: – 我们是否可以将validation码整合到iOS应用程序/移动应用程序中: – 如是? 那么整合它的相关方法是什么呢? 如果不? 那么有什么相关的原因。

如何使用ENABLE_BITCODE编译OpenCV iOS

当我尝试使用XCode 7 + iOS SDK 9编译我的XCode项目与OpenCV 2.4 iOS时,XCode抱怨说 ld:'opencv2.framework / opencv2(alloc.o)'不包含位码。 您必须使用位代码重新启动(Xcode设置ENABLE_BITCODE),从供应商获取更新的库,或者禁用此目标的位代码。 为架构arm64 铿锵声:错误:链接器命令失败,退出代码1(使用-v来查看调用) 并拒绝链接。 谷歌search后, 事实certificate是因为苹果在App Store中添加了一个名为Bitcode的新function,用于应用程序优化。 虽然OpenCV iOS二进制文件没有被更新为包含位码,但它不能通过链接阶段。 有些引用指出了一个临时的解决scheme来禁用ENABLE_BITCODE所以链接可以在没有Bitcode的情况下完成。 这将阻止应用程序被编译为Apple Watch,因为Bitcode对于Watch应用程序是必需的。 因此,我的问题是,是否有一些(最简单的)方法来编译启用Bitcode的iOS OpenCV? (更好的编译框架下载链接)