合作项目,一方提供宿主App,一方提供动态库。双方囿于合规而不能为对方提供源码,所以双方提供的产物都是二进制产物。
运行时双方融合是没有问题的,但是对开发(尤其是动态库开发方)是不友好的。
当然,这场景要是在其他操作系统是没有什么大问题的。但对于iOS而言,因为苹果的硬性限制,真机环境调试是有些麻烦的。为解决开发阶段的调试需求,本文提供了一种思路并实践可行。
在介绍一键调试前,先大致介绍下如何手动调试。
若要在真机环境调试,需要先将部署到真机的所有可执行文件进行签名,这包括App主程序和动态framework
运行命令,获取可用的证书列表
security find-identity -v -p codesigning
结果一般是十六进制字符串和证书名字,例如
1) 十六进制串 "Apple Development: xxxxx(yyyyyyy)"
1 valid identities found
codesign -f -s 证书标识(十六进制串) xxxx.framework
本文使用fastlane工具
# 安装fastlane
sudo gem install fastlane
安装成功后,执行重签名
fastlane sigh resign
#然后安装提示输入ipa包文件路径、证书文件路径
#期间也可填写证书的十六进制串
特别注意:重签名证书必需使用开发证书。
重签名成功后,获得同名的ipa包,使用Xcode提供的Devices and Simulators