iOS SDK框架开发中的那些坑
其实这个不涉及技术问题,但是需要谨慎,因为我们的SDK属于比较完整的业务模块,所以依赖的第三方库相当多,其中就使用了高德地图。(一开始我们用的是普通版本,结果朋友用的是另一个版本。因此,为了成功整合,我们后来不得不更改了高德地图的版本。)所以建议如果这个框架是有明确合作伙伴的SDK,要提前沟通好。
PS:忍不住吐槽。高德地图中很多乱七八糟的框架的目的是什么?两者互不兼容,开发者还不知道选哪个。
在native App开发中,最多的资源文件无非就是图片,通常在正常的项目开发中会放在asset文件夹中,但是在SDK中,需要创建一个. bundle文件(建议与项目同名)来管理资源文件。
项目中使用的这种方法的例子:
简单来说,无论是模拟器。框架和真机。框架存在arm64架构,通过互联网上提供的后期命令行删除arm64的方式永远无法解决这个问题。此时,您需要配置如图所示的选项,这可能意味着不再将arm64添加到的框架中。模拟器生成的框架,后期模拟器库与真实库合并,所有架构模式都存在。
用于将模拟器包与真实机器包合并的命令行
制作远程私库的教程很多,这里就不细说了。IOS开发:配置CocoaPods远程私有仓库重点是如何配置非开源的spec。框架框架。
建立自己的非开源SDK
设置与项目SDK相关的资源包。
当我们自己开发的SDK包含类别文件时,编译器会提示找不到。此时需要在设置页面other_laflags中添加'-objc ',但不能在SDK中设置,只能写入spec文件中。
调用pod liblint-verbose-use-libraries时,报告了以下错误:
致死剂量.../Build/intermediates . no index/App . Build/Release-iphone simulator/App . Build/Objects-normal/arm 64/Binary/App normal arm 64
解决方案:
经历了整个SDK完整的开发过程,一步一步的排除问题,最终取得了最终的结果。感谢一起解决问题的同事——边老板。