Shell腳本應用重簽名

一、前言

上篇手動非腳本應用重簽名 介紹了一步一步對第三方應用進行重簽名掠抬,我們會覺得每次都這樣手動操作的話太浪費時間骄崩,能不能讓Xcode自動幫我們完成這些騷操作呢?當然可以醒颖,Xcode提供了在工程編譯期間Run Script的功能妻怎,讓我們可以在編譯期間執(zhí)行我們的腳本。

二泞歉、Shell腳本

Shell腳本(英語:Shell script)逼侦,又稱Shell命令稿程序化腳本腰耙,是一種計算機程序使用的文本文件榛丢,內(nèi)容由一連串的shell命令組成,經(jīng)由Unix Shell直譯其內(nèi)容后運作挺庞。被當成是一種腳本語言來設計晰赞,其運作方式與解釋型語言相當,由Unix shell扮演命令行解釋器的角色选侨,在讀取shell腳本之后掖鱼,依序運行其中的shell命令,之后輸出結果援制。利用shell腳本可以進行系統(tǒng)管理戏挡,文件操作等。

三晨仑、配置重簽名的Shell腳本

  • 新建工程褐墅,在Build Phases下添加Run Script

    Xcode配置執(zhí)行的腳本

    在當前工程下的目錄創(chuàng)建AppResign.sh腳本文件(命名隨意),在Run Script窗口下填寫${SRCROOT}/AppResign.sh,意思就是讓Xcode在編譯期間運行我們自定義的腳本。

  • 編寫Shell腳本
    腳本第一條語句的TargetApp是當前工程下需要我們新建的文件夾洪己,放置我們已經(jīng)脫殼了的ipa包妥凳,這是一個比較簡陋的腳本,還有待學習增強答捕,日后學習Shell腳本語言再回頭研究逝钥。

#當前項目目錄下的TargetApp文件夾,里面放ipa包
ASSETS_PATH="${SRCROOT}/TargetApp"

#臨時目錄
TEMP_PATH="${SRCROOT}/Temp"

#目標ipa包路徑
TARGET_IPA_PATH="${ASSETS_PATH}/*.ipa"

#每次運行前都清空Temp文件夾
rm -rf "${SRCROOT}/Temp"
mkdir -p "${SRCROOT}/Temp"

#-----------------------------------------#
#解壓縮ipa
unzip -oqq "${TARGET_IPA_PATH}" -d "${TEMP_PATH}"

#獲取解壓后的app路徑
TEMP_APP_PATH=$(set -- "${TEMP_PATH}/Payload/"*.app;echo "$1")

#獲取當前工程編譯app的路徑
TARGET_APP_PATH="${BUILT_PRODUCTS_DIR}/${TARGET_NAME}.app"

#清空一下工程生成的App包
rm -rf "${TARGET_APP_PATH}"
mkdir -p "${TARGET_APP_PATH}"

#-----------------------------------------#

#將三方應用app拷貝到當前工程編譯app的路徑
cp -rf "${TEMP_APP_PATH}/" "${TARGET_APP_PATH}"

#刪除一些免費開發(fā)者賬戶簽名不了的內(nèi)容
rm -rf "$TARGET_APP_PATH/PlugIns"
rm -rf "$TARGET_APP_PATH/Watch"

#修改三方應用的Info.plist文件
/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier $PRODUCT_BUNDLE_IDENTIFIER" "$TARGET_APP_PATH/Info.plist"

# 拿到MachO文件的路徑
APP_BINARY=`plutil -convert xml1 -o - $TARGET_APP_PATH/Info.plist|grep -A1 Exec|tail -n1|cut -f2 -d\>|cut -f1 -d\<`
#上可執(zhí)行權限
chmod +x "$TARGET_APP_PATH/$APP_BINARY"

#重簽Frameworks
TARGET_FRAMEWORKS_PATH="${TARGET_APP_PATH}/Frameworks"
if [ -d "${TARGET_FRAMEWORKS_PATH}"]; 
    then
for FRAMEWORK in "${TARGET_FRAMEWORKS_PATH}/"*
do
    /usr/bin/codesign --force --sign "$EXPANDED_CODE_SGIN_IDENTITY" "$FRAMEWORK"
done
fi

  • Xcode自動重簽&真機調(diào)試
    將我們脫殼的ipa放到TargetApp文件夾拱镐,接著command + R運行當前工程晌缘,可以看到一系列copy,install操作痢站,最后真機運行了我們準備好的三方應用磷箕,enjoy~


    2.jpg

四、總結

  • 腳本簽名可以很快地幫我們重簽名三方應用阵难,大大節(jié)省時間

  • 雖然腳本簽名十分方便岳枷,但是還是要知道其中的簽名原理

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子空繁,更是在濱河造成了極大的恐慌殿衰,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件盛泡,死亡現(xiàn)場離奇詭異闷祥,居然都是意外死亡,警方通過查閱死者的電腦和手機傲诵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進店門凯砍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人拴竹,你說我怎么就攤上這事悟衩。” “怎么了栓拜?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵座泳,是天一觀的道長。 經(jīng)常有香客問我幕与,道長挑势,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任啦鸣,我火速辦了婚禮潮饱,結果婚禮上,老公的妹妹穿的比我還像新娘赏陵。我一直安慰自己饼齿,他們只是感情好饲漾,可當我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布蝙搔。 她就那樣靜靜地躺著,像睡著了一般考传。 火紅的嫁衣襯著肌膚如雪吃型。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天僚楞,我揣著相機與錄音勤晚,去河邊找鬼。 笑死泉褐,一個胖子當著我的面吹牛赐写,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播膜赃,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼挺邀,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起端铛,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤泣矛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后禾蚕,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體您朽,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年换淆,在試婚紗的時候發(fā)現(xiàn)自己被綠了哗总。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡产舞,死狀恐怖魂奥,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情易猫,我是刑警寧澤耻煤,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站准颓,受9級特大地震影響哈蝇,放射性物質發(fā)生泄漏。R本人自食惡果不足惜攘已,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一炮赦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧样勃,春花似錦吠勘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至辫樱,卻和暖如春峭拘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背狮暑。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工鸡挠, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人搬男。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓拣展,卻偏偏與公主長得像,于是被迫代替她去往敵國和親缔逛。 傳聞我的和親對象是個殘疾皇子备埃,可洞房花燭夜當晚...
    茶點故事閱讀 45,515評論 2 359