微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – Apple Watch预构建操作来更改故事板customModule引用

我目前有一个项目,同一个应用程序的3个不同版本(不同的品牌等),这是正常工作.此后,我已经添加了3个新的Apple Watch目标(每个应用程序“版本”1个)),其中2个引用“主”Apple Watch目标中的文件.

只要我记得更改每个故事板视图的模块参考,一切都可以正常工作,以便映射到相应的watchkit扩展目标中的正确的接口控制器.

但是,记住每次需要运行/构建应用程序版本/目标时都需要切换,这是一个痛苦而不是一个长期的解决方案.

我创建了以下命令,我想在正确的时间运行,以便它在编译之前更改storyboard引用.

perl -pi.bak -e 's/customModule=\"(.*?)\">/customModule=\"watchMyTarget_Extension\">/g' ${SRCROOT}/watch/Base.lproj/Interface.storyboard

我还得出结论,我可能想在应用程序编译后重置更改,因为我不想对git进行文件更改.这就是上述脚本创建一个.bak文件的原因.所以编译完成并打包/运行在设备上或任何,我想运行

mv ${SRCROOT}/watch/Base.lproj/Interface.storyboard.bak ${SRCROOT}/watch/Base.lproj/Interface.storyboard

我已经尝试将脚本放在目标(watchTarget,而不是appTarget)构建方案中,Build-> Pre / Post Actions似乎没有任何效果.而且我试着把它放在Run-> Pre / Post Actions中,在某种程度上起作用,但是似乎在将应用程序推送到模拟器之前,后面的动作被踢了,从而使应用程序崩溃(“无法运行看到设备日志“ 或类似的东西).

那么在地球上我需要把这些脚本放在正确的时间运行在构建过程中呢?

解决方法

您应该在目标的构建阶段中使用添加新的运行脚本阶段,将其放在编译源之前

步骤:(从Apple)

>在项目编辑器中,选择要添加到的目标运行脚本构建阶段.>单击项目编辑器顶部的构建阶段.>选择编辑器>添加构建阶段>添加运行脚本构建阶段.>在项目编辑器中打开运行脚本部分.>在“运行脚本”模板中配置脚本.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