在命令行中编辑 ipa plist 文件
Posted
技术标签:
【中文标题】在命令行中编辑 ipa plist 文件【英文标题】:Edit ipa plist file in command line 【发布时间】:2011-08-12 18:37:23 【问题描述】:我想使用命令行更改 plist 文件中的“bundle-identifier”字符串值。使用“默认值”,我该怎么做?
仅供参考,这里是完整的 plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>http://eventpilotadmin.com/doc/clients/ISES/Eventworld2011/proofs/iphone_Eventworld2011_proof.ipa</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>com.ativsoftware.Eventworld2011</string>
<key>bundle-version</key>
<string>1.0</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>Eventworld2011</string>
</dict>
</dict>
</array>
</dict>
</plist>
【问题讨论】:
最好删除此内容并在投票前通过Ask Different
提问。
这更像是编码,我投了赞成票,看来我不是唯一一个:)
【参考方案1】:
试试这个:
/usr/libexec/PlistBuddy -c "Set :items:0:metadata:bundle-identifier newidentifier" your.plist
【讨论】:
命令似乎不起作用,但我了解了 plist buddy,谢谢大家!【参考方案2】:如果行格式一致,您可以使用sed
这样做:
sed -n '/bundle-identifier/p;n;s/>.*</>new value</;;p' your.plist
在您的示例中,这会将 com.ativsoftware.Eventworld2011
更改为 new value
添加-i
以进行就地编辑。
【讨论】:
【参考方案3】:@user478681 的回答对我不起作用,因为缺少解压缩和压缩 ipa 文件的步骤。
我通过这些步骤找到了site。
简而言之:
unzip app.ipa
/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier newidentifier" Payload/MyApp.app/Info.plist
zip -qr ResignedApp.ipa Payload
如果您需要退出应用,请按照上述网站上的说明进行操作。
【讨论】:
【参考方案4】:更新版本:
/usr/libexec/PlistBuddy -c "set :CFBundleIdentifier newidentifier" your.plist
【讨论】:
以上是关于在命令行中编辑 ipa plist 文件的主要内容,如果未能解决你的问题,请参考以下文章