在xcode外部重新启动应用程序

Omp*_*pah 10 iphone xcode entitlements ipad ipa

我有一些应用程序我想用不同的苹果开发者许可证辞职,

问题是,我没有源代码,只有ipa文件,应用程序和archiveinfo.plist,如果我没有源代码,我可以辞职吗?

谢谢!Ompah

Rei*_*kin 23

替换已签名二进制文件上的签名的能力内置于codesign实用程序中.这样,如果您的开发人员证书过期(因为他们经常烦人),您不必重建您的应用程序.

这可能很重要,特别是如果您需要支持旧的应用程序版本,并且自归档IPA后您已经进行了代码更改.

我通常使用这个脚本.在与具有自己的开发者帐户并且我不想为其刻录UDID插槽且不想在其设备上加载我的配置文件的人交易调试版本IPA时,它会派上用场.

#!/bin/sh

TEMPDIR=/tmp/$RANDOM-$RANDOM-$RANDOM
RESOURCERULES=/tmp/ResourceRules-$RANDOM$RANDOM.plist
CURRENTDIR=`pwd`

mkdir -p "$TEMPDIR"

cat - > "$RESOURCERULES" <<ResourceRulesPlistDelimiter
<?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>
ResourceRulesPlistDelimiter

unzip -q "$1" -d "$TEMPDIR" || exit 1
xattr -d -r com.apple.quarantine "$TEMPDIR"

for APPBUNDLE in "`find "$TEMPDIR" -name "*.app"`"; do
    codesign --resource-rules="$RESOURCERULES" -f -s "iPhone Developer" "$APPBUNDLE"
    codesign -dvvvv -r- "$APPBUNDLE"
done

cd "$TEMPDIR"
zip -qr "$TEMPDIR.zip" "Payload" && cd "$CURRENTDIR" && mv "$1" "$1.bak" && mv "$TEMPDIR.zip" "$1"
cd "$CURRENTDIR"
rm -rf "$TEMPDIR.zip"
rm -rf "$TEMPDIR"
rm -rf "$RESOURCERULES"
Run Code Online (Sandbox Code Playgroud)