如何在生成的.ipa存档中编辑Root.Plist?

时间:2012-05-08 13:05:49

标签: iphone objective-c xcode code-signing

案例如下,我已经开发了一个iphone应用程序,并且想要在没有为客户提供源代码的情况下对其进行品牌化(他们自己拒绝向我提供开发者帐户的凭据),所以我在想,是他们以任何方式给他们.ipa文件并让他们更改几个图像和Setting.bundle,重新编码并将其提交给自己?

1 个答案:

答案 0 :(得分:4)

它解决了如下,

  1. 将“.ipa”文件重命名为.zip并将其解压缩
  2. 转到Payload / {您的应用} .app,右键单击它并显示包内容如果您运行的是MacOSX,Windows会将其视为文件夹
  3. 从图像和Settings.bundle等改变你想要的东西......等等。
  4. 通过shell重新签名代码,如附件.sh文件中所示

    #!/bin/sh 
    
    #Given that the application name is MyApplication.ipa
    export ARCHIVE_NAME="MyApplication"
    #As indicated in the keychain certifcate common name
    export CERTFICATE_NAME="MyCertificate"
    rm -rf ./Payload
    echo "$ARCHIVE_NAME"".ipa" "$ARCHIVE_NAME"".backup"
    unzip "$ARCHIVE_NAME"".ipa"
    codesign -f -s "$CERTFICATE_NAME"  ./Payload/"The package name in the Payload folder with the extension"
    zip -r ./"$ARCHIVE_NAME"".zip" ./Payload
    cp "$ARCHIVE_NAME"".ipa" "$ARCHIVE_NAME"".backup"
    mv "$ARCHIVE_NAME"".zip" "$ARCHIVE_NAME"".ipa"
    rm -rf ./Payload
    echo "Finished Code Sign successfully"
    
  5. 棘手的部分是,如何再次将存档上传到商店? 苹果通过itunes-connect帐户提供的工具应该用于独立于Xcode上传该存档。 它可以发现如下itunes-connect - >登录 - >管理您的应用程序,第二个左下方选项卡是针对应用程序加载器“以智能方式隐藏,Apple是Apple :)”