IOS 编程中引用第三方的方类库的方法及常见问题

在Window上安装和配置VTK9.x,并在QT项目中调试VTK是否可用 VTK+MSVC+Qt Creator + CMake配置 阅读详情

方法一:直接复制所有源文件到项目中

         这种方法就是把第三方类库的所有源文件复制到项目中,直接把所有.h和.m文件拖到XCode项目中即可。

注意:

        1. 如果第三方类库引用了一些系统自带类库,那么在项目中还需要额外引用那些类库。

        2. 如果当前的项目启用了ARC,而引用的第三方类库未使用ARC,那还需要在项目信息的Targets – Build Parses

            里找到第三方类库的.m文件,并为它们加上-fno-objc-arc标记。

        3. 对于在未启用ARC的项目用引用使用了ARC的第三方类库,则需要为第三方类库的.m文件加上-fobjc-arc标记。

       另外,在源代码中可以通过一个编译器指令__has_feature(objc_arc)来检测项目是否使用了ARC,

       具体见http://clang.llvm.org/docs/LanguageExtensions.html#langext-has-feature-has-extension。


方法二:引用.xcodeproj生成静态链接库并引用

          首先,将要引用的静态库及头文件拷贝到该项目的文件路径下,然后,在项目的Targets – Summary – Linked Frameworks and Libraries或者在Targets – Build Phases – Link Binary With Libraries添加第三方类库生成的静态链接库引用。接着,还需要在Targets – Build Settings – Search Paths的User Header Search Paths参数中加入第三方类库的头文件路径,可以是绝对路径如:/Users/libpath,也可以是相对路径(相对于当前项目文件夹)如:../**。通常是设置为:” $(PROJECT_DIR)/usr “ (其中usr是项目下的自建的文件夹)。网上说有很多拖.xcodeproj文件的,很多网上的项目也有.xcodeproj,而且是红色的,笔者感觉有的.xcodeproj 下有很多东西,全部引进来,太冗余了,没必要。

注意:

         1. 如果第三方类库封装了一些资源在.bundle文件里,那么.bundle文件需要和.xcodeproj一起拖到项目中。

         2. 有些静态链接库引用进来可能还需要增加一些标记,在Targets – Build Settings – Linking的Other Linker Flags参数中增加:-Objc, –all_load这一类标记。

         3. 当前项目和第三方类库同时使用了另外的一些第三方类库,这个时候还需要额外做一些处理才能成功编译:在引用的第三方类库的.xcodeproj项目

              – Targets – Build Phases中的Compile Sources和Copy Headers把重复的.m和.h文件移除掉。

         4. 第三方类库引用的一些系统自带类库,如果项目中没有引用,也可能会引起编译错误,这时还需要在项目中引用第三方类库引用的一些系统自带类库。

             比如:第三方类库引用了QuartzCore.framework,而项目中未引用QuartzCore.framework则可能引起编译错误,就需要在项目中也引用QuartzCore.framework。

方法三:借助Cocoapods 管理第三方

        当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其他类库又用到其他类库,“子子孙孙无穷尽也”,这也许是比较特殊的情况。总之小编的意思就是,手动一个个去下载所需类库十分麻烦。另外一种常见情况是,你项目中用到的类库有更新,你必须得重新下载新版本,重新加入到项目中,十分麻烦。如果能有什么工具能解决这些恼人的问题,那将“善莫大焉”。所以,你需要 CocoaPods。

CocoaPods应该是iOS最常用最有名的类库管理工具了,上述两个烦人的问题,通过cocoaPods,只需要一行命令就可以完全解决,当然前提是你必须正确设置它。重要的是,绝大部分有名的开源类库,都支持CocoaPods。所以,作为iOS程序员的我们,掌握CocoaPods的使用是必不可少的基本技能了。

cocoapods的详细使用见:

http://code4app.com/article/cocoapods-install-usage

内容参考链接:

http://mobile.51cto.com/iphone-407056.htm

用Python进行GEO数据挖掘(学习笔记四):富集分析 该笔记详细解释了富集分析的工作原理,并简要地利用gseapy在python中进行富集分析的操作。 阅读详情

相关推荐

Skiplist,B,B+tree,LSM tree

SkipList 理解(如何实现): 即使是有序的链表,查找的时间复杂度也是O(n),但链表不能随机访问所以不适用于二分查找,使得查找的时间复杂度为O(logn)。 于是将有序链表和二分查找结合得到了SkipList,类似于二叉搜索树,这是一种以空间换时间的算法,通过在每个节点中增加向前的指针,从而提升查找效率(如下图所示)。 一开始如a所示,是一个有序的链表,时间复杂度O(n)。随后建立了e所示的SkipList,从最顶层往下查找,可以跳过许多元素,减少查找次数。 ​

weixin_45875458的博客 947

iOS工程如何引用第三方类库

iOS有个对工程进行依赖管理的工具CocoaPods。 注意事项: 1 有可能安装不上cocoapods,是因为官方ruby镜像被墙了。可以换成taobao的ruby镜像。 $ gem sources --remove https://rubygems.org/ $ gem sources -a http://ruby.taobao.org/ 2 pod install安装第三方类库后,

M=54G 1060

雷达原理习题答案【西电】

  目前教材用的是陈老师新版的,但是,我发现课后题有一部分是之前某本书里的。答案如下【建议参看原题→查阅答案】 【原题点这里!!点这里!!】 目录跳转功能目前好像只支持网页版 文章目录% 第一章、第二章% 第三章% 第四章% 第五章% 第六章% 第七章% 第八章 % 第一章、第二章 % 第三章 % 第四章 % 第五章 % 第六章 % 第七章 % 第八章 ...

薛定谔的壳的博客 1万+

iOS CocoaPods第三方库加载本地文件或服务器上的zip文件(二)

iOS CocoaPods第三方库加载服务器上的zip压缩包,解决微信官网SDK长久不更新的问题。

学习小使者 的专栏 1778

告别Nginx原始日志!VictoriaLogs+Grafana构建企业级应用日志分析平台实战

描述:做为一个合格的运维工程师,在面对企业安全运维管理中,日志审计是一项非常重要的工作。授人以鱼不如授人以渔,各位运友们可参照作者的方案设计,在自己的项目中根据实际情况调整落地,例如,不在仅仅采集 NGINX 应用日志,而是采集 Apache、Tomcat、SpringBoot 等多种应用服务器的日志,又如,不再仅仅采集网络设备、安全审计审计日志,而是 Windows、Linux 等多种操作系统的审计日志等,大家可充分发挥想象、实践能力,也欢迎大家在知识星球中分享自己的方案设计,一起交流学习。

全栈工程师修炼指南-IT知识分享 2477

快衰落、慢衰落,平坦衰落、频率选择性衰落

目录一、大尺度衰落和小尺度衰落二、平坦衰落和频率选择性衰落1.反射墙、固定天线模型2.相干带宽和时延扩展三、快衰落和慢衰落1.反射墙、运动天线模型2.相干时间和多普勒扩展四、联系总结 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、大尺度衰落和小尺度衰落 移动无线信道的主要特征是信道强度关于时间和频率的变化,大致分两种: 大尺度衰落: .

weixin_45662974的博客 3万+

iOS中引用第三方类库的方法总结

在我们开发iOS应用时,会经常使用到很多第三方开源类库,比如AFNetworking、FMDB等等 目前,引用第三方类库的方法有4种。比较推荐方法二和方法三,根据不同的第三方类库选择不同的方法。 1.cocoaPods 通过cocoaPods引入第三方类库 cocoaPods是iOS开发中最常用的类库管理工具,引用类库和更新类库都很方便,只需要一行简单的命令即可,统一管理第三方类库,提高开

小言的专栏 5502

STM32实战:如何快速移植野火PID调试助手协议到你的电机控制项目

本文详细解析了如何将野火PID调试助手协议快速移植到STM32电机控制项目中。通过深度剖析协议帧格式、数据解析逻辑及环形缓冲区应用,提供了从工程结构规划、核心函数适配到串口中断集成的完整移植步骤。文章还分享了协议健壮性增强、数据上报频率优化等高级调试技巧,帮助开发者构建稳定可靠的上位机调试通道,大幅提升PID参数整定效率。

weixin_29171129的博客 467

【转载】iOS制作framework技术总结(内部及外部引用第三方库)

外部引用 在制作framework时,如果framework中使用了其他的第三方framework或者静态.a的库。为了防止和集成方的项目工程中使用了同一个第三方库。可以使用外部引用的方式,集成方必须同时导入所需要的第三方库以及我们制作的framework库,最终解决共用同一个第三方库引起的项目冲突问题。 制作步骤: 1.在xcode工程中选择BuildSettings,搜索Mach-O Type,选择Static Library 静态链接的打包形式,如下图(外部引用步骤1): 外部引用1...

Michael Fun的专栏 3156

【DRAM存储器六十一】LPDDR5介绍--LPDDR5/5X/4/4X IO结构

简述LPDDR5/5X/4/4X IO结构及等效电路下的VREF理论值计算

highman110的博客 482

华为OD机试 - 城市聚集度(Python/JS/C/C++ 2025 A卷 200分)

华为OD机试 2025A卷题库疯狂收录中,刷题。

学Java,找哪吒 1131

iOS编程:第三方静态库(.a文件)处理

iOS编程:第三方静态库(.a文件)处理 在引用第三方库时,不时的会碰到诸如库冲突、库包含了某些禁用的API等问题,而这些库往往都被打包成了静态库文件(即 .a文件)来使用。这时就需要我们能够去对Object file进行一些必要的处理调整。如检索信息,移除冲突的库等。以下是一些常用的方法: 一、 查找.a文件中是否包含相关信息,如苹果禁用的unique Identifier。

阿坚的专栏 671

Mstar的Monitor方案OSD 菜单制作(五)——icon绘制

Mstar的Monitor方案(五)————绘制icon

android 系统定制开发那些事 1807

iOS 编程中引用第三方的方类库的方法及常见问题

方法一:直接复制所有源文件到项目中 这种方法就是把第三方类库的所有源文件复制到项目中,直接把所有.h和.m文件拖到XCode项目中即可。 注意: 1. 如果第三方类库引用了一些系统自带类库,那么在项目中还需要额外引用那些类库。 2. 如果当前的项目启用了ARC,而引用的第三方类库未使用ARC,那还需要在项目信息的Targets – Build Parses 里找到第三方类库的.m

2196

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

IOS 编程中引用第三方的方类库的方法及常见问题(转载)

//原文:http://www.th7.cn/Program/IOS/201407/244585.shtml 方法一:直接复制所有源文件到项目中 这种方法就是把第三方类库的所有源文件复制到项目中,直接把所有.h和.m文件拖到XCode项目中即可。 注意: 1. 如果第三方类库引用了一些系统自带类库,那么在项目中还需要额外引用那些类库。 2. 如果当前的项目启用...

144

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

iOS 常用的第三方类库

iOS 有哪些常用的第三方类库?1.AFNetworking 轻量级而又超级高效的iOS网络编程框架,它支持iOS5.0及以上版本。 关于这个框架的使用,大家可以参考: How To Create an App Like Instagram With a Web Service Backend – Part 12.SSToolKit 非常简单有用的工具,除了提供一些UI界面元素外,它还可以帮

Tigre1395的博客 438

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

IOS网络编程——第三方类库

IOS网络编程——第三方类库 目录 概述 ASIHttpRequest AFNetworking 其他 概述 ASIHttpRequest AFNetworking 其他 转载于:https://www.cnblogs.com/IOS-Developer/p/4220586.html...

anyuanpang5060的博客 140

ios开源类库

iOS常用第三方类库http://www.cocoachina.com/applenews/devnews/2013/0106/5478.html?135936133810个有用的第三方iOS开源库http://www.cocoachina.com/applenews/devnews/2013/0114/5537.html?135936131910大iOS开发者最喜爱的类库ht...

aizhentang4540的博客 193

ios 下引用第三方类库报错

在最近刚接触的ios的一个项目中用到了腾讯的登录sdk,从git下下来之后编译报错,找不到文件,文件明明已经加入到项目中,为何找不到,由于刚接触ios开发,所有不知道什么原因,经过Google才知道 buildsettings里可以设置寻找类库的路径 在此记录一下,备忘! 转载于:https://www.cnblogs.com/dlz1123/p/3519862.html...

weixin_30325071的博客 174

Socket编程——第三方类库 AsyncSocket

在这里,是调用第三方的一个开源类库来实现Socket编程。网址为:http://code.google.com/p/cocoaasyncsocket/。 一,导入ASyncSocket库 将下载下来的文件中,Source文件夹里面的AsyncSocket.h、AsyncSocket.m、AsyncUdpSocket.h和AsyncUdpSocket.m四个文件复制到你的工程里面。然后工程中加入一

小菜菜的博客 1331

iOS开发常用的第三方类库

收藏,学习iOS开发常用的第三方类库 http://www.cnblogs.com/lwme/p/ios-third-party-libraries.html  http://www.cocoachina.com/applenews/devnews/2013/1024/7234.html

lqm0628的博客 329

iOS开发常用第三方类库

转:https://github.com/iOShuyang/Book-Recommend-Github Objective-C Swift Objective-C 框架搭建 Swift 基础框架 Objective-C 网络请求 Swift 网络请求及数据解析 Objective-C 数据解析 Swift 扩展框...

tianyitianyi1的专栏 1724
上一篇: [问题]duplicate symbols for architecture armv7
下一篇: iPhone、iPad、iPadMini界面设计标准
skyming
博客等级 码龄15年 249粉丝 175原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值