suchen

Heim  >  Fragen und Antworten  >  Hauptteil

objective-c - ios 的 ipa 包可以二次打包吗

手上只有ipa包,没有源代码,可以修改图标和builder id ,和证书吗。要怎么做?

ringa_leeringa_lee2771 Tage vor610

Antworte allen(2)Ich werde antworten

  • 巴扎黑

    巴扎黑2017-04-18 09:36:08

    想多了...暂时不可能

    Antwort
    0
  • 巴扎黑

    巴扎黑2017-04-18 09:36:08

    只修改资源文件是可以的,替换资源文件后重签名。

    解压ipa得到 Payload/yourapp.app 文件夹,

    1. 进入.app目录把 embedded.mobileprovision 文件替换成你的打包证书文件,注意这个文件的名字不要改。

    2. 如果有 xxx.entitlements.xcent 文件,把里面的内容替换成你的。

    3. 增加、删除、替换你的资源文件,图标 图片等。

    4. 编辑 Info.plist,修改 bundle ID.

    5. 命令行 cd 到 Payload 目录里,然后执行 codesign -fs "iPhone Distribution: your company" yourapp.app

    iPhone Distribution: your company 是打包的证书全名,Keychain 里可以看到,必须是未过期的证书。
    如果是企业证书打包,再加个参数 --resource-rules="ResourceRules.plist"

    ResourceRules.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>rules</key>
        <dict>
            <key>.*</key>
            <true/>
            <key>Info.plist</key>
            <dict>
                <key>omit</key>
                <true/>
                <key>weight</key>
                <real>10</real>
            </dict>
            <key>ResourceRules.plist</key>
            <dict>
                <key>omit</key>
                <true/>
                <key>weight</key>
                <real>100</real>
            </dict>
        </dict>
    </dict>
    </plist>

    Antwort
    0
  • StornierenAntwort