master 90123d1f457f cached
4 files
7.8 KB
2.3k tokens
1 requests
Download .txt
Repository: chenhengjie123/iOS_resign_scripts
Branch: master
Commit: 90123d1f457f
Files: 4
Total size: 7.8 KB

Directory structure:
gitextract_o5zst6cb/

├── README.md
├── ios_resign_from_app_to_ipa
├── ios_resign_with_app
└── ios_resign_with_ipa

================================================
FILE CONTENTS
================================================

================================================
FILE: README.md
================================================
# iOS_resign_scripts
Scripts for resign iOS App (With Framework and dylib included). Only works on Mac OS X

## Requirement

Xcode command line tool

## Usage

* ios_resign_from_app_to_ipa

Assume folder app-extracted is the folder that created by running `unzip app.ipa -d app-extracted`
```
$ ls app-extracted
META-INF             Payload              iTunesArtwork        iTunesMetadata.plist
```

Then it should be use like below:
```
$ ios_resign_from_app_to_ipa app-extracted $Developer_code_sign $mobileprovision $target_ipa_related_path
```

example:
```
$ ios_resign_from_app_to_ipa app-extracted "iPhone Developer: hengjie chen (XXXXXXXX)" embedded.mobileprovision Testerhome-resigned.ipa
```

* ios_resign_with_app

Usage:
```
$ ios_resign_with_app $source_app_file $Developer_code_sign $mobileprovision $target_app_related_path
```

Example:
```
$ ios_resign_with_app Testerhome.app "iPhone Developer: hengjie chen (XXXXXXXX)" embedded.mobileprovision Testerhome-resigned.app
```

* ios_resign_with_ipa

Usage:
```
$ ios_resign_with_ipa $source_ipa_file $Developer_code_sign $mobileprovision $target_app_related_path
```

Example:
```
$ ios_resign_with_ipa Testerhome.ipa "iPhone Developer: hengjie chen (XXXXXXXX)" embedded.mobileprovision Testerhome-resigned.ipa
```

# Thanks

Thanks http://www.xgiovio.com/blog-photos-videos-other/blog/resign-your-ios-ipa-frameworks-and-plugins-included/ . I created these scripts beyond it.


================================================
FILE: ios_resign_from_app_to_ipa
================================================
# !/bin/bash
# from http://www.xgiovio.com/blog-photos-videos-other/blog/resign-your-ios-ipa-frameworks-and-plugins-included/

SOURCEAPPFOLDER="$1"
DEVELOPER="$2"
MOBILEPROV="$3"
TARGET="$4" # target ipa name(relative path)
# ENTITLEMENTS="$5"

# unzip -qo "$SOURCEAPPFOLDER" -d extracted

# APPLICATION=$(ls extracted/Payload/)

cp -r "$SOURCEAPPFOLDER" extracted

APPLICATION=$(ls extracted/Payload/)

cp "$MOBILEPROV" "extracted/Payload/$APPLICATION/embedded.mobileprovision"

echo "Resigning with certificate: $DEVELOPER" >&2
find -d extracted  \( -name "*.app" -o -name "*.appex" -o -name "*.framework" -o -name "*.dylib" \) > directories.txt
security cms -D -i "extracted/Payload/$APPLICATION/embedded.mobileprovision" > t_entitlements_full.plist
/usr/libexec/PlistBuddy -x -c 'Print:Entitlements' t_entitlements_full.plist > t_entitlements.plist
#/usr/libexec/PlistBuddy -c 'Print:application-identifier' t_entitlements.plist > t_entitlements_application-identifier   #save developer application-identifier to file
#/usr/libexec/PlistBuddy -c 'Print:com.apple.developer.team-identifier' t_entitlements.plist > t_entitlements_com.apple.developer.team-identifier  #save com.apple.developer.team-identifier application-identifier to file
while IFS='' read -r line || [[ -n "$line" ]]; do
    #/usr/bin/codesign -d --entitlements :-  "$line" > t_entitlements_original.plist    #save original entitlements from the app
    #/usr/libexec/PlistBuddy -x -c 'Import application-identifier t_entitlements_application-identifier' t_entitlements_original.plist #overwrite application-identifier
    #/usr/libexec/PlistBuddy -x -c 'Import com.apple.developer.team-identifier t_entitlements_com.apple.developer.team-identifier' t_entitlements_original.plist #overwrite com.apple.developer.team-identifier
    /usr/bin/codesign --continue -f -s "$DEVELOPER" --entitlements "t_entitlements.plist"  "$line"
done < directories.txt

echo "Creating the Signed IPA"
xcrun -sdk iphoneos PackageApplication -v extracted/Payload/$APPLICATION  -o `pwd`/"$TARGET"
echo "Created ipa $TARGET"

rm -rf "extracted"
rm directories.txt
rm t_entitlements.plist
rm t_entitlements_full.plist
#rm t_entitlements_original.plist
#rm t_entitlements_application-identifier
#rm t_entitlements_com.apple.developer.team-identifier


================================================
FILE: ios_resign_with_app
================================================
# !/bin/bash
# from http://www.xgiovio.com/blog-photos-videos-other/blog/resign-your-ios-ipa-frameworks-and-plugins-included/

SOURCEAPP="$1"
DEVELOPER="$2"
MOBILEPROV="$3"
TARGET="$4" # target app name
# ENTITLEMENTS="$5"

# unzip -qo "$SOURCEAPP" -d extracted

# APPLICATION=$(ls extracted/Payload/)

cp -r "$SOURCEAPP" "tmp.app"

APPLICATION="tmp.app"

cp "$MOBILEPROV" "$APPLICATION/embedded.mobileprovision"

