美文网首页
iOS多工程依赖方式

iOS多工程依赖方式

作者: 海浪萌物 | 来源:发表于2018-02-24 16:10 被阅读34次

参考链接:

iOS工程项目依赖有三种方式:
1、创建library工程进行依赖
2、创建framework工程进行依赖
http://blog.csdn.net/litianpeng0624/article/details/52330691
http://blog.csdn.net/gghu1986/article/details/9234669
https://www.jianshu.com/p/6b85f8496015
3、创建正常工程进行依赖
https://www.jianshu.com/p/e3cfae830985
其中library和framework类似:

1.建立一个Framework & Library->Cocoa Touch Static Library 取名A,并在A里新建一个类用来测试
2.建立一个demo工程B
3.把工程A整个文件夹复制到B工程文件夹里,位置随便选(只要你会添加头文件搜索路劲,如果不会,建议去另一篇教程学习http://blog.sina.com.cn/s/blog_877e9c3c0102v591.html
4.打开A右键“Add Files To B”,选择B.xodeproj,不要选择Copy items if needed

//设置工作
1.编译A的静态库
选择工程A,设备调为iOS Device,编译,会报错1.“CodeSign error: code signing is required for product type 'Unit Test Bundle' in SDK 'iOS 8.1'”
解决办法:选择A工程->Build Settings -> Code Signing -> Code Signing Identity -> Debug -> Any ios SDK 将选项改为:iPhone Developer (记住是选择project而不是target)
再编译,即可成功,这时候products里就出现了正常的A.a静态库

2.建立相关引用
B-Build Setting-Header Search Paths (添加头文件搜索路径--例如:$(SRCROOT)/工程名/BYTestLibrary/BYTestLibrary)
B-Build Phases - Link Binary With Libraries 添加A.a
B-Build Phases - Target Dependencies 添加A工程依赖关系 (确保编译B的时候先编译A)

3.如果A里面有图片或者其他的依赖库
B-Build Phases - Copy Files添加对应的图片和依赖库

4.如果A里有category,使用category的时候会crash
B-Other Linker Flags 添加-Objc和-all_load确保category被正常引入

5.***打包注意事项
有依赖库的时候,Archive通常在organize里找不到项目或者没有version和identifier
要把依赖库A-Build Settings-Skip Install设置为YES,但项目BSkip Install设置为NO

另外依赖库还要做如下设置(借鉴)
将Build Phases->Copy Headers中的所有头文件拉到Project下,即Public和Private下不能有文件
清空Build Settings->Deployment->Installation Directory选项的内容

另外可能遇到问题:
dyld: Library not loaded: /System/Library/Frameworks/Social.framework/Social
Referenced from: /var/mobile/Applications/00D3E0A7-4FF6-451E-B11C-87D7A189F425/sample.app/sample
Reason: image not found

解决方式是:
General--》Embedded Binaries中拖进新导入的Framkwork,让编译器提前编译这个二进制文件

相关文章

  • iOS多工程依赖方式

    参考链接: iOS工程项目依赖有三种方式:1、创建library工程进行依赖2、创建framework工程进行依赖...

  • iOS多工程依赖

      在日常开发中,有时候我们为了保持整个项目的结构清晰,需要对项目的不同的类进行模块化,其中使用工程依赖是个不错的...

  • iOS 多工程依赖

    先写一个头,以后有空再补上 https://my.oschina.net/u/2340880/blog/14888...

  • iOS多工程依赖

    为了保持整个项目的结构清晰,使用工程依赖是个不错的选择首先,要创建一个workspace工程,我是创建了一个sin...

  • iOS 多工程依赖

    网上很多文章都说的很详细https://www.jianshu.com/p/551bcdc677ea https:...

  • IOS,项目工程依赖方式

    1.导入需要依赖的工程,导入方式: 选择Add Files to "XX"(XX就是你的主工程) 选择被依赖工程的...

  • iOS 开发 多工程依赖

    [转]//导入准备工作1.建立一个Framework & Library->Cocoa Touch Static ...

  • WorkSpace创建

    Xcode创建子工程以及工程依赖iOS 使用.xcworkspace文件管理代码和工程依赖(实现项目模块化)

  • Flutter 工程依赖的几种依赖方式

    Flutter 工程依赖的几种依赖方式1、依赖中心库2、依赖git3、依赖本地库

  • IOS Jenkins 配置framework 多工程依赖以

    IOS jenkins 最好配置在os 系统下 由于插件会调用xcode进行编译 首先安装jenkins 1.官网...

网友评论

      本文标题:iOS多工程依赖方式

      本文链接:https://www.haomeiwen.com/subject/ejaqxftx.html