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>
4

4 に答える 4

35

これを試して:

/usr/libexec/PlistBuddy -c "Set :items:0:metadata:bundle-identifier newidentifier" your.plist
于 2011-08-12T20:52:01.717 に答える
5

sed行形式が一貫している場合は、次のようにすることができます。

sed -n '/bundle-identifier/{p;n;s/>.*</>new value</;};p' your.plist

あなたの例では、これは次のように変わりcom.ativsoftware.Eventworld2011ますnew value

-iその場で編集するために追加します。

于 2011-08-12T18:57:09.817 に答える
4

@ user478681の答えは、ipaファイルを解凍して圧縮する手順が欠落しているため、うまくいきませんでした。

これらの手順が記載されているサイトを見つけました。

要するに:

unzip app.ipa
/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier newidentifier" Payload/MyApp.app/Info.plist
zip -qr ResignedApp.ipa Payload

アプリを退会する必要がある場合は、前述のサイトの指示に従ってください。

于 2013-12-30T19:00:13.537 に答える
0

更新版:

/usr/libexec/PlistBuddy -c "set :CFBundleIdentifier newidentifier" your.plist
于 2018-10-05T14:16:02.410 に答える