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问题相关推荐

  1. [绍棠] iOS视频播放AVPlayer的视频内容拉伸设置

    使用其中一个叫 videoGravity 的属性,默认设置了AVLayerVideoGravityResize,查看该属性以及相关的其他属性值发现有3种值可以设置, AVLayerVideoGravi ...

  2. [绍棠] iOS开发- 文件共享(利用iTunes导入文件, 并且显示已有文件) 以及 iOS App与iTunes文件传输的方法和对iOS App文件结构的说明

    就像很多iOS上面的播放器App一样,本文编写一个程序可以通过iTunes往里面放文件,比如编写一个视频播放器程序,通过itune往里面放视频文件,然后通过这个App来播放这个视频.下面是通过iTun ...

  3. [绍棠_Swift] SwiftyJSON的使用详解(附样例,用于JSON数据处理)

    1,SwiftyJSON介绍与配置 SwiftyJSON是个使用Swift语言编写的开源库,可以让我们很方便地处理JSON数据(解析数据.生成数据). GitHub地址:https://github. ...

  4. [绍棠] Vue解决V-HTML指令潜在的XSS攻击(‘v-html‘ directive can lead to XSS attack.)

    什么是 XSS 攻击? XSS是跨站脚本攻击(Cross-Site Scripting)的简称. XSS是一种注入脚本式攻击,攻击者利用如提交表单.发布评论等方式将事先准备好的恶意脚本注入到那些良性可 ...

  5. [绍棠] PhotoKit介绍

    PhotoKit是一套比AssetsLibrary更完整也更高效的库,而其处理方式也跟AssetsLibrary有很大的不同.该框架不仅支持照片的编辑,还提供了直接访问照片管理应用程序里的照片和视频资 ...

  6. [绍棠] iOS开发经验总结

    一. iPhone Size 手机型号 屏幕尺寸 iPhone 4 4s 320 * 480 iPhone 5 5s 320 * 568 iPhone 6 6s 375 * 667 iphone 6 ...

  7. [绍棠] Vue中this.$nextTick()实现原理及使用场景学习总结

    this.$nextTick()原理: Vue 实现响应式并不是数据发生变化之后 DOM 立即变化,而是按一定的策略进行 DOM 的更新. Vue 在修改数据后,视图不会立刻更新,而是等同一事件循环中 ...

  8. [绍棠] 前端小技巧

     技巧一 有时候读取变量属性时,他可能不是Ojbect,你引用的时候就会出现如下错误 这个这个你就要判断这个变量是否为对象,如果是在如引用 var obj;if(obj instanceof Obje ...

  9. [绍棠] Vue六种传值方式

    前言: 六种传值方式为: 属性传值 $refs $parent 通知传值(广播传值) 本地传值 路由传值 在介绍组件传值之前先明确三种组件关系:父子组件.兄弟组件.无关系组件 上图关系基于:A.B组件 ...

最新文章

  1. s-stat 查看文件或者文件系统的状态信息
  2. CCAI 2019 | Shai Ben-David:人工智能的可学习性能否判定?
  3. ATP - UI 自动化测试用例管理平台搭建
  4. html复选框位置,html – 对齐复选框和标签
  5. 构造函数和析构函数深拷贝和浅拷贝
  6. Docker volume使用
  7. 1031 查验身份证 (15分)_21行满分代码
  8. 斯坦福大学Andrew Ng - 机器学习笔记(8) -- 推荐系统 大规模机器学习 图片文字识别...
  9. Atitit table的类型 表类型目录1. 元数据表 日志表 12. 按照文件结构分为堆组织表(HOT)和索引组织表(IOT) 13. 内存表和文件存储表q 24. 全局表 2
  10. 51nod1160 压缩算法的矩阵——一道有趣的题
  11. HTML文档解析器 NekoHTML
  12. 日志收集 Graylog
  13. 各大互联网公司开放平台一览
  14. 前端开发思路-1.1
  15. c语言 程序数据要五行输出,C语言编程入门之--第三章编写第一个C语言程序
  16. GCC警告warning: control reaches end of non-void function [-Wreturn-type]|
  17. 洛谷P4158 [SCOI2009]粉刷匠 题解
  18. 算法篇-用栈来求解汉诺塔问题
  19. c++ packaged_task
  20. python动态监控日志内容

热门文章

  1. Excel学习笔记02——数据录入之序号录入规范数据源之数据验证
  2. 《黑马程序员》C++核心编程(二)
  3. 强烈推荐10本程序员要读的书
  4. PMBOK(第六版)第一章 引论
  5. RabbitMQ实现分布式事务,保证数据一致性
  6. DeFIL2.0多链部署丨迈向“元宇宙第一大行”的新征程
  7. 选课系统java源文件_学生选课系统 - WEB源码|JSP源码/Java|源代码 - 源码中国
  8. Web页中使用MediaPlayer
  9. ubuntu装机软件
  10. php电子商务面试题,php面试题附答案