最近开发SDK, 总结下开发中遇到的问题; 希望对踩坑的朋友有点帮助,也给自己一个教训,不再跳进去;
正常的开发SDK流程网上很多,就不再多赘述了:
http://blog.sina.com.cn/s/blog_14679a7d20102x51w.html 或
https://www.jianshu.com/p/c131baae4307
这篇文章只是记录一些开发过程中本人遇到的小问题
在正常的流程打包生成的 .framework之后, 本人没有使用脚本合并代码, 而是打开终端手动运行合并
lipo -create 真机.framework 模拟器.framework -output 合并.framework
在运行合并代码过程中出现合并失败; 报的原因是
lipo 报错 error:can’t map input file: xxxFramework.framework/ (Invalid argument)
其实是自己运行终端合并命令出错了, 应该是:
lipo -info xxxFramework.framework/xxxFramework
合并的应该是.framework文件下的xxxFramework
正确的应该是:
lipo -create 真机.framework/xxxFramework 模拟器.framework/xxxFramework -output 合并.framework
我是想着, 毕竟打出的包是要运行到真机上的, 所以就没合并,但是在导入到demo中的时候,会报错, 找不到你导入的SDK的路径,你需要如图才能找到你的SDK;
这样就能运行程序了, 但是在你接入项目之后要上传App Store时,会报上传失败,这是一个严重的隐患; 导致你的项目无法打包上架;苹果上架审核是要先经过机器审核的,上传的时候检测出你的项目少了一个什么什么架构 9*** 的错误;
所以,奉劝各位朋友,不要投机取巧, 一定要把真机和模拟器的SDK给合并了再接入项目工程中;
在合并SDK之后, 当你拖入 SDK时,主项目中就能自动识别你的SDK了;
XCode 9.2之前的版本导入 xxx.bundle 时, 是需要再做一步导入工作的, 但是在XCode 9.2之后就不用了, 如图:
希望对大家有帮助 jesse