Framework qui contient un framework
Bonjour
La version 1.0 de mon application Herbier est achevée.
Merci à tous, sans qui j'aurais abandonné.
Bon, maintenant je vais peaufiner mon code.
Il y aura encore plein de questions.
La première.
Est-il possible de construire un framework RNPgSql qui fait lui même appel à un framework PGSQLKit ?
PGSQLKit est une couche au dessus de la librairie de base pour l'accès à une base de données d'un serveur PostgreSQL.
Je voudrais construire un framework RNPgSql, couche au dessus de PGSQLKit.
L'objectif pour moi est de masquer l'implémentation (pourquoi ne pas dire implantation en français ?) des méthodes, et donc la structure de la base de données.
J'ai essayé de créer un framework via Cocoa framework. ça marche, jusqu'à la validation qui n'accepte pas, avec un message que je ne comprends pas :
“RNFW†does not contain a single–bundle application or contains multiple products. Please select another archive, or adjust your scheme to create a single–bundle application.
Même chose d'ailleurs avec la création d'un framework vide.
Je sais, je n'ai qu'à lire la doc. Je l'ai fait, mais je ne comprends pas.
Merci
Réponses
Parce que ça n'a pas du tout le même sens. L'implantation c'est la façon dont c'est planté (pour des plantes, pour des cheveux dans un cuir chevelu, ...). L'implémentation ça n'a rien à voir ^^
Qu'est ce que tu ne comprends pas ?
Pourtant tout est expliqué ici et surtout ici...
Si tu nous disais ce que tu as lu comme doc, ce que tu as suivi comme tuto et comme étapes, et à quelle étape ça coince, ça nous aiderait à t'aider
Bon, je reprends à la base.
Je veux créer un framework RNFW.
J'ouvre Xcode.
"Create a new Xcode project"
"Cocoa Framework" : RNFW
J'ajoute :
- (void)essai;
et
- (void)essai { NSLog(@essai); }
Je rends RNFW public dans le "Target Membership"
"Run"
Tout est ok.
Mais comment sortir RNFW.framework à l'extérieur de Xcode et le copier dans /Library/Frameworks par exemple...
Je n'ai pas trouvé le moyen de le faire. Je dis bien "copier", pas faire un lien (ce qui revient à garder RNFW.framework dans Xcode) !
Merci
Bonjour.
Je veux créer un framework, l'utiliser dans une application à moi et l'envoyer à un copain pour qu'il l'utilise dans sa propre application sur une autre machine.
Procédure #1.
Je crée une application MyFW de type Cocoa Framework. OK.
Je fais Product > Archive
Puis Organizer > Distribute > Save Built Product me propose d'envoyer MyFW 2013-10-22 16.45 dans le répertoire de mon choix, en l'occurrence :~/Library/Frameworks/
Dans mon application EssaiFW je fais Add Files de ~/Library/Frameworks/MyFW 2013-10-22 16.45
J'obtiens :
Procédure #2.
Par contre si je vais chercher MyFW.framework dans ~/Library/Developer/...
ça marche ?! Et je peux l'envoyer au copain.
La procédure #1 me semble plus logique, mais elle ne marche pas.
La procédure #2 me semble tordue, mais elle marche.
Je dois rater une marche, mais laquelle ?
Explications SVP ?
Normalement tu build ton framework (en Release par exemple) puis tu va chercher le product buildé dans le Finder (ou tu ouvres le groupe "Products" de ton projet qui génère le framework, tu vas voir le produit fini ici) et tu l'envoies à ton pote directement.
Je reviens à la procédure 1.
J'ai donc créé mon framework MyFW.framework. J'en fais une copie que j'installe dans EssaiFW/EssaiFW/ à côté de AppDelagate.h et autres.
Et aussi dans EssaiFW/ à côté de EssaiFW.
Dans les Build Settings de l'application EssaiFW je définis les répertoires de recherche de frameworks :
J'ai toujours la même erreur :
Tout se passe comme si xcode ne savait pasrechercher un framework ailleurs que dans /Library/Frameworks et refuse de chercher aussi
dans le répertoire que je lui propose ?!
Pour le chargement dynamique, les frameworks doivent être compilés en définissant "Installation Directory" correctement. Par exemple, si tu l'embarques dans le repertoire framework du bundle de ton appli, tu dois mettre: @executable_path/../Frameworks
Dans ton cas, j'ai l'impression que ton appli de test essaie de charger ton framework à partir de /Library/Frameworks/ et non ~/Library/Frameworks/.
Build -> compilation.
dyld -> chargement dynamique à l'exécution.