Ist es möglich, ein eigenes obj-C Cocoa Touch-Framework zu erstellen, das von anderen Entwicklern verwendet werden kann? Und können Sie dieses Framework weiterhin schützen?Kann ich mein eigenes objektive C-Framework für Cocoa Touch-Anwendungen entwickeln?
Antwort
Ich habe Vorlagen für Xcode 4 erstellt, mit denen Sie universelle iOS-Frameworks erstellen können (die sowohl im Gerät als auch im Simulator funktionieren).
Sobald die Vorlagen installiert sind, wählen Sie einfach "Static iOS Framework", wenn Sie ein neues Projekt erstellen und es erledigt den Rest. Es funktioniert auch mit Komponententests.
Vielen Dank für eine solche Lösung, es hat mir etwas Zeit erspart. –
Ich habe auch diese Vorlage verwendet und es funktioniert sehr gut! – MortenHN
Nicht unterstützt xcode4.5. – user501836
Die Frameworks in Objective C sind in der Regel nur C/ObjC-Code und eine Reihe von Klassen, nichts Besonderes. Daher können Sie Ihre eigenen erstellen, wenn Sie möchten, und diese dann beim Erstellen in Ihr Projekt einfügen. Das iPhone interessiert sich nicht für den Unterschied, es weiß nur, dass all dieser Code zusammen mit allem anderen in die App eingefügt wird.
Werfen Sie einen Blick auf die Framework Programming Guide auf der Apple-Website. Es wird dir helfen. Im Wesentlichen erstellen Sie ein Framework-Projekt in XCode und gehen dann von dort aus.
Zum "Schützen" Ihres Frameworks nehme ich an, dass Sie Ihren Code unlesbar machen. Ich bin mir nicht sicher, ob und wie Sie das tun können, aber vielleicht wird Apples Guide etwas dazu sagen.
Sie könnten eine statische Bibliothek als Binärdatei (d. H. Rudimentär "Schutz") für Dritte verfügbar machen, jedoch nicht als dynamische Bibliothek, da die Apple App Store-Richtlinie eine dynamische Verknüpfung verhindert.
Sie können eine statische Bibliothek erstellen. Dazu gibt es eine Option in der XCode-Projektauswahl. Sie müssen die kompilierte statische Bibliotheksdatei und die Headerdateien an Benutzer Ihrer Bibliothek verteilen. Ihre eigentlichen Implementierungsdateien (.m) müssen nicht verteilt werden.
GHUnit macht einen guten Job dabei - die Bibliotheken für Simulator und Gerät zusammenpacken - also empfehle ich, dieses Projekt zu betrachten. (Ich empfehle auch, diese Bibliothek für Komponententests zu verwenden :-)
Als weiteres Beispiel wird die Cocoa Touch-Variante von Core Plot als statische Bibliothek kompiliert: http://code.google.com/p/core-plot/ –
Wenn Sie es tun, ist meiner Meinung nach JSON.framework ein großartiges Beispiel zu folgen. Den Quellcode zu verstecken/zu verschleiern ist eine andere Geschichte, und eine andere Frage ganz,
Es ist unwahrscheinlich, dass dies funktioniert so, wie Sie es wollen, weil die anderen Entwickler nicht in der Lage sein werden, Ihr Framework zu verwenden. This StackOverflow Question erklärt warum.
Sie gehen davon aus, dass ein Framework automatisch die Verwendung einer dynamischen Bibliothek impliziert, die nicht korrekt ist. Sie können ein Framework um eine statische (universelle) Bibliothek herum erstellen, daher funktioniert es wirklich perfekt. – Till
Schauen Sie sich an einem Beispiel für statische Bibliotheken gegeben bei this site
Ja, Sie können mit Cocoa Touch für den Einsatz Frameworks erstellen.
Allerdings gibt es diese Einschränkungen:
- hat eine statisch gelinkte libary, kein dynamisches Laden (dyld) für uns
- sollte sein werden, um eine kombinierte (Lipo) Bibliothek für i386 (Simulator), ARM6 und arm7
- Sie müssen ein Bundle-Projekt in ein Framework hacken
- sollten Sie (kleine und wenige) Bilder in die Bibliothek einbetten, so dass der Entwickler nicht mit Ressourcen rumhantieren muss, sondern nur es in seine zieht Projekt
- ... oder wenn Sie große und viele Bilder bauen ein Bündel mit diesen
I Führungen für diese Dinge auf meiner Seite haben.
1 + 2 = http://www.drobnik.com/touch/2010/04/universal-static-libraries/
Die anderen Links, die Sie Google, weil diese Seite nicht ich mehr als eine URL posten nicht lassen.
Es können Sie mehr als eine URL veröffentlichen. – Brandon
mit swift wir können nicht erstellen statische Bibliothek die einzige wäre ein Framework erstellen.so Framework ist im Grunde Sammlung von statischen und dynamischen Bibliotheken, aber dynamische Bibliothek sollten wir nicht verwenden, wie dynamische Verknüpfung ist gegen Apple rules.so Swift-Projekt wird gedreht in Rahmen muss es statische Bibliothek enthalten, die es ziemlich widerspricht. –
Wenn Sie ein neues Projekt zu erstellen, navigieren Sie zu iOS> Rahmen & Bibliothek> Cocoa Touch Framework ist es so einfach wie das. Wenn Sie erfolgreich kompiliert werden, wird .Framework unter Products-Ordner in XCode erstellt. Klicken Sie mit der rechten Maustaste, um sie im Finder anzuzeigen, und Sie können die Ausgabe finden.
- 1. Wie kann ich mein eigenes Versprechen abgeben?
- 2. ReactJS: Kann ich mein eigenes SyntheticEvent erstellen?
- 3. Wie kann ich mein eigenes Basis-Image für Docker erstellen?
- 4. Wie kann ich mein eigenes Plugin für Webstorm schreiben?
- 5. mein eigenes Thema
- 6. Bootstrap für mein eigenes Framework aufgeben
- 7. Wie erstelle ich mein eigenes Ostream/Streambuf?
- 8. Wie funktioniert die Größe? Wie kann ich mein eigenes schreiben?
- 9. Wie kann ich mein eigenes Skript bei jedem Booten ausführen
- 10. Ich kann mein eigenes ElasticSearch-Plugin nicht installieren
- 11. Mein eigenes PHP Framework erstellen
- 12. Android - Mein eigenes Tab-Steuerelement
- 13. Soll ich HL7 RIM verwenden oder mein eigenes Datenmodell rollen?
- 14. Kann ich mit VB.NET für MonoTouch entwickeln?
- 15. Kann ich eine iPhone-Anwendung entwickeln, die mein Unternehmen nur für interne Mitarbeiter verwenden kann?
- 16. Welche Software benutzt Wikia und kann ich das für mein eigenes gehostetes Wiki haben?
- 17. Mein eigenes UIElement-Steuerelement in XAML hinzufügen
- 18. .NET/WP7-Anwendungen debuggen - soll ich mein eigenes Framework schreiben?
- 19. Xcode konnte keine schnelle Repräsentation für mein eigenes Framework generieren
- 20. Wie schreibe ich mein eigenes Global Snippets Programm mit .NET?
- 21. Die beste Art, mein eigenes Projekt für Einzelentwickler zu überprüfen?
- 22. Wie öffne ich mein eigenes Inventar über ein Event?
- 23. Definieren Sie mein eigenes lesen Makro
- 24. Wie schreibe ich mein eigenes Server Logging Skript?
- 25. kann mein eigenes Heimverzeichnis nicht löschen/home/<userid>
- 26. Erlaubnis verweigert mein eigenes Programm läuft (ubuntu)
- 27. Wie binde ich mein eigenes RxJS mit einem [(ngModel)]?
- 28. Wie benutze ich mein eigenes Java in der Websphere 8.5.
- 29. Wie definiere ich mein eigenes LINQ-Konstrukt in C#?
- 30. Bootstrap und mein eigenes CSS zusammen verwenden
vor was schützen? –
Staub und Fingerabdrücke. – mipadi