美文网首页iOS技术专题
Xcode实现Framework联调

Xcode实现Framework联调

作者: zhiziZ | 来源:发表于2021-04-02 20:02 被阅读0次

一头雾水的时候,真觉得Framework调试就是个坑;待坑填满的时候,原来啊Framework调试就那几步。

1.关于模拟器和真机

Framework编译(当然Build Configuration要选Debug,一般情况下没有做特殊设置,调试情况下都是Debug)的时候可以选择真机或者模拟器 ,如果编译为iOS Device时,在工程build路径(可以在Build Settings里设置)下的Debug-iphoneOS 目录下,复制出来用就只能用在真机上;相反编译为模拟器时,只能用在模拟器上。

如果想让Framework能在真机和模拟器上通用,可以用lipo 命令来合并真机和模拟器分别生成的Framework包里的与之同名无后缀名的文件,具体命令如下:

lipo -create 真机framework文件路径(sample.framework/sample) 模拟器framework文件路径(sample.framework/sample) -output 合并后文件的输出路径(.../sample)

至于上面路径,可以打开finder直接将文件拖进‘终端’的窗口即可。

执行过后可以得到一个sample的文件,将Framework中的文件替换为当前生成后的sample文件,即可在真机与模拟器下运行。

2.关于Framework的调试

首先将Framework的工程整个复制到你的App工程的文件夹下,之后用add Files的方法引入Framework工程文件,这样现在的App工程就会有两个工程target,一个是Framework,一个是App,可以设置Framework的build路径和app的Framework Search路径相同,或者将生成的Framework拷贝到App的Framework Search路径下;将Framework引入工程中,即可进行工程的联调,对Framework进行调试。

注意事项:

1)如果工程在debug模式下,单步执行时乱跳,就是单步执行的位置定位不准,有可能是Framework有改动,但是联调的却不是最新的,此时可以把Framework和App都clean,重新编译;

2)保证Framework工程文件的Build Settings中Gernerate Debug Symbols 的选项为YES ,这样才能保证 framework是可以调试的;

3)调试时,App与Framework的Edit Scheme 中的Build Configuration(debug 和 release选项) 要一致;

4)调试时,如果想从模拟器换成真机要重新导入相应的Framework,clean工程,并重新编译;如果Framework build路径和App的Framework Search路径一致,就只需clean,再重新编译。

相关文章

网友评论

    本文标题:Xcode实现Framework联调

    本文链接:https://www.haomeiwen.com/subject/qvxtvttx.html