iOS開發(fā)-真機調(diào)試遇到“The executable was signed with invalid entitlements.

昨天遇到了一個讓人絕望的問題。昼接。爽篷。事情是這樣的。慢睡。

昨天高高興興的完成了新的版本的開發(fā)逐工,老大說有了新的Apple賬號,需要用新的賬號提交App Store漂辐,于是登上了新的AppleID泪喊,然后創(chuàng)建證書,創(chuàng)建ID髓涯,Apple Connect上創(chuàng)建應(yīng)用窘俺,一氣呵成,把證書下載下來配置一下复凳,cmd+R,應(yīng)用順利的跑起來了灶泵,然后打包育八,上傳TestFlight,也是非常順利赦邻,也成功的發(fā)布到了TestFlight髓棋,然后測試那邊報了一個bug給我,一看不是什么大問題么惶洲,改好之后用模擬器測試按声,OK沒問題,想想再用真機調(diào)試一下吧恬吕,于是接上了測試機签则,cmd+R,然后去接杯水铐料,等著回來看看真機上有沒有什么問題渐裂,結(jié)果接完水回來豺旬。。柒凉。并不是期待的需要解鎖的alert族阅,而是。膝捞。坦刀。

final.png

The executable was signed with invalid entitlements.

Profile The entitlements specified in your application’s Code Signing Entitlements file are invalid, not permitted, or do not match those specified in your provisioning profile. (0xE8008016).

看來來好像是Provisioning Profile(pp)的問題,仔細(xì)檢查了一下蔬咬,好像沒有什么問題么鲤遥??不過這個問題看著好像不是什么大問題计盒,結(jié)果耗費了我一天多的時間渴频。。北启。所以準(zhǔn)備寫下來記錄一下卜朗。

可能出現(xiàn)問題的原因

出現(xiàn)這個報錯的原因一般來說是遠程Provisioning Profile(以下簡稱PP)和本地的配置不同造成的問題,細(xì)看下來可能有這么幾種可能:

  • 1.PP文件和Capability配置不匹配咕村;

  • 2.PP文件和本地證書不匹配场钉;

  • 3.跑應(yīng)用時Debug和Release選擇錯誤;

  • 4.PP文件中沒有包含當(dāng)前要運行設(shè)備的UUID懈涛;

  • 5.Xcode10中Build System問題(這個好像最新的Xcode已經(jīng)修復(fù)了)逛万;

  • 6.項目中多個Targets的證書選擇錯誤(我就是這個問題);

另外Apple官方也有針對Entitlements出錯時的檢查方案批钠,地址在這里Entitlements Troubleshooting宇植。

解決方案

OK,大概了解了情況埋心,那就一個一個來檢查修改吧指郁。

對了,先po一個查看Provisioning Profile信息的 shell:


/usr/bin/security cms -D -i profile_path/profileName.mobileprovision"

置空Code Signing Entitlements

這個是google和stackoverflow上能搜到比較多的答案拷呆,具體的操作為將如下步驟下打開的選項設(shè)置為空:

** Project -> Target ->* 項目名稱 *-> Build Settings -> Code Signing Entitlements **

1.png

然而這個方法并沒有對我有什么幫助闲坎。

清空xxx.entitlements文件

這個方法實際上和上一個方法的操作差不多,具體步驟為:

在項目目錄下找到xxx(項目名).entitlements文件茬斧,并刪除這個文件中的全部字段腰懂。

其實這個方法應(yīng)該跟上一個方法差別不大,對我也并沒有什么幫助项秉。

重新開啟Capabilities中的選項

這個方法其實是讓Xcode自動來配置xxx.entitlements中的字段绣溜,具體步驟就是:

** Project -> Target ->* 項目名稱 -> Capabilities -> 找到已經(jīng)打開的配置,關(guān)閉再打開 **

結(jié)果同樣令人悲傷娄蔼,并沒有什么作用涮毫。瞬欧。。

重新配置Apple Developler中的PP文件并下載

這時候我有點崩潰了罢防。艘虎。。我以為是之前創(chuàng)建開發(fā)證書的時候出了什么問題咒吐,因為可以正常上傳到Apple Connect野建,所以發(fā)布證書應(yīng)該沒有什么問題,但是索性我還是把所有的證書和PP文件都revoke掉恬叹,然后重新生成了一遍候生,并且檢查了App ID的配置,查看有沒有和本地的Capabilities不匹配的字段绽昼。

