-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
yuxinwen
committed
Jul 4, 2018
0 parents
commit b385eae
Showing
19 changed files
with
1,049 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
|
||
# ${SRCROOT} 它是工程文件所在的目录 | ||
TEMP_PATH="${SRCROOT}/Temp" | ||
#资源文件夹 | ||
ASSETS_PATH="${SRCROOT}/APP" | ||
#ipa包路径 | ||
TARGET_IPA_PATH="${ASSETS_PATH}/*.ipa" | ||
|
||
#新建Temp文件夹 | ||
rm -rf "${SRCROOT}/Temp" | ||
mkdir -p "${SRCROOT}/Temp" | ||
|
||
# 1.解压IPA到Temp下 | ||
unzip -oqq "$TARGET_IPA_PATH" -d "$TEMP_PATH" | ||
# 拿到解压的临时的APP的路径 | ||
TEMP_APP_PATH=$(set -- "$TEMP_PATH/Payload/"*.app;echo "$1") | ||
# echo "路径是:$TEMP_APP_PATH" | ||
|
||
# 2.将解压出来的.app拷贝进入工程下 | ||
# BUILT_PRODUCTS_DIR 工程生成的APP包的路径 | ||
# TARGET_NAME target名称 | ||
TARGET_APP_PATH="$BUILT_PRODUCTS_DIR/$TARGET_NAME.app" | ||
echo "app路径:$TARGET_APP_PATH" | ||
|
||
rm -rf "$TARGET_APP_PATH" | ||
mkdir -p "$TARGET_APP_PATH" | ||
cp -rf "$TEMP_APP_PATH/" "$TARGET_APP_PATH" | ||
|
||
# 3.删除extension和WatchAPP.个人证书没法签名Extention | ||
rm -rf "$TARGET_APP_PATH/PlugIns" | ||
rm -rf "$TARGET_APP_PATH/Watch" | ||
|
||
# 4.更新info.plist文件 CFBundleIdentifier | ||
# 设置:"Set : KEY Value" "目标文件路径" | ||
/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier $PRODUCT_BUNDLE_IDENTIFIER" "$TARGET_APP_PATH/Info.plist" | ||
|
||
# 5.给MachO文件上执行权限 | ||
# 拿到MachO文件的路径 | ||
APP_BINARY=`plutil -convert xml1 -o - $TARGET_APP_PATH/Info.plist|grep -A1 Exec|tail -n1|cut -f2 -d\>|cut -f1 -d\<` | ||
#上可执行权限 | ||
chmod +x "$TARGET_APP_PATH/$APP_BINARY" | ||
|
||
# 6.重签名第三方 FrameWorks | ||
TARGET_APP_FRAMEWORKS_PATH="$TARGET_APP_PATH/Frameworks" | ||
if [ -d "$TARGET_APP_FRAMEWORKS_PATH" ]; | ||
then | ||
for FRAMEWORK in "$TARGET_APP_FRAMEWORKS_PATH/"* | ||
do | ||
|
||
# 签名 | ||
/usr/bin/codesign --force --sign "$EXPANDED_CODE_SIGN_IDENTITY" "$FRAMEWORK" | ||
done | ||
fi | ||
|
||
echo "congratulation success" |
Oops, something went wrong.