先写一个头,以后有空再补上
https://my.oschina.net/u/2340880/blog/1488869
http://www.samirchen.com/create-a-framework/
详细情况****:
Xcode Search Paths相关配置** ****http://www.jianshu.com/p/9f9c1fd2e8b5**
多工程依赖:
如果使用了Link Binary With Libraries 就会预先编译;
http://www.jianshu.com/p/bd8c97405f11
http://www.jianshu.com/p/87bb9a9c2a66
-
先检查arch类型
-
后检查linkObjc
-
最后检查是否添加工程依赖
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_SystemBrowserCommandBuilder", referenced from:
objc-class-ref in TTService(TTOfficialAccountCommands+ServicePrivate.o)
"_OBJC_CLASS_$_Channe

https://github.com/facebook/react-native/issues/5612
framework模拟器编译完成还是红色
注意:Xcode有个小bug,如果我们先选择了一个模拟器运行,成功之后,发现MyTestFramework.framework依然是红色的,其实它已经存在了,但是在工程中还是会显示为红色。
参考链接:
静态库总结比较好的文章
framework不同颜色的区分
Toolbox(黄色)
is a standard icon for CocoaTouchFramework and it's usually mean that it uses Foundation
framework.
White Cube (lego bricks/白色)
means bundle. That can link whatever you need, it can be a pack of Localized.strings (ex: ZendeskSDK) or other assets.
参考文档:

静态库合并/分离/查看
//合并静态库,做个通用的
lipo -create -output lib.a lib-armv7.a lib-armv7s.a
//查看静态库支持什么架构
lipo -info lib.a
//若只要指定架构的库,可以从通用库中加压除指定的
lipo -extract_family armv7 -output lib-armv7.a lib.a
参考文档:
bitcode含义
我们把我们的App以 bitCode 形式上传到AppStore后,苹果再处理一次,这样不同架构的手机只下载他对应的那部分资源就好(32位的没必要下载64位的那些内容,反之同理)起到给安装包瘦身的目的。

阿里等SDK不支持bitcode可能是考虑安全的原因吧.集成支付宝SDK遇到的坑
关于静态库的一些思考
- 我们可以在一个target下面做多个静态库,但是每次运行项目,都要重新编译一下静态库;所以要重新新建项目直接使用静态库;不是多个project每次编译
- 多个项目能不能不编译呢???这个需要查资料.
.
网友评论