iOS一个workspace管理多个project,实时调试framework里的代码

2,084 阅读1分钟

前言

早些时候封装与打印机交互的sdk,每次修改完sdk中的代码需要重写编译新的framework,然后导入项目来进行测试。受不了这繁琐的操作,于是就自己捣鼓了一下,顺便记录下捣鼓的过程中遇到的问题。

步骤

1.在桌面创建一个文件夹,用来放后续创建的workspace。命名为space
2.打开Xcode,并创建一个workspace。命名为test
具体操作:File->New->Workspace

截屏2022-05-05 下午5.15.06.png 3.创建framework。命名为AFramework 具体操作:File->New->Project (选framework)

截屏2022-05-05 下午5.18.56.png 4.创建调试app。命名为Demo 具体操作:File->New->Project (选App)

截屏2022-05-05 下午5.24.33.png 5.按照步骤,打开test.workspace 会是这样的界面

截屏2022-05-05 下午5.27.14.png 6.如果需要创建多个framework,重复步骤3即可。

注意点:Xcode13创建的framework没有了products路径了

Demo和SDK联动

1.framework编译出来的静态库默认路径好像是在~/Library/Developer/Xcode/DerivedData 为了方便管理我们可以手动设置AFramework.framework的输出路径,具体步骤:选中AFramework->Targets->bulid setting

407EB7A9-02B7-4F1C-A861-E102ACDC33F3.png 2.点击上面图片红色框3的+弹窗里面选择 add User-defined setting

5E307850-4D4A-4606-9998-B9B041A251E7.png 3.把添加的编辑项目中NEW_SETTING替换成CONFIGURATION_BUILD_DIR。然后设置路径(这个路径是framework的输出路径)

4.选中Demo,把framework添加到Demo里面即可。 注意:添加framework的时候不要直接选,要从add other..那里去我们设置好的输出路径添加framwwork

217A3633-F1A5-40E0-AED8-C9EEB8D6EA21.png

其他问题

1.如果遇到unable install的情况,检查下添加的framework是否设置成了Do Not embed
2.上线需要把framework改成静态库。
3.如果framework中有为系统类添加分类,记得设置成-Objc