ios开发怎么做sdk嵌入到pods
一、ios开发怎么做sdk嵌入到pods
1、CocoaPods的基本安装及使用都详细的说明了,但还有一些补充,当需要同时导入多个第三方时候怎么办 ?
这就需要修改Podfile了,就是用vim编辑的那个保存在项目根目录中的文件,修改完了Podfile文件,需要重新执行一次pod install命令。
例如:
platform :ios
pod ‘JSONKit’, ‘> 1.4’
pod ‘AFNetworking’, ‘> 2.0’
2、CocoaPods可以查找你想要的第三方库
终端输入命令:pod search UI
疯了了,我怎么查找这么大众的关键字,好多库~~
然后重新编辑Podfile文件,按照之前的步骤,把更多的库都导入项目!

二、iOS SDK框架开发中的那些坑
????最近业务需求需要开发一个SDK集成到友方App中,于是就有了本文中的这些经验(掉坑->爬坑->掉下一个坑)。 ????这个其实不涉及技术问题,们的SDK属于一个比较完整的业务模块,所以依赖的第就用到了高德地图,(开始我们就用的通用版本,结果友方用的了能够集成成功,后期不得不更改高德地图版本),所以建议如果是这种明确合作还是需要提前沟通好。 ?槽一下,高德地图整出一大堆乱七八糟的框架目的是个啥呢,又不能互哪个合适。 ????原生App开发,资源文件最多的无非是图片,在平时项目开发中一般会放到asset文件夹中,但是在SDK中,需要创建.bundle文件(建议与项目同名)对资源文件进行管理。 ????该方法在项目中使用举例: ?拟器.framework中与生成真机.framework时,都存在arm64架构,网上提供rm64的方式始终无法解决该问题。此时需要配置如图选项,大概意思是在模拟器生成的.framework的框架不再添加arm64,后期将模拟器库与真机库合并,各个架构模式就都存在了。模拟器包与真机包合并命令行 制作远程私有库的教程有很多,此处就不展开来仔细说明了。 iOS开发: 配置CocoaPods远程私有仓库 重点说一amework框架,如何去配置设置自己的非开源SDK 设置项目SDK相关的资源文件夹(bundle) 当自己开发的SDK中包含类目文件时,编译就会有提示找不到,此时需要在设置页other_laflags添加’-objc’,但是在SDK中无法设置,只能写在spec文件。 verbose –use-librar Ld …/Build/Interoindex/.build/Release-iphonesimulator/.build/Objects-normal/arm64/Binm64 解决方案: ????经历了整个SDK的完整开发流程,一步步排除问果。在此感谢一起解决问题的同事–卞老板。
三、iOS开发怎么加入私有框架API
一.基本知识 iPhone中的API除了公开的 API:Published API外(或者叫文档中记录的API:Documented API),还有两类API:私有API:Private API和未公开的API:UnPublished API(或者叫文档中未记录的API:Undocumented API)。其中私有API是指放在PrivateFrameworks框架中的API,未公开的API是指虽然放在Frameworks框架中,但是却没有在苹果的官方文档中有使用说明、代码介绍等记录的API。后两种API是有区别的,按苹果的说法,未公开的API是还不够成熟,可能还会变动的API,等完全成型了后会变成公开的API,但是目前不对其提供承诺,就是系统版本升级后可能会失效。而私有API是苹果明确不能使用的API。虽然两者有所区别,但是在具体使用方法上是类似的。 二.具体介绍 1.导出生成私有API的头文件声明 使用私有或未公开的API,首先需要导出其对应的头文件,在头文件里有相关函数的声明。 工具: class-dump class-dump可以从编译后的Objective-C的二进制文件中提取对应的数据结构及函数等声明。 使用方法: 为了能在任意目录下使用class-dump命令,首先建议把class-dump文件拷贝到/user/local/bin/目录下,然后就可以在任意目录下执行以下命令: class-dump /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/System/Library/Frameworks/UIKit.framework/ >UIKit.h 以上命令就可以把 iPhoneSimulator3.0.Sdk中Frameworks框架里的UIKit.Framework框架的数据结构及函数声明等给提取出来,并且放在UIKit.h这个文件中,之后你就可以在这个头文件中找你需要API的声明及其使用方式。以同样的方法,就可以挨个导出你需要那个框架中的API 声明。 也可以用ericasadun写的DumpFrameworks.pl(文件中有部分注释说明)这个文件把私有框架下的API头文件全部提取出来。使用方法也是首先把class-dump文件拷贝到/user/local/bin/目录下,然后在任意一个目录下执行./DumpFrameworks.pl,然后就会在你的家目录下产生一个Headers文件夹,里面罗列了私有框架下的API头文件。 2.使用私有API 导出了私有API的头文件声明后,使用方法就比较简单了,首先在你的工程中包含进头文件,然后导入对应的框架,之后就可以类似提供了静态库的方式在我们的代码中使用这些私有API函数。 三.附加说明 iPhone编程中一些非常精致好玩的API都包含在私有API或未公开的API中,虽然我们可以以这种方式使用这些非常好的API,但是这样做是存在一定风险的,首先为公开的API有变更的可能,这样在每个固件版本中,你的代码都有可能中断。同时,最大的问题是使用了私有API的程序是不能放在App Store上销售的。因此如果我们只是为了好玩体验iPhone中这些精彩的API,那没关系。如果是为了做出程序放在App Store上销售的,那就不要动私有API的主意了。