web-dev-qa-db-ja.com

FBSOpenApplicationErrorDomainエラー1

Xcode 7でSwift 1.2からSwift 2.0に移行したiOSアプリをiPhone Simulator(any)を使用して実行しようとすると、次のエラーが表示されます。

操作を完了できませんでした。 (FBSOpenApplicationErrorDomainエラー1.)

私はすでにシミュレータの設定とコンテンツをリセットし、Xcodeを終了し、プロジェクトをクリーンアップしようとしました。

49

Xcodeをv7.0に更新した後、同じエラーが発生しました。数時間苦労した後、アクティブなスキームのRunアクションに渡される空の環境変数のセットアップがあることがわかりました(なぜあるのかわかりません)。この空の環境変数を削除すると、すぐに問題が解決しました。

48
Denis

このエラーは、Xcodeで「停止」をクリックした場合でも、アプリの前回の実行がバックグラウンドでまだ実行されている場合に発生します。シミュレーター自体でアプリを手動で強制終了します。cmd+ shift + Hを2回押して実行中のアプリを開き、アプリを上にドラッグして強制終了します。注cmd + shift + Hは、ホーム画面に移動するためのショートカットです。次に、新しい実行を開始すると、正常に動作するはずです:)

20
i Code 4 Food
  1. シミュレーター->コンテンツと設定のリセット
  2. シミュレーターを終了
  3. テストケースを再度実行します
6
UnchartedWorks

TvOSアプリでは、シミュレーターに移動してアプリを削除し、プログラムを再実行できます。

6
NRR

他の修正が機能しない場合

これらの試みを経て:

  1. シミュレーターでアプリを強制終了する
  2. シミュレーターをリセットする
  3. シミュレーターからアプリを削除しました
  4. App Transport Securityをグローバルに無効化(推奨されません)
  5. すべてのバックグラウンドモードの問題をオフにして、常にデバッグセッションを妨げて返される

これは私の修正でした

スキームマネージャーは、私の問題を引き起こした引数のないフィールドを有効にするようです。

Product menu > Scheme > Edit Scheme > Run > Arguments > Environment Variables

横に空のフィールドがあるチェックマークがある場合は、チェックを外します。

「1」エラーコードが表示されていました。これがあなたにも役立つことを願っています。

4
damote

私の場合、別のシミュレータを使用して解決できました。一貫してiPhone 4Sシミュレーター。ただし、一度iPhone 6 Plusシミュレーター、エラーはなくなりました。

3
Ohad Schneider

このエラーは、Facebook SDKとは関係ありません(信じています)。これを取得していますが、Facebook SDKがまったくありません。

私が見つけたのは、Xcodeがエラーの理由を示していないが、シミュレーターのログにはあるということです。

このエラーが発生すると、シミュレーターが実行されているので、それに切り替えて、[デバッグ]メニューから[システムログを開く...]を選択します。

ログが画面に表示されたら、ログを最後までたどると、問題が発生したことに関する詳細情報(幸運ならスタックトレースを含む)が表示されます。

私の場合、ファイルアセットが見つからないか、見つからなかったために例外がスローされました。

2
PKCLsoft

多くの苦労の後、問題はバックグラウンドで実行されているアプリを実行しようとしている可能性があると思います。 Xcodeからアプリを停止しても、実際には停止しません(奇妙な右)。cmd+ shift + hのホームキーを2回押して、アプリを見つけて強制終了する必要があります。これは面倒なので、これを行うより良い方法を探していますが、少なくともこれは一時的に動作します。

1
Munir Mehta

私の場合、私はそれを解決します。

バックグラウンドモードで実行している場合は、作業中のアプリを閉じるだけです。

それは私のために働きます、そしてそれがあなたのために働くことを望みます。

1
Garry

Xamarin iOS、Visual Studio for Mac 7.2、iPad 2、iOS 9.3用にコンパイルしてこのエラーが発生しました。解決策は、iOSビルドのサポートされているアーキテクチャをi386 + x86_64に、プロジェクト->オプション-> iOSビルド->サポートされているアーキテクチャに変更することでした。

1
Barney Szabo

シミュレーターを終了(Command + Q)して再度起動すると、問題が解決しました。

1
Khurram Shehzad

ReactネイティブアプリでDetoxを実行しようとしていたので、Detoxスタートガイドでは次のコマンドを推奨しました。

非常に悪いビルドコマンド

$ xcodebuild -workspace ios/MyApp.xcworkspace -scheme MyApp -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build

... Xcodeバージョン10.2.1(10E1001)であらゆる種類の障害が発生しました

そこで、正常にビルドされるまでコマンドを変更しました。しかし、私は(知らずに)間違ったプラットフォーム用に構築していました。私のxcodebuildDebug-iphoneosではなくDebug-iphonesimulatorを生成していました。したがって、xcodebuildは成功を報告しますが、シミュレータにアプリをコピーして実行しようとすると、次のように失敗します。

