xcodeでアプリを実機で動かそうとすると"iPhone has denied the launch request."になってしまう原因をまとめる[2019.03.12~2019.03.20]

### Errorの内容

> iPhone has denied the launch request.

> Internal launch error: process launch failed: failed to get the task for process XXXX

### 回避策

自分の場合は、`2019.03.20`に解決しました。解決方法を書きます。ただし、必ずしもこの方法で解決できるとは限りませんので注意。

1. ターゲット設定の[全般]タブで、`Automatically manage signing`オプションのチェックを外します。

2. Xcodeを閉じます（プロジェクトだけでなく、完全に）。

3. `~/Library/MobileDevice/Provisioning Profiles/*.mobileprovision`ファイルを消去します

```sh
$ rm -rf ~/Library/MobileDevice/Provisioning Profiles/*
```

4. キーチェーンアクセスで、以下を削除します。 

```
$ open -a Keychain\ Access
```

- iPhone Developer: xxx@xxx.xxx (xxxxxxxxx)

- Developer ID Certification Authority

- Apple Worldwide Developer Relations Certification Authority

5. iOSデバイスからアプリを削除します

6. MacとiOSデバイスを再起動します

7. Xcodeをもう一度開きます

8. `Bundle Identifier`を変更します。

9. `Automatically manage signing`オプションを確認してください。以前選択していたアカウントを使います。

10. USBを使ってiPhone/iPadを接続します。

11. あなたのiOSデバイスで`設定アプリ > 一般 > プロファイル(とデバイス管理)`からデベロッパAPPを信頼します。

12. Runを実行し、`Debug > Simulate Background Fetch`などが実行できる状態か確認します。実行できる状態なら正常にDebugが機能すると思います。

 
参考 : https://stackoverflow.com/a/55244603/4700495

### 概要

私は、Apple Developer(Free)をApple IDから使い、開発アプリを実機(iPhone)で動かしています。

ここで、2019.03.12あたりから`Signing > Automatically manage signing > Team > Account`に問題が発生するようになりました。現時点で回避策はありません。

検索すると様々なキーワードがヒットしますが、主に、`Provisioning profile`, `entitlements`, `get-task-allow`, `Keychain`あたりの問題かと思われます。新しい情報があれば追記して、通知します。


### 追記情報

> Citation from the forum: "It seems like the reason causing this problem is the 'get-task-allow' flag of .mobileprovision file, which suppose to be set to true, but now is set to false instead. This 'false' flag causes Xcode losing the privilege to attach the target with debugger."

どうやら原因は、.mobileprovisionで'get-task-allow'にfalseが設定されていることのようです。無料アカウントでは、この値を変更することができないと書かれています。

### Link

チャットルーム ["iPhone has denied the launch request."問題のチャットルーム](https://chat.stackoverflow.com/rooms/190218/iphone-has-denied-the-launch-request-issue)

Apple Developer Forums [Provisioning profile doesn't include the application-identifier and keychain-access-groups entitlements](https://forums.developer.apple.com/thread/114539) 

Apple Developer Forums [Xcode 10: iPhone has denied the launch request.](https://forums.developer.apple.com/thread/109156)

stackoverflow [Provisioning profile doesn't include the application-identifier and keychain-access-groups entitlements](https://stackoverflow.com/questions/55132628/provisioning-profile-doesnt-include-the-application-identifier-and-keychain-acc) 

[Xcode Statusにエラーがついてしまいました。](https://teratail.com/questions/179202)

[iPhone has denied the launch request issue](https://stackoverflow.com/questions/55206482/iphone-has-denied-the-launch-request-issue)

[iOSアプリが実機で動かない(動くものもある)](https://teratail.com/questions/179676)

証明書の問題や認証の問題は一応、回避できますが、現時点ではDebugが正常に行えない状態です。完全な回避策はありません。

### やったこと

- Profileを削除して、もう一度登録し、iOS Developerを追加する。

- Product > Scheme > Edit Scheme > 'Info' tab > Executable:  "Ask on Launch" (Runは成功するが、これでは実機でアプリが正常に動作しない場合があります、特にDebug > Background Fetch)

- Product > Scheme > Edit Scheme > 'Info' tab > Debug executable, チェックを外す (Runは成功するが、これでは実機でアプリが正常に動作しない場合があります、特にDebug > Background Fetch)

- Build Settings > Signing > Code Signing Identity > iOS Developer を選択する

- Releasesの項目を削除する

- キーチェーンからApple Developer Certificateを削除する

- `~/Library/MobileDevice/Provisioning Profiles`と`~/Library/Developer/Xcode/DerivedData`にあるファイルを削除する 

- 新しいユーザーを作って、xcodeから実行する

- xcodeをアップデートする

なにか情報がありましたら、コメントの方お願いします。