La différence entre le cadre et la bibliothèque statique dans xcode4, et comment les appeler
Je suis tout à fait nouveau pour xcode et objective-c. Je veux poser une question très simple.
J'ai vu que lors de la "liaison binaire pour les bibliothèques" dans les paramètres du projet, il y a des différences sur le cadre et les bibliothèques, importés à partir d'autres projets dans l'espace de travail.
Première question, pourquoi il y a un cadre? Et pourquoi est-il une bibliothèque? Ne ma bibliothèque un cadre?
Puis, à partir d'un .h fichier, comment puis-je appeler les classes de mon importés bibliothèque statique?
Je suppose qu'il doit y avoir un préfixe, mais je ne pouvais pas le trouver.
Ni l'un ni l' "ProjName/Maclasse.h" sont de travail.
S'il vous plaît, soyez aussi précis que vous le pouvez.
Grâce
- Pas une question de base
Vous devez vous connecter pour publier un commentaire.
Le plus grand avantage d'un cadre a plus de bibliothèques statiques, c'est qu'ils agissent comme une façon ingénieuse de l'emballage jusqu'à la bibliothèque compilé binaire et de tous les en-têtes. Ils peuvent être déposés dans votre projet (tout comme le kit de développement intégré dans les cadres comme la Fondation et UIKit) et ils devraient tout simplement le travail (la plupart du temps).
La plupart des cadres contiennent les bibliothèques dynamiques; des cadres créés dans Xcode à l'aide de Mac-Cadre modèle permettra de créer une bibliothèque dynamique. L'iPhone ne prend pas en charge dynamique des cadres qui est pourquoi il est devenu commun pour réutilisables bibliothèques de l'iOS code pour être distribué dans les bibliothèques statiques au lieu.
Bibliothèques statiques sont beaux, mais ils nécessitent un peu de travail supplémentaire de la part de l'utilisateur. Vous devez lier votre projet à la bibliothèque et vous devez copier les fichiers d'en-tête dans votre projet ou référence quelque part par la configuration de l'en-tête approprié chemins de recherche dans vos paramètres de construction.
: En résumé, mon avis est que la meilleure façon de distribuer votre bibliothèque est comme un cadre. Pour créer un "statique" cadre pour iOS, vous pouvez prendre un cadre normal et remplacer le fichier binaire avec votre compilé bibliothèque statique. C'est de cette façon-je distribuer un de mes bibliothèques, Resty et comment j'ai l'intention de distribuer mes bibliothèques dans l'avenir.
Vous pouvez regarder le fourni Rakefile dans ce projet (dans le cas où vous ne seriez pas au courant, le Râteau est Ruby est l'équivalent de Faire). J'ai une poignée de tâches pour la compilation de mon projet (à l'aide de
xcodebuild
) et de l'emballage comme un cadre statique pour iOS. Vous devriez trouver cela utile.Alternativement, vous pouvez utiliser ces Xcode 4 modèles pour la création d'un iOS cadre.
Mise à jour 9 Décembre 2013: c'est une réponse alors j'ai pensé que je pourrais modifier pour dire que mon premier choix pour la bibliothèque de la distribution a changé. Mon premier choix pour un tiers de la bibliothèque comme un consommateur ou le producteur est CocoaPods. Je distribue mes bibliothèques à l'aide de CocoaPods et offrent un fichier statique de la bibliothèque avec des en-têtes comme option de repli.
fondamentalement, les cadres des bibliothèques et de fournir un mécanisme pratique pour travailler avec eux. Si vous regardez "à l'intérieur d'un cadre, c'est juste un répertoire contenant une bibliothèque statique et les fichiers d'en-tête (dans certains structure de dossier avec des métadonnées).
Si vous souhaitez créer votre propre cadre de référence, vous devez créer une "bibliothèque statique" et l'emballer dans une manière spécifique. voir cette question
En général, des cadres conceptuels sur les plates-formes sont utilisées pour réutilisables comportement vous permet d'ajouter votre propre code "dans un cadre existant". si vous voulez avoir quelques fonctionnalités spécifiques, vous souhaiterez peut-être utiliser une bibliothèque (par exemple, three20) et pack dans votre application distribuable