web-dev-qa-db-fra.com

Erreur 1 FBSOpenApplicationErrorDomain

J'essaie d'exécuter mon application iOS migrée de Swift 1.2 vers Swift 2.0 dans Xcode 7 à l'aide de iPhone Simulator (tous les modèles). L'erreur suivante s'affiche:

L'opération n'a pas pu être terminée. (Erreur 1. FBSOpenApplicationErrorDomain )

J'ai déjà essayé de réinitialiser les paramètres et le contenu du simulateur, de quitter Xcode, de nettoyer le projet, etc.

47
Douglas Ferreira

J'ai eu la même erreur après la mise à jour de Xcode vers v7.0. Après quelques heures de lutte, j'ai constaté qu'il y avait une configuration de variable d'environnement vide à transmettre pour l'action Exécuter dans mon schéma actif (je ne sais pas pourquoi elle était là). La suppression de cette variable d’environnement vide a résolu le problème immédiatement.

48
Denis

Cette erreur se produit lorsqu'une exécution précédente de l'application est toujours active en arrière-plan, même si vous avez cliqué sur "Arrêter" dans Xcode. Essayez de tuer manuellement l'application dans le simulateur lui-même: cmd + shift + H deux fois pour ouvrir les applications en cours d'exécution, faites glisser votre application pour la tuer. Notez que cmd + shift + H est le raccourci pour accéder à l’écran d’accueil. Ensuite, démarrez le nouveau cycle et cela devrait fonctionner correctement :)

19
i Code 4 Food
  1. Simulateur-> Réinitialiser le contenu et les paramètres
  2. Quitter le simulateur
  3. Exécutez les cas de test à nouveau
6
UnchartedWorks

Dans une application tvOS, vous pouvez accéder à un simulateur, supprimer l'application et la réexécuter.

6
NRR

Si les autres correctifs ne fonctionnent pas

Je suis passé par ces tentatives:

  1. Forcer à quitter l'application dans le simulateur
  2. réinitialiser le simulateur
  3. application supprimée du simulateur
  4. Sécurité des transports d'applications désactivée globalement (non recommandé)
  5. Désactivation de tous les modes d'arrière-plan. Le problème est toujours renvoyé empêchant les sessions de débogage

C'était ma solution

On dirait que le gestionnaire de schémas active un champ sans arguments qui a causé mon problème. 

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

S'il y a une coche avec un champ vide à côté, décochez-la.

Je recevais le code d'erreur "1". J'espère que cela fonctionne pour vous aussi.

4
damote

Dans mon cas, j'ai pu résoudre le problème en utilisant un autre simulateur. Cela se produisait toujours avec le simulateur iPhone 4S, mais une fois que je suis passé au simulateur iPhone 6 Plus, l'erreur avait disparu.

3
Ohad Schneider

Je pense que cette erreur n’a rien à voir avec un SDK de Facebook. Je reçois cela et je n'ai pas du tout de SDK Facebook.

Ce que j’ai trouvé, c’est que bien que Xcode ne montre aucune raison de l’erreur, c’est ce que fait le journal du simulateur.

Lorsque vous obtenez cette erreur, le simulateur est en cours d'exécution. Vous devez donc basculer dessus, puis dans le menu "Débogage", sélectionnez "Ouvrir le journal système ...".

Une fois que le journal est à l'écran, parcourez-le jusqu'au bout et vous devriez voir beaucoup plus d'informations (y compris une trace de pile si vous êtes chanceux) sur ce qui n'a pas bien fonctionné.

Dans mon cas, une exception a été lancée car un fichier était manquant ou introuvable.

2
PKCLsoft

Après beaucoup de difficultés, je pense que le problème est que vous essayez peut-être d'exécuter l'application qui s'exécute en arrière-plan. Arrêter l'application à partir de xcode ne l'arrête pas réellement (étrange à droite), vous devez appuyer sur la touche de base qui est cmd + shift + h deux fois, trouvez votre application et tuez-la. J'essaie toujours de trouver une meilleure façon de procéder car c'est fastidieux, mais au moins cela fonctionnera temporairement. 

1
Munir Mehta

Dans mon cas, je le résous comme.

Il suffit de rejeter l'application sur laquelle vous travaillez si vous utilisez le mode arrière-plan.

cela fonctionne pour moi et j'espère que cela fonctionne pour vous.

1
Garry

J'ai eu cette erreur en utilisant Xamarin iOS, Visual Studio pour Mac 7.2, la compilation pour iPad 2, iOS 9.3. La solution consistait à modifier les architectures prises en charge de la version iOS par i386 + x86_64 , sous Projet -> Options -> iOS Build -> Architectures prises en charge .

1
Barney Szabo