$ xcrun simctl launch 35CC1D95-CDC2-4C8F-9B68-8E13EF7127D8 com.mycompany.iosapp
com.mycompany.iosapp: -1
An error was encountered processing the command (domain=FBSOpenApplicationServiceErrorDomain, code=1):
The request to open "com.mycompany.iosapp" failed.
The request was denied by service delegate (SBMainWorkspace) for reason: Unspecified.
Underlying error (domain=FBSOpenApplicationErrorDomain, code=1):
    The operation couldn’t be completed. (FBSOpenApplicationErrorDomain error 1.)

したがって、修正は、正しいプラットフォーム用にビルドするビルドコマンドによって変更することでした。

不良ビルドコマンド:

$ xcodebuild -workspace ios/MyApp.xcworkspace -scheme MyApp -configuration Debug -derivedDataPath ios/build

良いビルドコマンド:

$ xcodebuild -workspace ios/MyApp.xcworkspace -configuration Debug -scheme MyApp -destination 'platform=iOS Simulator,name=iPad (6th generation)' -derivedDataPath ios/build
0
PaulMest

この問題はiOS 9の [〜#〜] ats [〜#〜] に関連している可能性があると確信しています。

SDKをiOS 9で動作させるために、FBチームが提供する手順に従っていることを確認してください。 リリースノート

説明

App Transport Security

"App Transport Securityは、アプリとWebサービス間の接続のセキュリティを向上させる機能です。この機能は、セキュリティで保護された接続のベストプラクティスに準拠するデフォルトの接続要件で構成されます。セキュリティ。 "

"NSURLConnection、CFURL、またはNSURLSession APIを使用するすべての接続は、iOS 9.0以降およびOS X v10.11以降用に構築されたアプリでApp Transport Securityのデフォルト動作を使用します。要件に従わない接続は失敗します。 "

ソース: Apple-App Transport Security Technote

つまり、iOS 9.0以降、またはOS X v10.11以降用にビルドされたアプリで接続を実行しようとして、その接続がATSの要件に適合しない場合、接続は失敗します。

溶液

この問題には2つの解決策があります。

推奨

接続がATSによって課される要件を満たしていることを確認してください。

「一時的な解決策」

これに準拠しない接続を許可するには、アプリのATSを無効にします。

これは一時的な解決策かもしれません。アプリでATSの使用を無効にできるようになったため、将来のリリースではこのオプションが削除され、ATSをデフォルトのセキュリティ機能として使用する必要が生じるからです。

FACEBOOK SDK

しばらく勝ち、ユーザーがiOS 9.0およびOS X 10.11で引き続きSDKを使用できるようにするためのFacebook。彼らは「一時的な解決策」を選んだので、あなたはそうしなければなりません。

  • アプリからATSを無効にします。
  • または、ネットワークリクエストのFacebookサーバーをホワイトリストに登録します。

後で行うには、ターゲット.plistに次を追加する必要があります

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>facebook.com</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>                
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
        <key>fbcdn.net</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
        <key>akamaihd.net</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
    </dict>
</dict>

また、Facebookアプリへのアプリ切り替えを実行できるFacebookダイアログ(ログイン、共有、アプリ招待など)のいずれかを使用する場合、他の変更を実行する必要があります。

ソース: Facebook-iOS9向けアプリの準備

0
APesate

Denisから受け入れられた回答に続いて、impossible places彼が言及したのは、最初にシミュレーターシステムログから発見されました。 (Mac XCode Simulator>デバッグ>システムログを開く..)

私の場合、Xamarin FormsをシミュレーターでデバッグするためにiPad 2 iOS 9.3。 VS2017Macは上記のエラーを出力しますが、Simulator System Logにより詳細な情報が提供されます

Program specified by service does not contain one of the requested architectures: XPC_FLAGS=0x0

この thread で述べたように、iOSプロジェクトを右クリックしてBuild > iOS Build > Supported architecturesからi386 + x86_64。 IOS 11より前のAppleは32ビットと64ビットの両方のアプリをサポートしているため、これは理にかなっています。

また、シミュレータの更新も役立ちます。 (シミュレーター>ハードウェア>すべてのコンテンツと設定を消去..)。これにより、シミュレーターにデプロイされたアプリに最新の変更が確実に含まれます。

0
Jeson Martajaya

シミュレーターをリセットしてみてください

Sudo rm -rf /private/tmp/com.Apple.CoreSimulator.SimDevice.*
0
Daisy R.

製品メニュー>スキーム>スキームの編集>実行>引数>環境変数横に空のフィールドがあるチェックマークがある場合は、チェックを外します。

操作を完了できませんでした(エラー「1」)。チェックを外すだけで修正されました

0
sai