2010-10-29 5 views
2

Juste je suis curieux. J'ai créé beaucoup de catégories convinentes pour les classes Objective-C (NSObject, NSDictionary, NSString ...), aussi longtemps que des sous-classes très intéressantes qui rendent beaucoup de tâches populaires dans la programmation iPhone/iPad, pour être aussi facile comme mettre une seule ligne de code ou lancer une méthode. Je voudrais partager ce code avec d'autres mais le problème est, je ne veux pas qu'ils voient le vrai code tant que j'ai passé des heures à le créer. Perheps à l'avenir, je voudrais aussi vendre ce morceau de code.Partagez le code de manière sécurisée Objectif-C

Supposons donc que le fichier s'appelle Extensions et qu'il est divisé en deux fichiers: Extensions.h (où sont environ 100 en-têtes) et Extensions.m - leurs implémentations. Je souhaite distribuer cette classe de manière à ce que Extensions.h soit 100% public - developer voit le code que j'ai mis dans ce fichier pour qu'il sache comment utiliser ces extensions, mais Extensions.m ne devrait pas être visible comme un code, mais comme une bibliothèque ou quelque chose comme ça.

Je voudrais également rendre la mise en œuvre de ce qui précède dans les projets personnalisés aussi facile que possible. Le meilleur moyen serait de simplement drag'n'drop et #import Extensions.h dans l'en-tête.

J'ai hâte de vous entendre. Cordialement Chris

Répondre

4

Flurry fait ceci ... ils distribuent un fichier .h avec les en-têtes et un fichier .a avec le code. On dirait que vous pourriez compiler un fichier .a pour la distribution.

+0

hmmm. Je viens de créer mon pack d'extension à l'aide du modèle Library/Cocoa Touch Static Library. Ajout de ces deux fichiers et importation des frameworks CoreGraphics et UIKit en plus de la Foundation déjà présente. Il m'a généré le fichier libExtensions.a. Et comment puis-je l'utiliser dans un projet différent? Où ou comment dois-je importer cela? Si j'appuie sur get info sur mon projet, je vois libExtensions.a dans les bibliothèques liées, mais le bouton plus/moins de dépendances directes est désactivé. –

+0

Bien pour Flurry vous faites simplement glisser et déposer le répertoire parent des fichiers .h et .a dans votre projet, et choisissez "récursivement Ajouter au projet" ... puis dans les fichiers qui utiliseront les extensions que vous devez importer le. h fichier. –

+0

Hmmm je ne comprends pas. J'ai deux projets - "projet de test" où je voudrais utiliser l'extension, et le projet d'extension où je construis la bibliothèque. Dans Extension, j'ai seulement deux fichiers - Extension.h et Extension.m et leur build un fichier libExtensions.a. Alors, je dois faire glisser le Extension.h et libExtensions.a pour le "projet de test"? Je fais et il me dit que le NSString ne peut pas répondre à la méthode md5 :(ET BTW: Je pense que si je dois le construire en utilisant un dispositif ou un simulateur SDK? –

Questions connexes