Jak zbudować framework lub bibliotekę dla innych programistów, bezpieczny sposób? [zamknięte]

Mamy pomysł na framework lub bibliotekę, która będzie bardzo pomocna dla każdego dewelopera iOS. Dlatego poważnie myślimy o przejściu z tworzenia aplikacji na tworzenie frameworków/bibliotek.

Ale kiedy chcemy pobierać opłaty za bibliotekę / framework, musimy jakoś chronić kod. Jak możemy zbudować framework w taki sposób, że użytkownik naszego frameworka nie widzi kodu źródłowego, podobnie jak my nie widzimy kodu źródłowego frameworków Apples? Wysyłają tylko pliki nagłówkowe i jakiś dziwny Unixowy plik exe z skompilowanym frameworkiem.

Lub jeśli nie jest możliwe stworzenie skompilowanego frameworka / biblioteki, z której inni Programiści iOS mogą korzystać bez możliwości kopiowania i wklejania naszych kodów źródłowych, to czy istnieje sposób na zaciemnienie kodu objective-c?

Author: Proud Member, 2010-10-31

3 answers

Tak, możliwe jest budowanie frameworków, aby użytkownik frameworka nie mógł zobaczyć kodu źródłowego.

Sprawdź te artykuły (Pierwszy z nich z powodzeniem wykorzystałem do tworzenia frameworków w przeszłości-późniejsze artykuły są aktualizacjami do "oryginał": {]}

Http://www.drobnik.com/touch/2010/04/making-your-own-iphone-frameworks/

Http://www.drobnik.com/touch/2010/05/making-your-own-iphone-frameworks-in-xcode/

Http://www.drobnik.com/touch/2010/10/embedding-binary-resources/

Aby użyć frameworka, Twoi użytkownicy po prostu przeciągną .framework bundle do Xcode. Będą mogli zobaczyć pliki nagłówkowe skopiowane do pakietu( zobacz artykuły powyżej), ale nie źródło (ponieważ nie jest dołączone-tylko skompilowane wyjście jest w pakiecie).

Może to być również świetny sposób na dystrybucję kodu, który jest używany do wielu projektów w Twojej firmie.


Aktualizacja:

Zobacz link dodany poniżej -- jest znacznie nowszy i wszystko na jednej stronie: http://github.com/jverkoey/iOS-Framework . przedstawiono również problemy z kilkoma innymi podejściami. To jest przewodnik, którym teraz podążam, próbując przypomnieć sobie, co robić przy tworzeniu nowego frameworka. :)

Update2 (z wydaniem Xcode 6)

Istnieje opcja, dokładnie to, czego szukasz: Universal Framework for iOS!

Czy mój kod będzie widoczny dla innych?O: Nie. Ten Framework wyeksportuje skompilowany plik binarny, aby każdy mógł go zobaczyć. Możesz zrobić to samo dla innych plików, takich jak XIBs.

Po co mi to? o: to jest dla programistów/zespołów, które chcą udostępnić swoje kody bez pokazywania całego kodu (.m/.c/.pliki cpp). Poza tym jest to dla tych, którzy chcą zorganizować skompilowany kod + zasoby ( obrazy, filmy, dźwięki, XIBs, plist, itp.) w jednym miejscu. I to jest również dla tych zespołów, które chcą pracować razem powyżej tej samej bazy (framework).

(c) http://blog.db-in.com/universal-framework-for-ios/

 112
Author: Jay Peyer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-14 15:17:06

[[0]} ten przewodnik jest nieco nowszy do tworzenia statycznych frameworków iOS:

Https://github.com/jverkoey/iOS-Framework

 51
Author: featherless,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-05-06 15:25:35

Istnieje również szablon dla XCode 4 , który pozwoli Ci tworzyć statyczne projekty frameworków iOS.

 9
Author: Greg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-07 20:45:55