Xcode 9.2中Embed Asset Packs选项消失,如何本地调试ODR服务?
关于Xcode 9.2中ODR本地测试方式的调整
嘿,这个问题我之前调试ODR的时候也踩过坑!确实,苹果在Xcode 9及后续版本里移除了你说的那个"Enabling Embed Asset packs"可视化选项,但并不是取消了本地调试ODR的能力,只是换了实现方式,下面给你两种可行的方案:
方案一:添加用户定义的Build Setting
这是最接近原来操作逻辑的方法,相当于手动把旧选项加回来:
- 打开你的项目文件,切换到Build Settings标签页
- 点击右上角的"+"按钮,选择「Add User-Defined Setting」
- 设置键名为
EMBED_ASSET_PACKS_IN_PRODUCT_BUNDLE,值设为YES - 保存后重新编译,Asset Packs就会自动嵌入产品包,和旧版Xcode的效果完全一致
调试完成后记得把这个值改回NO,不然正式打包时Asset Packs会被强制嵌入,破坏ODR的按需加载逻辑。
方案二:使用命令行编译
如果只是临时调试,用xcodebuild命令带参数更方便:
xcodebuild -workspace YourProject.xcworkspace -scheme YourScheme -configuration Debug embedAssetPacksInProductBundle YES
这个命令会直接在编译时启用Asset Packs嵌入,不用修改项目配置,适合快速验证ODR逻辑的场景。
简单来说,苹果只是把这个选项从可视化界面移到了底层配置里,两种方法都能实现你要的本地调试ODR的需求~
内容的提问来源于stack exchange,提问作者YoungBreath
相关产品推荐
相关产品推荐