Quitter le simulateur (Commande + Q) et le relancer a résolu le problème.

1
Khurram Shehzad

J'essayais de lancer une cure de désintoxication avec une application native React et le guide de démarrage de Detox recommandait cette commande:

Commande de construction très mauvaise

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

... qui a eu toutes sortes d'échecs sur Xcode Version 10.2.1 (10E1001)

J'ai donc changé la commande jusqu'à ce qu'elle soit construite avec succès. Cependant, je construisais (sans le savoir) pour la plate-forme incorrecte. Mon xcodebuild générait Debug-iphoneos et non Debug-iphonesimulator. Donc, même si xcodebuild rendrait compte de la réussite, chaque fois que je copiais l'application sur le simulateur et tentais de l'exécuter, il échouait avec:

$ 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.)

Donc, le correctif était de changer par commande de construction pour construire pour la plate-forme correcte.

Commande de construction incorrecte:

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

Bonne commande de construction:

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

Je suis presque sûr que ce problème peut être lié au ATS sur iOS 9.

Assurez-vous que vous avez suivi les étapes fournies par l'équipe FB afin que leur SDK fonctionne sur iOS 9. Notes de version .

EXPLICATION

Sécurité du transport d'applications

"App Transport Security est une fonctionnalité qui améliore la sécurité des connexions entre une application et des services Web. Elle consiste en des exigences de connexion par défaut conformes aux meilleures pratiques en matière de connexions sécurisées. Les applications peuvent remplacer ce comportement par défaut et désactiver la sécurité du transport. . "

"Toutes les connexions utilisant les API NSURLConnection, CFURL ou NSURLSession utilisent le comportement par défaut d'App Transport Security dans les applications construites pour iOS 9.0 ou version ultérieure et OS X v10.11 ou ultérieure. Les connexions non conformes aux exigences échoueront."

Source: Apple - App Transport Sécurité Technote

Cela signifie que si vous essayez d'établir une connexion avec une application créée pour iOS 9.0 ou version ultérieure, ou avec OS X v10.11 ou ultérieure, et que cette connexion n'est pas conforme aux exigences de l'ATS, la connexion échouera.

Solution

Il y a deux solutions à ce problème.

Conseillé

Assurez-vous que vos connexions répondent aux exigences imposées par ATS.

"Solution temporaire"

Désactivez l'ATS sur votre application pour autoriser les connexions non conformes.

Cette solution peut être temporaire car, étant donné que vous pouvez maintenant désactiver l'utilisation de l'ATS dans votre application, cette option pourrait être supprimée dans les versions à venir et vous obligerait à utiliser ATS comme fonctionnalité de sécurité par défaut.

SDK FACEBOOK

Facebook afin de gagner du temps et de permettre à leurs utilisateurs de continuer à utiliser leur SDK sous iOS 9.0 et OS X 10.11. Ils ont choisi la "solution temporaire" et à cause de cela, vous devez le faire. 

  • Désactiver ATS à partir de votre application.
  • ou liste blanche des serveurs Facebook pour les requêtes réseau.

Pour faire plus tard, vous devez ajouter ce qui suit à votre cible .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>

Vous devrez peut-être également effectuer d'autres modifications si vous utilisez l'une des boîtes de dialogue Facebook (par exemple, Connexion, Partage, Invitations d'applications, etc.) pouvant effectuer le basculement d'une application à une autre sur Facebook.

Source: Facebook - Préparation de vos applications pour iOS9

0
APesate

Suite à la réponse acceptée de Denis, le impossible places qu’il a mentionné est découvert pour la première fois à partir de Simulator System Log. (Mac XCode Simulator> Débogage> Ouvrir le journal système ..)

Dans mon cas, j'essaye de déboguer un monde bonjour Xamarin Forms sur le simulateur iPad 2 iOS 9.3. VS2017Mac génère l'erreur ci-dessus, mais Simulator System Log donne plus d'informations.

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

Comme mentionné dans ce thread , je dois cliquer avec le bouton droit sur le projet iOS et modifier Build > iOS Build > Supported architectures en i386 + x86_64. Cela a du sens puisque Apple pré-IOS 11 prend en charge les applications 32 bits et 64 bits.

L'actualisation du simulateur aide également. (Simulateur> Matériel> Effacer tout le contenu et les paramètres ..). Cela garantit que l'application déployée sur le simulateur contient les dernières modifications.

0
Jeson Martajaya

Essayez de réinitialiser votre simulateur

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

Menu Produit> Schéma> Modifier le schéma> Exécuter> Arguments> Variables d'environnement Si la case est cochée avec un champ vide, décochez-la.

J'obtenais L'opération n'a pas pu être terminée (erreur "1"). Elle a été corrigée il suffit de décocher.

0
sai