Question

L'erreur que je reçois:

in /Users/robert/Documents/funWithFrameworks/build/Debug-iphonesimulator/funWithFrameworks.framework/funWithFrameworks, can't link with a main executable

Notes de falaise:

  • essayant d'inclure le cadre
  • ne veut pas créer de lien

Plus de détails: Je développe pour un appareil mobile ... une astuce, une astuce utilisant Xcode et j'essaie de rendre mon propre cadre personnalisé que je peux inclure à partir d'une autre application. Jusqu'à présent, j'ai effectué les opérations suivantes:

  1. Créez un nouveau projet. une application basée sur une fenêtre iPhone OS.
  2. Aller à la cible info- > sous packaging, changez l'extension de wrapper de l'application au framework
  3. Accédez à Action - > nouvelle phase de construction - > copier les en-têtes. Remplacez les rôles des en-têtes par "public"
  4. À partir de mon application, j'ajoute le cadre au groupe des cadres.
Était-ce utile?

La solution

Apple a clairement indiqué que vous ne pouvez pas utiliser les bibliothèques dynamiques sur leurs téléphones portables. Et un cadre privé n’est que cela.

Vous pouvez cependant utiliser des bibliothèques statiques.

Autres conseils

Egil, c'est généralement considéré comme l'une des implications de la section 3.3.2 de l'accord de développeur pour iPhone, qui interdit (en partie) les architectures de plug-in ou d'autres cadres. Le fait qu'ils ne fournissent pas de modèle de projet Xcode pour un framework compatible avec l'iPhone tend à renforcer l'idée, bien que cela puisse bien sûr n'être qu'un oubli ou quelque chose qu'ils découragent sans interdire réellement.

Il convient de demander à Apple si cela est le sens voulu de cette section et éventuellement de consulter un avocat, mais c’est à ce stade que le "pas de cadre" souvent mentionné l'idée vient de.

Pour ceux qui souhaitent utiliser du code d'infrastructure dans une application iPhone, une autre approche consiste à utiliser le code d'infrastructure pour créer une bibliothèque statique. Cela est ensuite compilé dans l'application au lieu d'être chargé dynamiquement au moment de l'exécution. Le fait que cela fasse partie de l'exécutable de l'application évite toute inquiétude potentielle concernant cette partie de l'accord.

Bien que les bibliothèques dynamiques ne soient pas autorisées, vous POUVEZ créer un cadre (utilisant des bibliothèques statiques et lipo).

Découvrez: http://accu.org/index.php/journals/1594

Je ne l'ai pas essayé pour le soi-disant appareil mobile , mais je suppose qu'il est très similaire à la méthode utilisée pour une application Cocoa classique. Découvrez ce tutoriel:

Cadres de cacao incorporés

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top