• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ios > iOS制作第三方库如果引用其他第三方库,如何添加引用?

iOS制作第三方库如果引用其他第三方库,如何添加引用?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了ios第三方库,xamarin ios 第三方库,ios常用第三方库,ios第三方应用商店,ios第三方代充等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: iOS制作第三方库如果引用其他第三方库,如何添加引用?
描述:

假如你要做一个第三方库,但是你的代码引用了AF,除了使用cocoapods管理你的项目依赖还有没有别的方式?举个例子ShareSDK里面肯定用了微信和新浪的SDK的代码或者API,但是ShareSDK里面肯定没有新浪和微信的SDK源码,我们在引用ShareSDK的时候需要往工程里拖入微信和新浪的SDK,ShareSDK才能正常分享到微信和新浪上,那这个ShareSDK在编译成库的时候,对新浪和微信的依赖是怎么设置的,并且ShareSDK在开发的时候项目里还必须能调用到新浪或者微信的SDK的API不影响开发。
总结一下:主工程A依赖库B、C,库B、C同时依赖公共库D,那如何引用才能让主工程只要引用库D,B、C在A中就能正常工作,但是B、C在开发的时候都可以单独开发,正常引用D。
xcode项目中编译配置如下几种方式,在开发B、C的时候如何设置D的引用?直接引用D的源码是肯定不行的,B、C全部包含D的代码,到A中就冲突了~

有劳各位谁懂得不吝赐教


解决方案1:

只要搞明白动态库和静态库就可以了。

要注意的是,动态库和静态库的区分不是Framework和.a库的区分,Framework同样有静态和动态的区别,在编译设置里面可以调整,Mach-O Type这个选项决定的。

所以,A 使用 B和C, B和C都使用D, 则 D编译成动态库比较好,因为D是唯一要多次引用的库。动态和静态的一个区别就是静态库会被引用者一起编译,所以如果D为静态库,B和C中都会包含一份D的代码,在A编译的时候就会说有冲突,当D为动态库时候,A需要同时link BCD三个库,就可以正常调用了。

pods的podfile中加入

use_frameworks!

就可以编译成Framework了。

B,C如果是单独的项目,编译Framework时候,把Skip Install设为NO,才可以在Achieve以后,弹出Organizer窗口进行导出,导出的Framework才可以进行发布使用。

解决方案2:

对于第三方的一些库,例如AFN,可以直接在B、C中由cocoapods导入,进行管理。编译B、C的时候不要把AFN编译进去就可以了。有一点需要注意,在B、C中使用的AFN和A项目中AFN版本要一致,否则可能出现编译报错


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • iOS制作第三方库如果引用其他第三方库,如何添加引用?
  • IOS微信第三方登录iOS微信注销
  • IOS微信第三方登录大家常用的iOS第三方工具库有哪些?
  • IOS微信第三方登录ios微信内置浏览器的on事件有问题

相关文章

  • 2017-06-05 Validate成功,上传appstore出错:ERRORITMS-90167:"Noappbundlesfoundinthsepack
  • 2017-06-05 string转intSwift如何判断int数据是否溢出
  • 2017-06-05 2个蓝牙app,功能都一样,只是icon不一样,能不能审核?(同一个产品,有两个客户,要求app图标不一样)
  • 2017-06-05 快用苹果助手怎么用iOSweex怎么用?
  • 2017-06-05 macos能选择性的升级么?xcode
  • 2017-06-05 (swift)php如何接受ios端发来的url头数据post方式
  • 2017-06-05 replaykit录屏经常是黑屏录下来的
  • 2017-06-05 iOS16进制转UIImage
  • 2017-06-05 js代码怎么用ios返回不执行js怎么解决?
  • 2017-06-05 UIScrollview嵌套UITableview添加约束问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 利用MJYY等第三方解析时,当服务器返回JSON某个值为nil或特殊值时,不赋值model
    • ios解析字符串数组
    • 错错错一错再错ios访问本地php接口报错
    • 如何避免通过[[alloc]init]创建iOS单例类
    • iOS开发,使用YYModel,在iOS9上没问题,在iOS8上奔溃
    • iOS基础控件iOS的constraints约束一个警告问题
    • 在acontroller里面如何调用bcontroller里面的一个方法,
    • iOS的公司开发的静态库(a)需不需要买开发者证书,不需要上线的静态库需要哪种证书?
    • iOS10模拟器上边运行崩溃。
    • 如何post提交XML数据加载webview或者wkwebview

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有