echo "Resigning with certificate: $DEVELOPER" >&2
find -d $APPLICATION  \( -name "*.app" -o -name "*.appex" -o -name "*.framework" -o -name "*.dylib" \) > directories.txt
security cms -D -i "$APPLICATION/embedded.mobileprovision" > t_entitlements_full.plist
/usr/libexec/PlistBuddy -x -c 'Print:Entitlements' t_entitlements_full.plist > t_entitlements.plist
#/usr/libexec/PlistBuddy -c 'Print:application-identifier' t_entitlements.plist > t_entitlements_application-identifier   #save developer application-identifier to file
#/usr/libexec/PlistBuddy -c 'Print:com.apple.developer.team-identifier' t_entitlements.plist > t_entitlements_com.apple.developer.team-identifier  #save com.apple.developer.team-identifier application-identifier to file
while IFS='' read -r line || [[ -n "$line" ]]; do
    #/usr/bin/codesign -d --entitlements :-  "$line" > t_entitlements_original.plist    #save original entitlements from the app
    #/usr/libexec/PlistBuddy -x -c 'Import application-identifier t_entitlements_application-identifier' t_entitlements_original.plist #overwrite application-identifier
    #/usr/libexec/PlistBuddy -x -c 'Import com.apple.developer.team-identifier t_entitlements_com.apple.developer.team-identifier' t_entitlements_original.plist #overwrite com.apple.developer.team-identifier
    /usr/bin/codesign --continue -f -s "$DEVELOPER" --entitlements "t_entitlements.plist"  "$line"
done < directories.txt

echo "Creating the Signed APP"
mv tmp.app "$TARGET"
echo "Created app: $TARGET"

# rm -rf "extracted"
rm directories.txt
rm t_entitlements.plist
rm t_entitlements_full.plist
#rm t_entitlements_original.plist
#rm t_entitlements_application-identifier
#rm t_entitlements_com.apple.developer.team-identifier


================================================
FILE: ios_resign_with_ipa
================================================
# !/bin/bash
# from http://www.xgiovio.com/blog-photos-videos-other/blog/resign-your-ios-ipa-frameworks-and-plugins-included/

SOURCEIPA="$1"
DEVELOPER="$2"
MOBILEPROV="$3"
TARGET="$4"
 
unzip -qo "$SOURCEIPA" -d extracted
 
APPLICATION=$(ls extracted/Payload/)
 
cp "$MOBILEPROV" "extracted/Payload/$APPLICATION/embedded.mobileprovision"
 
echo "Resigning with certificate: $DEVELOPER" >&2
find -d extracted  \( -name "*.app" -o -name "*.appex" -o -name "*.framework" -o -name "*.dylib" \) > directories.txt
security cms -D -i "extracted/Payload/$APPLICATION/embedded.mobileprovision" > t_entitlements_full.plist
/usr/libexec/PlistBuddy -x -c 'Print:Entitlements' t_entitlements_full.plist > t_entitlements.plist
#/usr/libexec/PlistBuddy -c 'Print:application-identifier' t_entitlements.plist > t_entitlements_application-identifier   #save developer application-identifier to file
#/usr/libexec/PlistBuddy -c 'Print:com.apple.developer.team-identifier' t_entitlements.plist > t_entitlements_com.apple.developer.team-identifier  #save com.apple.developer.team-identifier application-identifier to file
while IFS='' read -r line || [[ -n "$line" ]]; do
    #/usr/bin/codesign -d --entitlements :-  "$line" > t_entitlements_original.plist    #save original entitlements from the app
    #/usr/libexec/PlistBuddy -x -c 'Import application-identifier t_entitlements_application-identifier' t_entitlements_original.plist #overwrite application-identifier
    #/usr/libexec/PlistBuddy -x -c 'Import com.apple.developer.team-identifier t_entitlements_com.apple.developer.team-identifier' t_entitlements_original.plist #overwrite com.apple.developer.team-identifier
    /usr/bin/codesign --continue -f -s "$DEVELOPER" --entitlements "t_entitlements.plist"  "$line"
done < directories.txt
 
echo "Creating the Signed IPA"
cd extracted
zip -qry ../extracted.ipa *
cd ..
mv extracted.ipa "$TARGET"
 
rm -rf "extracted"
rm directories.txt
rm t_entitlements.plist
rm t_entitlements_full.plist
#rm t_entitlements_original.plist
#rm t_entitlements_application-identifier
#rm t_entitlements_com.apple.developer.team-identifier

Download .txt
gitextract_o5zst6cb/

├── README.md
├── ios_resign_from_app_to_ipa
├── ios_resign_with_app
└── ios_resign_with_ipa
Condensed preview — 4 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (9K chars).
[
  {
    "path": "README.md",
    "chars": 1442,
    "preview": "# iOS_resign_scripts\nScripts for resign iOS App (With Framework and dylib included). Only works on Mac OS X\n\n## Requirem"
  },
  {
    "path": "ios_resign_from_app_to_ipa",
    "chars": 2295,
    "preview": "# !/bin/bash\n# from http://www.xgiovio.com/blog-photos-videos-other/blog/resign-your-ios-ipa-frameworks-and-plugins-incl"
  },
  {
    "path": "ios_resign_with_app",
    "chars": 2145,
    "preview": "# !/bin/bash\n# from http://www.xgiovio.com/blog-photos-videos-other/blog/resign-your-ios-ipa-frameworks-and-plugins-incl"
  },
  {
    "path": "ios_resign_with_ipa",
    "chars": 2113,
    "preview": "# !/bin/bash\n# from http://www.xgiovio.com/blog-photos-videos-other/blog/resign-your-ios-ipa-frameworks-and-plugins-incl"
  }
]

About this extraction

This page contains the full source code of the chenhengjie123/iOS_resign_scripts GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 4 files (7.8 KB), approximately 2.3k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!