Возможно ли создать собственную оболочку obj-C Cocoa Touch, которую могут использовать другие разработчики? И, кроме того, вы можете защитить эту инфраструктуру?
Могу ли я разработать собственную objective-C Framework для Cocoa Touch Applications?
Ответ 1
Я создал шаблоны для Xcode 4, которые позволяют создавать универсальные рамки iOS (которые работают как на устройстве, так и на симуляторе).
После установки шаблонов вы просто выбираете "Статический iOS Framework" при создании нового проекта, и все остальное. Он также работает с модульными тестами.
Ответ 2
Вы можете создать статическую библиотеку. Для этого нужно выбрать вариант выбора XCode. Вам придется распространять скомпилированный файл статической библиотеки и файлы заголовков пользователям вашей библиотеки. Ваши фактические файлы реализации (.m) не нужно распространять.
GHUnit хорошо справляется с этим - упаковка библиотек для симулятора и устройства - поэтому я рекомендую посмотреть этот проект. (Я также рекомендую использовать эту библиотеку для модульного тестирования: -)
Ответ 3
Структуры в Objective C обычно представляют собой только код C/ObjC и кучу классов, ничего удивительно особенного. Таким образом, вы можете создать свой собственный, если хотите, а затем просто включить его в свой проект при его создании. IPhone не заботится об этой разнице, он просто знает, что нужно положить весь этот код в ваше приложение вместе со всем остальным.
Посмотрите Руководство по программированию на платформе на веб-сайте Apple. Это поможет вам начать. По сути, вы должны создать проект Framework в XCode, а затем перейти оттуда.
Что касается "защиты" ваших фреймворков, я предполагаю, что вы имеете в виду сделать ваш код нечитаемым. Я не уверен, если и как вы это сделаете, но, возможно, руководство Apple скажет что-нибудь об этом.
Ответ 4
Да, вы можете создавать фреймворки для использования с Cocoa Touch.
Однако существуют следующие оговорки:
- должна быть статически связанная библиотека, без динамической загрузки (dyld) для нас
- должна быть объединенной (липо) библиотекой для i386 (симулятор), arm6 и arm7
- вам нужно взломать проект пакета в фреймворк
- вы должны вставлять (небольшие и мало) изображения в библиотеку, чтобы разработчику не приходилось вмешиваться в ресурсы, а просто перетаскивала/удаляла его в свой проект.
- ... или если у вас есть большое и много изображений, создайте пакет с этими
У меня есть руководства для этих вещей на моем сайте.
1 + 2 = http://www.drobnik.com/touch/2010/04/universal-static-libraries/
Другие ссылки, которые у вас есть для google, потому что этот сайт не позволяет мне размещать несколько URL-адресов.
Ответ 5
Вы можете сделать статическую библиотеку доступной как двоичную (например, рудиментарную "защиту" ) третьим сторонам, но не динамической, поскольку политика Apple App Store предотвращает динамическое связывание.
Ответ 6
Взгляните на обработанный пример для статических библиотек, приведенный в этот сайт
Ответ 7
Если вы собираетесь это сделать, на мой взгляд, JSON.framework - отличный пример для подражания. Чтобы скрыть/обфускать исходный код - это совсем другая история и совсем другой вопрос,
Ответ 8
При создании нового проекта перейдите в iOS > Framework и Library > Cocoa Touch Framework, это так просто. Когда вы успешно скомпилируете, в папке Products в XCode будет создана .framework. Щелкните правой кнопкой мыши, чтобы отобразить в Finder, и вы можете найти результат.
Ответ 9
Вряд ли это будет работать так, как вы хотите, потому что другие разработчики не смогут использовать вашу фреймворк. fooobar.com/info/47254/... объясняет, почему.