Je suis en utilisant Alamofire dans un projet Swift, et une partie de leur manuel d'instructions d'installation sont à ajouter Alamofire sous Intégré Binaires dans l'onglet Général pour mon application cible.
Intégré binaires sont des fichiers binaires qui sont copiés sur votre paquet d'application lorsque vous générez le projet. Utiliser embedded binaires lorsque votre application s'appuie sur des tiers de cadres afin que les gens peuvent utiliser votre application sans avoir besoin de ces cadres installé sur leur machine. Intégré binaires empêcher des utilisateurs d'avoir à installer manuellement tiers des cadres. Votre application utilise le framework que vous incorporé.
Dans votre Alamofire exemple votre application repose sur Alamofire. Si vous n'intégrez pas la Alamofire cadre, personne ne serait en mesure d'utiliser votre application, sauf si ils ont installé Alamofire manuellement. En intégrant Alamofire avec votre demande tout le monde peut exécuter votre application.
La façon dont je me souviens le faire dans le passé sur OS X sur récemment avec un autre 3ème partie-cadre sur iOS est de construire le cadre et ensuite créer un fichier de copie Phase de construction de copier le cadre du "Cadres" de la destination. Est-ce censé être un remplacement pour qui? Il semble plus facile que la façon que j'ai utilisé pour le faire.
Oui, c'est censé être un remplacement pour la Copie de Fichiers de la phase de construction pour la copie des fichiers binaires, tels que des cadres, des bibliothèques et des outils de ligne de commande.
Avez-vous vu aucune documentation sur ce Xcode fonctionnalité? Je n'ai pas trouvé d'.
Je n'ai pas vu toute la documentation sur elle, mais je n'ai pas cherché de la documentation sur elle.
Que faire si je créer un lien vers un sous-projet (qui est un Framework Cocoa Touch, donc c'est une bibliothèque dynamique+la valeur de certains actifs)? Dois-je encore besoin d'utiliser Embedded Binaires fonctionnalité? J'ai essayé de lancer mon application sans elle, et il fonctionne très bien sur un simulateur, mais vous ne savez pas si c'est à cause de simulateur ou parce que XCode intègre dans certains autres, de façon cachée, parce que c'est un sous-projet.
Je n'ai jamais utilisé les sous-projets. Poser une nouvelle question, et quelqu'un d'autre peut avoir une réponse pour vous.
J'en ai trouvé une plus chose de curieux dans XCode 8. "Général -> Incorporé binaires" et "Phases de construction -> Intégrer des Cadres" semblent être liés, parce que si vous faites glisser un .cadre dans l'un de ces endroits, il s'affiche automatiquement dans l'autre endroit; et en "Embed Cadres", il active automatiquement le "Code de signer sur la copie" (la signature est important pour la construction de votre app archives pour la distribution).
De toute façon je l'avais fini avec mes application des cadres de la Liaison des Cadres de la section "mais pas" Intégrée Binaires (alors que je n'en savais rien). Je suppose que l'auto-ajout de comportement JustAMartin décrit n'était pas le cas pour moi. Passé du temps à regarder mon Xcode de tester l'INTERFACE utilisateur de ne pas démarrer, avec message d'erreur "dyld: la Bibliothèque n'est pas chargé: @rpath/MyFramework.cadre de ... la Raison: l'image n'est pas trouvée". Le correctif a été ajouter les cadres Intégrés Binaires ainsi!
L'inverse ne semble pas fonctionner: Si vous ajoutez à cela "Embedded Binaires, Xcode va ajouter à "Lié Cadres et les fichiers Binaires." Vous pouvez l'avoir en seulement "Embedded" et pas "Liée", bien que (si vous le retirez de Liaison). Je ne sais pas pourquoi cela fonctionne. Et "Embedded Binaires" est encore peu documentée dans Xcode aider.
"Binaire" signifie: code compilé — par opposition à la "source code", qui est ce avec quoi vous travaillez lorsque vous écrivez du code sous forme de texte.
Ils pourrait vous ai donné le code source et de le laisser vous le compiler, mais ils ne sont pas; ils sont en gardant le code source secret, de sorte qu'ils ont donné à tous de vous après de compilation, de sorte que vous ne pouvez pas le lire.
"Embedded" signifie: être inclus à l'intérieur de votre app bundle, en les copiant dans il au moment de la construction.
Ils sont de vous remettre certains le code compilé (cadres) et de vous dire comment les inclure à l'intérieur de votre app bundle. Ces cadres, à la différence du Cacao cadres, n'existent pas déjà sur l'appareil, donc si vous n'avez pas les inclure à l'intérieur de l'application, ils ne seront pas présents et que votre application serait incapable de faire appel à eux.
Contraste avec du Cacao cadres. Elles sont, elles aussi, sont code compilé. Mais ils ne existent déjà sur le périphérique. Par conséquent, ils ne sont pas intégrés à l'intérieur de votre application; ils sont simplement lié (et, s'il y en avait, figurera dans le prochain groupe, Lié à des Cadres et des Bibliothèques).
Le fait qu'ils sont appelés Embedded "Binaires", par opposition à Embedded "Cadres" me fait penser qu'ils sont destinés à être plus général que pour les cadres. Savez-vous si ils sont utilisés pour autre chose que les cadres? Aussi, avez-vous des points à la documentation à ce sujet? Je n'ai pas été capable d'en trouver.
Dans le cas plus général, vous pouvez également incorporer un fichier de bibliothèque.
L'incorporation de fichiers binaires des copies de la totalité de la structure de la cible.
Un framework est un répertoire hiérarchique qui encapsule une dynamique
bibliothèque fichiers d'en-tête, et les ressources telles que des story-boards, image
fichiers, et les chaînes localisées, dans un seul paquet. Applications à l'aide de
les cadres doivent embed the framework dans l'app bundle.
Donc, lorsque vous incorporez un cadre dans votre application, il augmente la taille de votre application, car il est copié sur vous app bundle. Dans la plupart des scénarios, nous serons à l'aide de cette section, lorsque nous sommes à l'aide de tiers cadre.
Lorsque nous ajoutons un framework à Embedded Binaries il ajoute automatiquement que cadre de Linked Frameworks and Libraries aussi.
Intégré binaires sont des fichiers binaires qui sont copiés sur votre paquet d'application lorsque vous générez le projet. Utiliser embedded binaires lorsque votre application s'appuie sur des tiers de cadres afin que les gens peuvent utiliser votre application sans avoir besoin de ces cadres installé sur leur machine. Intégré binaires empêcher des utilisateurs d'avoir à installer manuellement tiers des cadres. Votre application utilise le framework que vous incorporé.
Dans votre Alamofire exemple votre application repose sur Alamofire. Si vous n'intégrez pas la Alamofire cadre, personne ne serait en mesure d'utiliser votre application, sauf si ils ont installé Alamofire manuellement. En intégrant Alamofire avec votre demande tout le monde peut exécuter votre application.
"Binaire" signifie: code compilé — par opposition à la "source code", qui est ce avec quoi vous travaillez lorsque vous écrivez du code sous forme de texte.
Ils pourrait vous ai donné le code source et de le laisser vous le compiler, mais ils ne sont pas; ils sont en gardant le code source secret, de sorte qu'ils ont donné à tous de vous après de compilation, de sorte que vous ne pouvez pas le lire.
"Embedded" signifie: être inclus à l'intérieur de votre app bundle, en les copiant dans il au moment de la construction.
Ils sont de vous remettre certains le code compilé (cadres) et de vous dire comment les inclure à l'intérieur de votre app bundle. Ces cadres, à la différence du Cacao cadres, n'existent pas déjà sur l'appareil, donc si vous n'avez pas les inclure à l'intérieur de l'application, ils ne seront pas présents et que votre application serait incapable de faire appel à eux.
Contraste avec du Cacao cadres. Elles sont, elles aussi, sont code compilé. Mais ils ne existent déjà sur le périphérique. Par conséquent, ils ne sont pas intégrés à l'intérieur de votre application; ils sont simplement lié (et, s'il y en avait, figurera dans le prochain groupe, Lié à des Cadres et des Bibliothèques).
L'incorporation de fichiers binaires des copies de la totalité de la structure de la cible.
Donc, lorsque vous incorporez un cadre dans votre application, il augmente la taille de votre application, car il est copié sur vous app bundle. Dans la plupart des scénarios, nous serons à l'aide de cette section, lorsque nous sommes à l'aide de tiers cadre.
Lorsque nous ajoutons un
framework
àEmbedded Binaries
il ajoute automatiquement que cadre deLinked Frameworks and Libraries
aussi.Reportez-vous à la documentation d'apple pour plus de détails: https://developer.apple.com/library/archive/technotes/tn2435/_index.html