其它知识拾遗和常见问题(四)

iOS动态库和静态库知识专题导航

1.iOS中关于库的基本知识

2.简单.a静态库的生成和使用

3.复杂.a静态库的生成和使用(包含Bundle文件和Category分类文件)

4.framework动态库和静态库的生成和使用

5.库其它知识拾遗和常见问题

集成静态库常见问题

常见问题(一)

出错信息:

clang: error: linker command failed with exit code 1 (use -v to see invocation)

可能原因:

静态库头文件中有.m文件,将.m文件去除;

静态库文件路径不对,设置Library Search Paths为当前导入库的相对路径;

缺少静态库依赖的系统库,添加相应的依赖库;

静态库中存在OC分类、C文件、C++文件,设置Other Linker Flags为响应的值;

添加的的是动态库,导入对应的静态库。

终端命令如何合并两个文件

    1.打开终端;

    2."cd 文件夹"进入要合并的文件夹路径;

    3."pwd"查看当前所在文件夹路径;

    4."ls"查看当前文件夹下文件和文件夹名称;

    5."lipo -create 文件1 文件2 -output 新文件"合并文件1和文件2生成新文件;

    6."lipo -info 文件名"查看文件的文件信息。

Xcode13查找Products目录

方法1:

Xcode菜单选择 Product -> Show Build Folder in Finder -> Products 查看。


方法2:

点击项目中的 TARGETS 中的 General 下的 Frameworks and Libraries 下的加号添加任意一个系统的framework;此时项目中就有了Products和Frameworks目录(添加的Framework不想要可以删除)。


方法3:

1. 找到项目的.xcodeproj文件,右键显示包内容;

2. 找到project.pbxproj并双击打开;

3. 在文件内搜索productRefGroup,上边有一个mainGroup,把productRefGroup的值替换为mainGroup值,然后保存关闭文件,项目左侧就会出现Products和Frameworks目录。


framework未发现.h文件

出错信息:

'xxx.h' file not found

'xxx.h' in framework header, expected angle-bracketed instead

原因:

framework中引用头文件需要用 <> ,而不是 "" ;且应用时直接 #import <ProjectionScreen/xxx.h> ,而不是 #import <ProjectionScreen/MRDLNA/ARC/DLNA/xxx.h> 。


合成framework

合成framework时,只能合成xxx.framework中的同名文件,而不能直接合成xxx.framework;可以合成真机和模拟器类型的framework中的文件,不能合成真机Debug和真机Release下的framework中的文件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,244评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,196评论 4 61
  • 刚看新闻,在武昌的一个小面馆,一个疑似为神经病的人因为老板多收了一块钱而刺激他神经病发作怒而砍下了面老板的脑袋,这...
    小芳的天空阅读 1,904评论 0 3
  • 提到中年老男人,未婚孤独,你的第一反应是什么?相信很多人跟我一样,会下意识觉得:生活很不如意/很失败吧。 毕竟从小...
    你好我是有木阅读 3,085评论 2 1
  • 【明代】唐寅 桃花坞里桃花庵,桃花庵下桃花仙; 桃花仙人种桃树,又摘桃花换酒钱。 酒醒只在花前坐,酒醉还来花下眠;...
    月明红红阅读 2,981评论 0 1