ios打渠道包

前提:

游戲嵌入SDK,用Adhoc配置文件打出母包.ipa,其中渠道id存儲在SDK的.bundle的plist文件里。開發(fā)人員拿到母包.ipa進(jìn)行修改,批量打渠道包。在進(jìn)行解壓縮.ipa會(huì)破壞之前的簽名,所以需要重新企業(yè)簽名。打開.app會(huì)發(fā)現(xiàn)有這兩個(gè)文件。其中_CodeSignature:ipa包簽名文件,embedded.mobileprovision:證書配置文件,只要替換了這兩個(gè)文件就可以解決ipa重簽名的主要問題。如下圖。

其中還需要用到Entitlements.plist,需要cd到Payload文件下,才可以生成。利用如下shell:

/usr/libexec/PlistBuddy -x -c "print :Entitlements " /dev/stdin <<< $(security cms -D -i production.app/embedded.mobileprovision) > Entitlements.plist

其中Can be debugged(Boolean)為NO。如下圖所示:

對于Can be degugged等同于get-task-allow。

其中關(guān)于這個(gè)屬性簡介是:get-task-allow, when signed into an application, allows

other processes (like the debugger) to attach to your app. Distribution

profiles require that this value be turned off, while development

profiles require this value to be turned on (otherwise

Xcode would never be able to launch and attach to your app).

【翻譯過來是:當(dāng)對應(yīng)用進(jìn)行簽名時(shí),有了這個(gè)屬性就可以運(yùn)行其他的進(jìn)程訪問你的app。發(fā)布文件需要這個(gè)屬性關(guān)掉,此文用到的是AdHoc,用到的就是Distribution profiles,所以需要設(shè)置為NO,如果是開發(fā)文件,這個(gè)屬性需要開啟設(shè)置為yes。如果不這樣設(shè)置的話,Xcode無法啟動(dòng)或者連接到你的應(yīng)用程序】

【參考連接http://www.cnblogs.com/tekkaman/p/3715560.html

failed to get the task for process問題

A: Why am I getting "Error launching remote program:failed to get the task for process" when debugging an iPhone application on the device?

You are getting the "Error launching remote program: failed to get the task for process" error message because you areeither using yourAd HocorDistributionProvisioning profilewhen debugging your iPhone application on your device or you specified a code signing entitlements property list in your build settings which does not include aget-task-allowor "Can be debugged" property.

Debugging when using a Distribution Profile

Distribution profiles don't have aget-task-allowentitlement property, which is needed for debugging iPhone applications. However, this property is available and enabled for Development Provisioning profiles. So, use your Development profile rather than your Distribution profile when debugging your iPhone application on the device.

Missing Entitlement Property

If you specified a code signing entitlements property list in your build settings, make sure that your property list contains theget-task-allowproperty.

準(zhǔn)備資料如下,準(zhǔn)備前4個(gè)。如下圖

1:從企業(yè)賬號里下載AdHoc配置文件;

2:創(chuàng)建的授權(quán)文件;

3:執(zhí)行批量打包的shell文件;

4:母包ipa;

5:OutApps:存放重新簽名渠道包的文件夾。

//--------

打開終端--》cd到當(dāng)前文件夾

sh TjjApp.sh TjjDemo

就可以了。

其中shell文件如下:

【#!/bin/bash

# 輸入的包名

name=$1

#echo 是打印的意思

echo "---ahh---"

echo ${name}

appName="${name}.app"

echo ${appName}

plistBuddy="/usr/libexec/PlistBuddy"

#configName="channel.plist"

configName="Payload/${appName}/JARIDK.bundle/data/JARChannelIDSetting.plist"

configNameNew="Payload"

ipa="${name}.ipa"

# 打好包后輸出的文件夾名字

outUpdateAppDir="OutApps"

# 獲取當(dāng)前目錄,并切換過去

currDir=${PWD}

echo ${currDir}

cd "${currDir}"

echo "-----${currDir}"

# 生成日志目錄

#mkdir log

rm -rf Payload

#解壓縮

unzip -o -q ${ipa} #>> log/unzipUpdateApp.log

#echo `ls Payload`

# 刪除舊的文件,重新生成

rm -rf "${outUpdateAppDir}"

mkdir "${outUpdateAppDir}"

echo "------------------------開始打包程序------------------------"

#echo ""

# 渠道列表文件開始打包

#for line in $(cat TargetChanelList.txt)

#循環(huán)數(shù)組,批量打包時(shí)需要修改的渠道號和渠道Id

#ChannelID=("1174" "1173" "1156" "1155" "1152" "1184" "1151")

echo ${#ChannelID[@]}

for ((i=0;i<${#ChannelID[@]};i++))

do

#echo是輸出命令,可以忽略

echo "........正在打包渠道號:${ChannelID[$i]}"

#??? cd Payload/${appName}

# 設(shè)置Channel.plist

echo "-----1----${PWD}"

#修改

$plistBuddy -c "set :SPREAD_ID ${ChannelID[$i]}" ${configName}

echo "-----2----${PWD}"

rm -rf Payload/${appName}/_CodeSignature

#cp AdHoc配置文件 替換 Payload/${appName}文件下的embedded.mobileprovision

cp AdHocOrgTjj.mobileprovision "Payload/${appName}/embedded.mobileprovision"

#?? ipa包簽名: codesign -f -s "iPhone Distribution: Distribution證書名字,打開鑰匙串可以看到" --entitlements "Entitlements.plist" "Payload/${appName}"

codesign -f -s "iPhone Distribution:? Distribution證書名字" --entitlements "Entitlements.plist" "Payload/${appName}"

#

#Payload/TjjDemo.app: replacing existing signature :這個(gè)時(shí)候是已經(jīng)OK

zip -rq "${outUpdateAppDir}/${ChannelID[$i]}.ipa" "Payload"

echo "........打包已完成"

#?? ?echo ""

done

echo "------------------------程序打包已結(jié)束------------------------"

如果安裝到手機(jī)上是灰色的,就要看看是不是證書的問題【?IOS 開發(fā) 證書顯示 此證書簽發(fā)者無效 解決辦法】

可以用下面的方法

鑰匙串中的所有證書 都 提示此證書簽發(fā)者無效

經(jīng)查找得知系統(tǒng)證書WWDR在2016年2月14日失效,需要更新WWDR系統(tǒng)證書

下載證書地址https://developer.apple.com/certificationauthority/AppleWWDRCA.cer 下載之后 雙擊安裝

到這? 還需要一步

1.在登錄里面刪除過期的證書WWDR

2.在系統(tǒng)里面 刪除過期的證書WWDR? 就可以完美的解決了。所有的證書 都可以使用了

(找不到過期證書?點(diǎn)擊顯示-->顯示已過期的證書。)】

參考鏈接:

最主要感謝一位前輩的指點(diǎn)

http://www.olinone.com/?p=198【iOS證書及ipa包重簽名探究】

http://objccn.io/issue-17-2/【代碼簽名探析】

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,797評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,179評論 3 414
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,628評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,642評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,444評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,948評論 1 321
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,040評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,185評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,717評論 1 333
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,602評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,794評論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,316評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,045評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,418評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,671評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,414評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,750評論 2 370

推薦閱讀更多精彩內(nèi)容