Aire De Jeux À L'Importation: Aucun Module 'Foo'
J'ai assidûment suivi les instructions Apple pour importer un module personnalisé dans une aire de jeux, y compris les instructions ici. Et pourtant, j'obtiens:
Aire de jeux d'échec d'exécution: /var/folders/z3/kd0nj4ln1rgcpm8bdz7067wh0000gs/T/./lldb/1874/playground1.swift:7:8: error: no such module 'Foo'
importer des Foo
Comment puis-je récupérer un travail de terrain de jeu à l'importation? [Edit: a Noter, les deux réponses ont produit instructions détaillées pour associer une aire de jeux avec un cadre; j'ai suivi ces instructions, mais pas de chance. La solution nécessitera la participation de la reconfiguration de quelque chose dans Xcode; mon installation est apparemment cassé]
Des images détaillées de l'erreur et de tentatives:
Voici une autre tentative, basé sur la réponse de @EricD, montrant la structure de répertoire, pas de dés.
- avez-vous essayer de le mettre au-dessus de votre
var
? - Pas encore trouvé. (Apple exemples montrent la
import
ligne n'importe où dans l'aire de Jeux.) - Quelqu'un? Quelqu'un?
- J'ai eu le même problème. Après la recréation de l'aire de jeu à partir de zéro à résoudre ce problème. Cependant, il existe d'autres causes de ce problème comme "un tel module": par exemple, si une aire de jeux contient un
Sources
dossier dont les sources d'importation d'un module personnalisé, ce module ne sera pas trouvé. Je n'ai pas trouvé de solution jusqu'à présent. - Bien Foo.h est Objective-C si tu veux dire FooX qui serait parfaitement valable. mais
.h
fichier doit être utiliser avec en-tête-de-pont.h si vous souhaitez mettre en œuvre dans swift. maintenant, même lorsque vous créez foo dans swift, vous pouvez déclarer comme suit ainsivar fooVariable = foo()
- Toute solution encore? J'ai frappé un mur en essayant d'importer GPUImage dans un iOS XCPlayground
- voir ma réponse ci-dessous.
- Je l'ai essayé, mais pour moi, c'était déjà Unique. Trouvé la solution, tout de même. J'ai dû construire le cadre d'un régime pour un simulateur iOS appareil (aucun dans la liste), pas pour "Générique Appareil iOS".
Vous devez vous connecter pour publier un commentaire.
Pour certains de ceux qu'aucune des solutions ci-dessus le travail (et que Xcode construire paramètre de chemin a déjà été mis à
Unique
), j'ai trouvé une solution.Le cadre doit être construit avec un régime de simulateur iOS appareil (aucun dans la liste) et PAS un
Generic iOS Device
, comme les Terrains de jeux ne le supporte pas. Cette une a fonctionné pour moi :Voici comment j'ai procéder pour OS X avec Xcode 7.1:
Créer un nouveau projet: OS X, Cocoa, Swift. Pour cet exemple, j'ai nommé "TestPlaygroundFMK".
Créer une nouvelle Swift fichier.
Ajouter une classe dans le fichier. Le code doit être public. J'ai fait cela pour notre exemple:
Construire le projet.
Dans la barre de menu, cliquez sur Fichier > Enregistrer en tant Qu'espace de travail.
Créer un nouveau terrain de jeu et de les enregistrer dans le dossier du projet en regard de la Swift fichiers.
L'Aire de jeu doit pas ont le même nom que le projet.
Construire le projet de nouveau.
Importer votre cadre sur l'Aire de jeu et de l'utiliser:
Créer un espace de travail comme ci-dessous:
Maintenant, Créer un cadre de Cacao avec swift fichier dont votre classe
Remarque: Si vous voulais juste ajouter des classes à la place de cadre à votre aire de vérifier le lien Comment importer ma propre classe dans un Xcode 7 aire de jeux?
Playground execution failed: /var/folders/z3/kd0nj4ln1rgcpm8bdz7067wh0000gs/T/./lldb/27542/playground126.swift:7:8: error: no such module 'Again' import Again
J'ai eu mon terrain de jeu fonctionne bien mais a constaté que lorsque j'ai quitté Xcode et ré-ouvert, j'obtiens une erreur comme ceci:
... où le "terrain de jeu" est le nom de mon terrain de jeu fichier.
La solution (dans Xcode 9.0) est de:
opt
-cmd
-0
)Dans mon cas, c'est mis à
macOS
. Je l'ai changé pouriOS
puis retour àmacOS
(pas de recompilation est nécessaire) et il a commencé à travailler très bien... jusqu'à ce que j'près Xcode et l'ouvrir à nouveau.C'est la seule solution que j'ai trouvé pour travailler avec macOS terrains de jeux. Ce bug existe toujours dans Xcode 9.3.
La solution, à partir du Support d'Apple, était de régler mon Xcode Préférences. Sur les Lieux :: Avancé ma configuration était d '"Héritage". En changeant de "Unique", et en annulant toutes les voies que j'avais essayé d'insérer, de Terrains de jeux peuvent maintenant importer des cadres.
Je ne pense pas que c'est exagéré de dire que Xcode est un peu un blackbox. Je ne prétends pas que cela va marcher pour quelqu'un d'autre, mais pour moi, après avoir eu le même problème après la création d'une nouvelle aire de jeux et un nouveau cadre de cible, et de toutes les autres solutions proposées, ce qui a finalement travaillé, a été de supprimer le fichier d'espace de travail et (dans mon cas) de le régénérer avec cocoapods.
Je n'ai aucune idée de pourquoi cela a fonctionné.
Construire le cadre de libération ,cela a fonctionné pour moi. (Xcode 10.1, swift 4.2)