使用cocopods导入的MobileVLCKit为什么用真机的
今天在玩MobileVLCKit
的时候,我使用cocopods
导入的这个三方,在模拟器上编译、运行,好的没有一点问题。但是我使用真机的时候却给我报了一个../Pods/MobileVLCKit/MobileVLCKit-binary/MobileVLCKit.framework/MobileVLCKit' for architecture arm64
这样一个错误。
通过一番努力终于发现了问题所在,就是因为我们在真机测试的时候需要把Enable BitCode
这里面的选项改为NO
,这样做了之后我们再用真机运行我们的项目就会发现,不会再报这个错误了,然后我们就可以愉快的进行下面的工作了。
那么问题来了,为什么我在导入这个三方的时候需要把我们的Enable BitCode
改为NO
呢 ,在网上看了一下,这里也分享一下:大体意思就是随着 Xcode7的面世,我们都清楚的知道,他可以不通过https://developer.apple.com中的测试证书就可以真机测试了,但是这样也会出现一些问题。然后我们可以再苹果官方API中发现
Bitcode is an intermediate representationof a compiled program. Apps you upload to iTunes Connect that contain bitcodewill be compiled and linked on the App Store. Including bitcode will allowApple to re-optimize your app binary in the future without the need to submit anew version of your app to the store.
意思就是bitcode
是被编译程序的一种中间形式的代码。包含bitcode配置的程序将会在App store上被编译和链接。bitcode
允许苹果在后期重新优化程序的二进制文件,而不需要重新提交一个新的版本到App store上。
还有在What’s New in Xcode-New Features in Xcode 7
中,还有一段如下的描述:
Bitcode. When you archive for submission tothe App Store, Xcode will compile your app into an intermediate representation.The App Store will then compile the bitcode down into the 64 or 32 bitexecutables as necessary.
当提交程序到App store上时,Xcode会将程序编译为一个中间表现形式(bitcode)。然后App store会再将这个botcode编译为可执行的64位或32位程序。
大概就是这么个意思(摘至:https://www.cnblogs.com/yxfBlogs/p/4946132.html)。
最后附上截图:
兄弟你要找的
Enable BitCode
就在这里了!!!