You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用sed精准替换Xcode项目中InAppPurchase对象内的enabled值?

精准修改Xcode项目中In-App Purchase的启用状态

你说得对,直接全局替换enabled = 0确实容易误改其他配置,毕竟Xcode的.pbxproj文件里可能有不少类似的键值对。要精准定位到com.apple.InAppPurchase这个能力块里的配置,我们可以利用sed的地址范围匹配功能,只在目标块内执行替换:

sed -i '' '/com.apple.InAppPurchase = {/,/};/ s/enabled = 0/enabled = 1/' myapp.pbxproj

我来拆解下这个命令的作用:

  • /com.apple.InAppPurchase = {/,/};/:这部分定义了一个处理范围——从包含com.apple.InAppPurchase = {的行开始,一直到包含};的行结束,刚好覆盖整个In-App Purchase的配置块。
  • s/enabled = 0/enabled = 1/:只在上面定义的范围内,把enabled = 0替换成enabled = 1。

这样一来,文件里其他地方的enabled = 0就完全不会被影响啦。另外要注意下,这个命令依赖于你的项目文件里In-App Purchase的配置块确实是以};结尾的(这是Xcode项目文件的标准格式),如果你的文件结构有特殊调整,可能需要微调匹配的结束符,但大多数情况下这个命令都能正常工作。

内容的提问来源于stack exchange,提问作者inhwrbp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:16:30