當(dāng)然唯鸭,結(jié)果還是沒有什么用處。

Debug和Release選擇錯誤

google到有大佬說cmd+shift+<打開配置查看一下選中的Debug和Release是否正確硅确,我不知道這個會不會照成影響目溉,但是我覺得這個可能不會有什么用處,正常的配置應(yīng)該就是如圖:

2.png

然而沒有什么辦法菱农,只能改改看了缭付,最后發(fā)現(xiàn)還是不對。

info.plist中的id和target中不一致

這個問題是項目的info.plist文件中的Bundle identifier字段和

** Project -> Target -> 項目名稱 -> Build Setting -> Packaging -> Product Bundle Identifier ** 中的ID字段不匹配照成的循未。

但是我的info.plist文件中的ID為$(PRODUCT_BUNDLE_IDENTIFIER)陷猫,如果你的不是,建議你也要改成這樣的妖,避免以后不必要的麻煩绣檬。

檢查所有的Targets下的證書

就是這個方法解決了我的問題,因為我本地管理的Apple ID有點多嫂粟,而且之前google都是配置PP之類的回答河咽,所以沒有想到這個問題,昨天跟證書和PP混戰(zhàn)了一天之后腦子也有點糊涂赋元,今天早上來,仔細(xì)查看了編譯日志飒房,發(fā)現(xiàn)搁凸!咦!好像這個地方有問題狠毯,于是檢查了Targets下的

  • XXX(項目名)

  • XXXTests

  • XXX-tvOS

  • XXX-tvOSTests

.

.

.

如果你還有其他Target請都檢查一遍护糖!發(fā)現(xiàn)其他的證書都是用的另外一個賬號的證書。改了一下嚼松。嫡良。頓時預(yù)感要成功锰扶,cmd+R了一下,果然出現(xiàn)了久違的畫面:

final.png

最后

這篇文章僅供個人學(xué)習(xí)使用寝受,如果有什么不對的地方還請大佬們多多指教坷牛,另外如果你也遇到了這個問題,有這邊沒有提到的解決辦法很澄,請留言告訴我京闰。謝謝。

參考文檔

Entitlements file do not match those specified in your provisioning profile.(0xE8008016)

iOS開發(fā) The executable was signed with invalid entitlements.

Xcode entitlement 問題定位和解決指南

Entitlements Troubleshooting

The entitlements specified in your application’s Code Signing Entitlements file are invalid, not permitted, or do not match those specified in your provisioning profile. (0xE8008016).

The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile. (0xE8008016).

The entitlements specified in your application’s Code Signing Entitlements file are invalid, not permitted, or do not match those specified in your provisioning profile. (0xE8008016).

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末甩苛,一起剝皮案震驚了整個濱河市蹂楣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌讯蒲,老刑警劉巖痊土,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異墨林,居然都是意外死亡赁酝,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門萌丈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赞哗,“玉大人,你說我怎么就攤上這事辆雾》舅瘢” “怎么了?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵度迂,是天一觀的道長藤乙。 經(jīng)常有香客問我,道長惭墓,這世上最難降的妖魔是什么坛梁? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮腊凶,結(jié)果婚禮上划咐,老公的妹妹穿的比我還像新娘。我一直安慰自己钧萍,他們只是感情好褐缠,可當(dāng)我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著风瘦,像睡著了一般队魏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上万搔,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天胡桨,我揣著相機與錄音官帘,去河邊找鬼。 笑死昧谊,一個胖子當(dāng)著我的面吹牛刽虹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播揽浙,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼状婶,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了馅巷?” 一聲冷哼從身側(cè)響起膛虫,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎钓猬,沒想到半個月后稍刀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡敞曹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年账月,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片澳迫。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡局齿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出橄登,到底是詐尸還是另有隱情抓歼,我是刑警寧澤,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布拢锹,位于F島的核電站谣妻,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏卒稳。R本人自食惡果不足惜蹋半,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望充坑。 院中可真熱鬧减江,春花似錦、人聲如沸捻爷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽役衡。三九已至,卻和暖如春薪棒,著一層夾襖步出監(jiān)牢的瞬間手蝎,已是汗流浹背榕莺。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留棵介,地道東北人钉鸯。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像邮辽,于是被迫代替她去往敵國和親唠雕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,802評論 2 345

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