28 votes

les dylibs déplaçables (par exemple les frameworks intégrés) ne sont pris en charge que sur iOS 8.0 et versions ultérieures (@ rpath / libswift_stdlib_core.dylib)

Je viens de passer de Xcode 6 Beta 2 à Xcode Beta 3 et je reçois maintenant l'avertissement suivant lors de la construction de mon projet:

 ld: warning: relocatable dylibs (e.g. embedded frameworks) are only supported on iOS 8.0 and later (@rpath/libswift_stdlib_core.dylib)
 

C'est un avertissement mais semble signifier que ma configuration actuelle ne fonctionnera pas sur iOS 7.1, qui est ma cible de déploiement. Comment puis-je localiser les frameworks intégrés et comment résoudre ce problème pour iOS <8.0?

9voto

vladof81 Points 2228

Cela semble être un bogue de la Bêta 3. Comme l'a souligné Apple Engineer sur ce post .

J'ai également vécu cet avertissement lors de l'exécution d'applications sur un appareil iOS 7.1.

4voto

ilya n. Points 6610

Vous voir et de les ajouter sur la page du projet lorsque vous sélectionnez la cible: onglet Général->Embedded Binaires (et ils apparaissent alors dans les Phases de construction->Incorporer les Cadres).

Example of embedded frameworks

Intégré cadres pour OSX étaient disponibles dans Xcode 5, mais pas pour iOS.

La WWDC session concernant les nouvelles fonctionnalités dans Xcode 6 expressément promis dynamique cadres pour iOS 8 (quelqu'un s'il vous plaît ajouter citation quand developer center est de nouveau en ligne). Jusqu'à présent, avec tous les Xcode 6 bêta, je n'ai eu aucun problème de compilation et de débogage d'une application avec les cadres sur iOS 7.

Mais puisque ce n'était pas promis, cadres pour iOS7 est quelque chose que vous ne pouvez pas dépendre (par exemple, il peut cesser de travailler plus tard dans la bêtas; une application embarquée cadre pour iOS 7 peut être rejeté, etc.). Qui peut expliquer pourquoi ils ont ajouté une mise en garde explicite.

Il n'y a pas beaucoup que vous pouvez faire si cette fonctionnalité s'avère être en effet pas pris en charge, autres que de supprimer les cadres de la cible et de l'utilisation de bibliothèques statiques comme nous l'avons fait avec Xcode 5. Ou aller le iOS8 seule route.

0voto

rob Points 1459

J'ai eu ce message d'erreur après l'ajout d'un C++ cadre (DeepBelief) à un projet. L'ajout d'un vide .fichier cpp pour le projet, il fixe.

Je suis l'aide de la Beta4, et trouvé la réponse sur le DeepBelief la page github:

XCode peut-être sauter la bibliothèque C++ standard, et qui est nécessaire par le DeepBelief.code de la structure. Une solution de contournement que j'ai trouvé est d'inclure un vide .mm ou .fichier cpp dans le projet de truc XCode dans le traitement de l' comme C++ projet.

0voto

loretoparisi Points 1206

Lire cette github poste de ReactiveCocoa

Le bug est toujours présent dans XCode6 GM et donc XCode6 sortie de la version finale:

Bien, je reçois exactement le même problème dans xcode6GM peu importe si je créer un cadre pour swift OU objc :-[[[[[[[[[[[[[[[

Selon Apple, l'Extension de Guide de Programmation:

Vous pouvez faire un contenant de l'application de la disposition des utilisateurs sous iOS 7 ou une version antérieure, mais doit prendre des précautions en toute sécurité lien de cadres lors de l'exécution dans iOS 8 ou version ultérieure.

parler d'application des extensions, mais si vous le lisez, vous pouvez comprendre que cela s'applique à intégré les cadres en général.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X