IOS 打包、安装、重签名 .app .ipa

打包与签名方法Xcode 工具可以直接打包,不累赘;

xcrun 命令打包: 1,清理: /usr/bin/xcodebuild -target targetName clean 2,编译: /usr/bin/xcodebuild -target targetName 3,,第三步打包: /usr/bin/xcrun -sdk iphoneos PackageApplication -v path/xxx.app -o ./xxx.ipa 说明: xcodebuild负责将工程源文件编译成xxx.app xcrun负责给xxx.app(签名并)打包成xxx.ipa 关于xcrun,直接打包的参数就是 xcrun -sdk iphoneos PackageApplication -v 源app路径 -o 输出的ipa路径,以上两个命令必需在xxx.xcodeproj所在的目录执行。

下面两个命令都可以为应用签名:

xcodebuild -target targetName CODE_SIGN_IDENTITY=”iPhone Distribution:XXXXXX”xcrun -sdk iphoneos PackageApplication -v 源app路径 -o 输出的ipa路径 –sign “iPhone Distribution:XXXXXX”

证书与描述文件放在build.xcconfig时配置运行: xcodebuild -configuration Debug clean build -xcconfig path/build.xcconfig

OBJROOT =/Users/iosTest/xxx常见error:.app/ResourceRules.plist: cannot read resourcesClick > > and add :$(SDKROOT)/ResourceRules.plist#sh:echo ‘CODE_SIGN_RESOURCE_RULES_PATH=$(SDKROOT)/ResourceRules.plist’ >> ./build.xcconfig安装 .ipa||.app 方法Xcode 、iTunes、助手等工具不累赘ideviceinstaller: $ideviceinstaller -u 076dbbea77c1 -i xx.app/ || XX.ipafruitstrap(appium包支持): fruitstrap install –id userid –bundle “/Users/shop.app”.ipa 重签名方法

引用sh封装的脚本(转载作者:vigossjjj(wuxian))

ORIGINAL_FILE=”$1″CERTIFICATE=”$2″MOBILEPROVISION=”$3″ BUNDLE_ID=”$4″ PASSWD=”$5″function unzip_IPA() { ipa=”$ORIGINAL_FILE” unzip -o “$ipa” } function create_EntitlementsPlist() {/usr/libexec/PlistBuddy -x -c “print :Entitlements ” /dev/stdin <<< $(security cms -D -i ${MOBILEPROVISION}) > entitlements.plist SN_CODE=$(/usr/libexec/PlistBuddy -c “Print :com.apple.developer.team-identifier” entitlements.plist) /usr/libexec/PlistBuddy -c “Set :application-identifier ${SN_CODE}.${BUNDLE_ID}” entitlements.plist } function set_BundleID() { /usr/libexec/PlistBuddy -c “Set :CFBundleIdentifier $BUNDLE_ID” Payload/*.app/Info.plist } function del_OldCodeSign() { rm -r Payload/*.app/_CodeSignature/ } function copy_EmbeddedProvision() { cp $MOBILEPROVISION Payload/*.app/embedded.mobileprovision } function reSign() { codesign ” –entitlements entitlements.plist Payload/*.app/ } function rezip_IPA() { original_IPA=`basename “$ORIGINAL_FILE”` re_IPA=`echo ${original_IPA/.ipa/-resigned.ipa}` zip -qr “$re_IPA” Payload/ } security unlock-keychain -p “$PASSWD” ~/Library/Keychains/login.keychain unzip_IPA create_EntitlementsPlist set_BundleID del_OldCodeSign copy_EmbeddedProvision reSign rezip_IPA

“持续集成”配置参考链接:

人生谁无少年时,甜苦酸辛各自知。

IOS 打包、安装、重签名 .app .ipa

相关文章:

你感兴趣的文章:

标签云: