ios xcodeはipaパッケージに署名します


xcodeはipaにxcodeプロジェクトの設定Build PhasesにRun Scriptを追加して次のコードを貼り付けます.その後、プロジェクトフォルダの下にAPPディレクトリを作成し、ターゲットipaパッケージをドラッグします.運転して携帯に入れることができます!インストールできない場合は、Edit Schemeをクリックしてdebugモードに変更します.プロジェクト構成コンフィギュレーションもUsedebugに変更されました.

ASSETS_PATH="${SRCROOT}/APP"

TEMP_PATH="${SRCROOT}/temp"

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         
#TARGET_NAME
TARGET_APP_PATH="$BUILT_PRODUCTS_DIR/$TARGET_NAME.app"
#echo "app   :$TARGET_IPA_PATH"

rm -rf "$TARGET_APP_PATH"
mkdir -p "$TARGET_APP_PATH"
cp -rf "$TEMP_APP_PATH/" "$TARGET_APP_PATH"


#-----------------------------
#3.   extension watch
rm -rf "$TARGET_APP_PATH/PlugIns"
rm -rf "$TARGET_APP_PATH/watch"

#-----------------------------
#4.    info.plist

#    "Set : KEY Value" "      "

#/usr/libexec
# CFBundleIdentifier
/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier $PRODUCT_BUNDLE_IDENTIFIER" "$TARGET_APP_PATH/Info.plist"

#-----------------------------
#5.            
#  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.      app     frameworks

TARGET_APP_FRAMEWORKS_PATH="$TARGET_APP_PATH/Frameworks"
if [ -d "$TARGET_APP_FRAMEWORKS_PATH" ] ;
then
#echo "   :$FRAMEWORK";
for FRAMEWORK in "$TARGET_APP_FRAMEWORKS_PATH/"*
do
echo "    :$FRAMEWORK"
if test -f  $FRAMEWORK
    then
    #  
    /usr/bin/codesign --force --sign "$EXPANDED_CODE_SIGN_IDENTITY" "$FRAMEWORK"
        
    fi
done
fi