X

Xcode 10 手機 遇到 iPhone has denied the launch request 解法

使用 Xcode compile 安裝到手機執行,遇到下述錯誤訊息:

Could not launch "project-name" XXX
iPhone has denied the launch request.

註:此篇找過很多解法,但是還是沒有完全解決,可以正常執行,但是無法開啟 Debug console

Xcode 10 手機遇到 iPhone has denied the launch request 解法

遇到此問題的還不少,有看到 安裝 Xcode 9 可以暫時解決,不過這個解法我還沒嘗試過。

安裝 Xcode 9 沒辦法 Compile 安裝到 iOS 12 上,所以一樣無解。

環境:

  • Xcode 10.1
  • iPhone 手機:iOS 12

目前找到解法,而且確實可以執行使用的是下述(兩個是一樣的,挑其一即可):

  • 開啟 Xcode → Product → Scheme → Edit Scheme → 'Info' → Debug Executable 前面的勾去掉
  • 開啟 Xcode → Product → Scheme → Edit Scheme → 'Info' → Executable → Ask on Launch (就等同 Debug Executable 勾掉一樣意思)

但是上述的解法,沒辦法執行 Debug console,我目前也還沒找到解法

3/21 更新:

找到解法

加入付費帳號的 Group,然後新增帳號(原有帳號不曉得是否能用,我是用新帳號,憑證都會重新產生新的),再清掉 Cache (Project → Clean Build Folder),就可以正常編譯、Debug 了~

此問題看起來很像是憑證問題,官方論壇也有查到類似的作法:

下述摘錄自此篇:Xcode 10: iPhone has denied the launch request.

  • Solution 1: open System Prefrences → Users & Groups → Add a user account (build with new user is successfully (建立新帳戶)
  • Solution 2: open Keychain Access → choose System, All Items → delete certificate Apple Worldwide Developer Relations Certification Authority (砍掉 Apple Worldwide Developer 的憑證,會重新產生回來)

不過都一樣沒解決,下述先整理幾招看到的解法(都是選用,也可以都嘗試看看),有人說有用,不過測試對我還是沒有作用,可以先做參考:

  • 建立新帳戶,使用新帳戶就可以解決此問題 (Xcode 專案內 → Signing → Team → Add an Account)
  • 重新建立開發者的憑證,這部份講法很多種: (總之先進入 keychain 搜尋進入,或者:應用程式 → 工具程式 → 鑰匙圈存取)
    1. 於左邊有「登入」、「系統」 可以選擇,左下方可以選取「憑證」,主要刪除憑證為主;跟自己相關的,也可以都刪除掉試試看
    2. 下述幾個可以嘗試慢慢砍,或者如 4. 全砍,都可以嘗試看看
    3. 刪除 Apple Worldwide Developer - 註:Xcode 會幫重新生回來
    4. 右上角搜尋 "developer",把看到的全部砍掉 - 註:Xcode 會幫重新生回來
    5. 左邊選取「登入」,把裡面的全砍(砍不掉的就算了) - 註:這個重新登入就會重建
    6. 砍完後,重開 Xcode 在嘗試編譯看看
  • 砍掉所有憑證,再來修改憑證權限
    1. 一樣 keychain 砍掉所有憑證
    2. 進入憑證後,修改權限為「預設」 (或者先修改為全部授權,再來改回預設)
  • 清除 Cache (可以參考此篇:Xcode 清掉 Cache 的方法)
    • rm -fr ~/Library/Developer/Xcode
    • 實際路徑:
      • cd /private/var/; find ./ -iname project-name
      • /private/var/folders/gq/pspl0mxxxxxxxxxxxxxxxxxxxxxxxx/C/com.apple.DeveloperTools/All/Xcode/EmbeddedAppDeltas/xxxxxxxxxxxxxxxxxxx/xxx.app
      • or /Users/user-name/Library/Developer/Xcode/DerivedData/project-name-xxx/Build/Products/Debug-iphoneos/project-name.app
    • rm -fr ~/Library/Caches/com.apple.dt.Xcode
    • 砍完後,重開 Xcode 在嘗試編譯看看
  • 綜合上述作法,再來清乾淨重開的步驟
    1. 清掉 Cache
    2. 手機砍掉 App
    3. Xcode、手機都重開
    4. 再來重新編譯看看

相關網頁

Tsung: 對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
Related Post