Question

Je voudrais écrire un code Objective-C pour la distribution. Quelle est la meilleure façon d'emballer la sortie. En Java, vous pouvez emballer votre code dans un fichier JAR et distribuer. Quel serait l'équivalent en Objective-C?

Le lien suivant est proche, mais semble répondre à plusieurs des questions d'espace de noms que je ne suis pas préoccupé. Je suis surtout préoccupé par la mise en place du code pour une distribution facile.

équivalent Objective-C des packages Java?

Était-ce utile?

La solution

Un cadre est presque certainement le chemin à parcourir. L'une des choses vraiment sympa sur les cadres sur OS X est qu'ils peuvent regrouper les codes exécutables, en-têtes, les métadonnées, images, icônes, etc. dans un seul paquet. En outre, les cadres peuvent être inclus dans */Library/Frameworks/ ou même à l'intérieur de votre paquet d'applications pour découpler complètement de la dépendance de toute autre application sur une version donnée du cadre.

est le meilleur endroit pour commencer avec les cadres.

Création d'un cadre est simple. En fait, dans Xcode vous choisissez Fichier> Nouveau projet ... et cadre de sélection, puis du framework Cocoa. Cela crée un nouveau projet avec l'objectif-cadre et emballer automatiquement tout pour vous lorsque vous construisez.

Ne pas oublier que la documentation et les tests unitaires sont une bonne chose ™, en particulier pour les cadres, qui sont par nature plus susceptibles d'être utilisés par plusieurs clients que la plupart du code utilisateur final. Vous pouvez ajouter des cibles à votre projet Xcode-cadre pour documenter et tester.

Puisque vous êtes à la recherche d'exemples, consultez CHDataStructures.framework (un projet Je développe) et PSMTabBarControl.framework (qui comprend beaucoup de ressources supplémentaires dans le cadre). Les deux sont open source, et devrait fournir des exemples appropriés pour rouler vos propres.

Un conseil pour vous faire gagner raye de la tête: vos fichiers d'en-tête ne seront pas copiés dans le cadre bâti, sauf si vous cliquez sur la cible-cadre et de changer le « Public » Rôle (ou "privé").

Autres conseils

Vous voulez créer un cadre. Il y a un point de départ dans Xcode pour un nouveau projet pour créer un d'eux. Il y a quelques mises en garde et gotchas, mais dans l'ensemble du processus est simple.

Edit: Pour plus de précisions: Si vous prévoyez de le distribuer comme les logiciels libres; emballer dans un cadre pourrait être surpuissant; juste distribuer le code source peut être une option plus raisonnable et plus simple. Mais si vous voulez garder la source pour vous ou le distribuer avec une collection de ressources pertinentes, un cadre pourrait certainement être une bonne idée.

remodifier: Pour une introduction, voir http://developer.apple.com / documentation / MacOSX / conceptuel / BPFrameworks /

Vous n'avez pas dit si elle était pour iPhone ou non. Sur l'iPhone, il doit être un .sa (bibliothèque statiquement liée) - mais je pense que la distribution normale serait par un .dylib ou .so

Vous pouvez compiler comme un cadre ou une bibliothèque statique (.donc je crois).

programmes Java fonctionnent dans le contexte d'une machine virtuelle. Pot contient bytecode abstraites qui doit être transformé en code machine natif par la machine virtuelle.

Objective-C, comme C, est compilé en code machine natif, tel qu'un fichier Exe Win, directement exécutable par le système d'exploitation.

La plupart des programmes de toute complexité se composent de plus d'un seul fichier et comprennent DLL, fichiers d'icônes, etc. La configuration de vos fichiers pour la distribution serait généralement assurée par un utilitaire de configuration.

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