[绍棠] bitcode问题
libraries for bitcode must be generated from Xcode Archive or Install build forARM7 解决办法
开发语言:OC
场景:工程中 引入第三方静态库 真机调试没有问题,但是在打包上传商店的时候报错
报错:
问题详情:
Bitcode bundle could not be generated because '/Users/ws/Desktop/Build/Intermediates/ArchiveIntermediates/G2-JEWELRY/BuildProductsPath/Release-iphoneos/libNDL-LIB-G2-CORE.a(POSSDK.o)' was built without full bitcode. All object files and libraries for bitcode must be generated from Xcode Archive or Install build for architecture armv7
由上述问题看出第三方库不兼容 XCode7later 之后默认开启BitCode
解决办法:
1.更新library使包含Bitcode,否则会出现以上问题。
2.关闭Bitcode,简单粗暴。
解决实现:
1、更新换库
2、解决方法步骤
选择工程之后再Build settings标签 中的 build optional 查看Enable bitCode 选项改为NO
Bitcode在链接静态库时的问题处理 “ld: bitcode bundle could not be generated because”
Bitcode是苹果在Xcode7及以后推出的新功能。用于代码的二次编译,针对CPU进行优化,编译工作由苹果AppStore后台来完成。
针对iOS是可选项,默认打开。watchOS 和 tvOS 是必选项。苹果文档如下
https://developer.apple.com/library/tvos/documentation/IDEs/Conceptual/AppDistributionGuide/AppThinning/AppThinning.html
打开选项如下图
那么问题来了,如果一个工程里面有静态库的引用,那么所有的静态库也需要打开Bitcode后重新编译。
这一切都没有问题,但是在“Archive”的时候就会报错。
这时,就需要给静态库的工程增加一个选项“-fembed-bitcode”。之后就可以正常Archive了。
报错内容
ld: bitcode bundle could not be generated because '/Users/liuyuning/Desktop/TestDecode/Decode/libDecode.a(Decode.o)' was built without full bitcode. All object files and libraries for bitcode must be generated from Xcode Archive or Install build for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
增加“-fembed-bitcode”
另外,如果静态库的工程有 -Werror 的选项,需要去掉。应为在编译的时候有一个警告。 clang: warning: argument unused during compilation: '-fembed-bitcode-marker'
如果不去掉就会报错。
[绍棠] bitcode问题相关推荐
- [绍棠] iOS视频播放AVPlayer的视频内容拉伸设置
使用其中一个叫 videoGravity 的属性,默认设置了AVLayerVideoGravityResize,查看该属性以及相关的其他属性值发现有3种值可以设置, AVLayerVideoGravi ...
- [绍棠] iOS开发- 文件共享(利用iTunes导入文件, 并且显示已有文件) 以及 iOS App与iTunes文件传输的方法和对iOS App文件结构的说明
就像很多iOS上面的播放器App一样,本文编写一个程序可以通过iTunes往里面放文件,比如编写一个视频播放器程序,通过itune往里面放视频文件,然后通过这个App来播放这个视频.下面是通过iTun ...
- [绍棠_Swift] SwiftyJSON的使用详解(附样例,用于JSON数据处理)
1,SwiftyJSON介绍与配置 SwiftyJSON是个使用Swift语言编写的开源库,可以让我们很方便地处理JSON数据(解析数据.生成数据). GitHub地址:https://github. ...
- [绍棠] Vue解决V-HTML指令潜在的XSS攻击(‘v-html‘ directive can lead to XSS attack.)
什么是 XSS 攻击? XSS是跨站脚本攻击(Cross-Site Scripting)的简称. XSS是一种注入脚本式攻击,攻击者利用如提交表单.发布评论等方式将事先准备好的恶意脚本注入到那些良性可 ...
- [绍棠] PhotoKit介绍
PhotoKit是一套比AssetsLibrary更完整也更高效的库,而其处理方式也跟AssetsLibrary有很大的不同.该框架不仅支持照片的编辑,还提供了直接访问照片管理应用程序里的照片和视频资 ...
- [绍棠] iOS开发经验总结
一. iPhone Size 手机型号 屏幕尺寸 iPhone 4 4s 320 * 480 iPhone 5 5s 320 * 568 iPhone 6 6s 375 * 667 iphone 6 ...
- [绍棠] Vue中this.$nextTick()实现原理及使用场景学习总结
this.$nextTick()原理: Vue 实现响应式并不是数据发生变化之后 DOM 立即变化,而是按一定的策略进行 DOM 的更新. Vue 在修改数据后,视图不会立刻更新,而是等同一事件循环中 ...
- [绍棠] 前端小技巧
技巧一 有时候读取变量属性时,他可能不是Ojbect,你引用的时候就会出现如下错误 这个这个你就要判断这个变量是否为对象,如果是在如引用 var obj;if(obj instanceof Obje ...
- [绍棠] Vue六种传值方式
前言: 六种传值方式为: 属性传值 $refs $parent 通知传值(广播传值) 本地传值 路由传值 在介绍组件传值之前先明确三种组件关系:父子组件.兄弟组件.无关系组件 上图关系基于:A.B组件 ...
最新文章
- s-stat 查看文件或者文件系统的状态信息
- CCAI 2019 | Shai Ben-David:人工智能的可学习性能否判定?
- ATP - UI 自动化测试用例管理平台搭建
- html复选框位置,html – 对齐复选框和标签
- 构造函数和析构函数深拷贝和浅拷贝
- Docker volume使用
- 1031 查验身份证 (15分)_21行满分代码
- 斯坦福大学Andrew Ng - 机器学习笔记(8) -- 推荐系统 大规模机器学习 图片文字识别...
- Atitit table的类型 表类型目录1. 元数据表 日志表 12. 按照文件结构分为堆组织表(HOT)和索引组织表(IOT) 13. 内存表和文件存储表q 24. 全局表 2
- 51nod1160 压缩算法的矩阵——一道有趣的题
- HTML文档解析器 NekoHTML
- 日志收集 Graylog
- 各大互联网公司开放平台一览
- 前端开发思路-1.1
- c语言 程序数据要五行输出,C语言编程入门之--第三章编写第一个C语言程序
- GCC警告warning: control reaches end of non-void function [-Wreturn-type]|
- 洛谷P4158 [SCOI2009]粉刷匠 题解
- 算法篇-用栈来求解汉诺塔问题
- c++ packaged_task
- python动态监控日志内容
热门文章
- Excel学习笔记02——数据录入之序号录入规范数据源之数据验证
- 《黑马程序员》C++核心编程(二)
- 强烈推荐10本程序员要读的书
- PMBOK(第六版)第一章 引论
- RabbitMQ实现分布式事务,保证数据一致性
- DeFIL2.0多链部署丨迈向“元宇宙第一大行”的新征程
- 选课系统java源文件_学生选课系统 - WEB源码|JSP源码/Java|源代码 - 源码中国
- Web页中使用MediaPlayer
- ubuntu装机软件
- php电子商务面试题,php面试题附答案