融云打包失败问题 bitcode bundle could not be generated because
来源:互联网 发布:c语言成绩管理系统设计 编辑:程序博客网 时间:2024/06/05 07:29
项目中集成了融云,一切工作准备就绪,编译运行真机测试都没有问题, 就差打包发布了,然后高高兴兴Archive了一波,眼看底下那个进度条就要满了,忽然报了一个错,提示打包失败了。一脸懵逼。。。错误信息如下:
bitcode bundle could not be generated because 'RongCloudIM/RongCloudIM/AgoraRtcEngineKit.framework/AgoraRtcEngineKit(libmediasdk.a-armv7-master.o)' was built without full bitcode.大概意思就是融云的某个包不支持bitcode,什么是bitcode :bitcode简单说就是编程语言与计算机可以直接执行的机器语言之间的中间码。苹果为了减少包的大小,打包时会将项目编译成bitcode,上传给iTunes store,用户下载时,bitcode可以根据机型版本,生成不同的包去适配。大概就是这么个意思,具体内容请戳这里。Xcode7开始,新建项目默认就打开了bitcode设置。而且大部分开发者都被这个突如其来的bitcode功能给坑过导致项目编译失败,这些因为bitcode而编译失败的的项目都有一个共同点,就是链接了第三方库或者框架,而这些框架或者库不支持bitcode,从而导致项目编译不成功。解决方案有两种:1:联系第三方框架的提供者, 让他们支持bitcode,这个执行起来有难度,我好比我找融云客服,他们给我的答复是,视频通话那里用了声网的框架,而声网不支持,所以他们也没办法。就算他们可以更新,也是需要时间的。2:关闭bitcode功能;在xcode里把Enable Bitcode设置为NO;
关闭bitcode后打包时会打成很多种包,如图,(码掉的只是项目名,我这里是要发布蒲公英的,所以直接导出来了)
3:添加标记在编译的时候加一个标记:embed-bitcode-marker(调试构建) embed-bitcode(打包/真机构建)。这个在clang编译器的参数是-fembed-bitcode,swift编译器的参数是-embed-bitcode
然而这个方法我试过了,依然是失败滴,上面那篇博客中可以找到其中原因:哪怕你带了-fembed-bitcode参数也仅仅只是让项目中的部分C代码的目标文件带了bitcode段,而那小数的汇编代码的目标文件一样不带bitcode段,这样编译出这个库交给上层开发者使用的时候,就会出现在打包上传或者真机调试的时候因为Xcode默认开了bitcode功能而链接失败所以说解决办法只有两种。能用的只有一种,那就是暂且关闭bitcode。怎么让SDK支持bitcode,我找到一篇博客,并转载过来了,具体还没有细究,有兴趣的小伙伴可以戳这里
阅读全文
0 0
- 融云打包失败问题 bitcode bundle could not be generated because
- bitcode bundle could not be generated because '/Applications/Xcode.app
- ios bitcode bundle could not be generated because 'UserszhaoxiaoluHuiLianHuiLianHuiLianLibsJhtMarque
- myeclipse部署问题 ** could not be redeployed because it could not be completely removed in the ....
- XXX could not be redeployed because it could not be...
- 解决Failed to execute request because the App-Domain could not be created问题
- Xcode 7 联网问题 The resource could not be loaded because the App Transport Security
- XXX could not be redeployed because it could not be completely removed in the undeployment phase
- XXX could not be redeployed because it could not be completely removed in the un
- XXX could not be redeployed because it could not be completely removed in the un
- XXX could not be redeployed because it could not be completely removed in the undeployment phase
- ** could not be redeployed because it could not be completely removed in the undeployment phase
- XXX could not be redeployed because it could not be completely removed in the undeployment phase .
- XXX could not be redeployed because it could not be completely removed
- ** could not be redeployed because it could not be completely removed in the undeployment phase
- suningtoken could not be redeployed because it could not be removed
- Designer could not be started because of a permissions issue
- IOS 打包All object files and libraries for bitcode must be generated from Xcode Archive or Install bui
- JAVA线程之ReentrantLock源码分析(一)
- POJ 2686 Traveling by Stagecoach
- 磁盘及文件系统管理
- Rxbinding的使用
- std::string replace详解
- 融云打包失败问题 bitcode bundle could not be generated because
- Spring + SpringMVC其他类依赖注入失败
- Python IDE
- leetcode 214. Shortest Palindrome 最短回文数 + KMP算法
- eclipse memory analyer分析thread dump和heap dump
- 解决springmvc 返回JSON报406错误
- mysql在cmd显示中文乱码
- 据说是菊花机试题:求最小长方形的左下右上坐标
- 【前端CSS】offsetLeft,Left,clientLeft的区别