2016-02-03 3 views
0

Я разрабатываю частную инфраструктуру для своих клиентов для своего проекта, чтобы они могли просто перетаскивать их проект и начать использовать.Рамочная процедура для создания частной фреймворка с внутренними подзорами для разных сторонних библиотек

Во избежание нежелательных библиотек импортирует ссылки на пути и добавляет, чтобы строить настройки, я сказал, что создание структуры для организации конечных результатов - это гораздо лучшее решение, которое может обслуживать ОС Watch, IPods, Ipad, IPhones все в одном.

Я хотел создать универсальный каркас с контейнерами, используемыми другим третьим лицом. Могу ли я кому-нибудь помочь мне в этом процессе, как я могу добиться этого, сделав его компактным по размеру и поставленным без исходного кода, кроме файлов интерфейса.

Ожидаемая структура.

MYCustomFramework

  • ----- Версия
  • --------- Некоторые активы Bundle
  • --------- третья партия Бобы Библиотеки
  • --------------- XMPP Framework с использованием Pods
  • --------------- Рамки для документации
  • -------- -------- Структура журналов -

Тогда я хочу, чтобы добавить эту структуру в Мой тестовый проект, который будет иметь стручки своей самости

MyTestProject.xcworkspace MyTestProject.xcproj MYCustomFramework.framework - Это будет иметь все ниже материал составлен кронштейн внутри поэтому никакой источник не был открыт, кроме интерфейсов. {

  • ----- Версия
  • --------- Некоторые активы Bundle
  • --------- третья партия Бобы Библиотеки
  • - ------------- Рамка XMPP с использованием Pods
  • --------------- Рамки документации
  • ---------- ----- База данных }

Как достичь этого и сделать его с меньшим размером, насколько это возможно.

ответ

0

После различных испытаний я наконец сделал эту работу следующим образом.

1) Подпрограммы (выпущенный тестовый проект) не могут иметь Pods для библиотеки со многими третьими лицами. 2 Конфликт рабочего пространства и какой из них будет утомительным.

2) Создайте тестовый проект и примените Pods для этого тестового проекта и открыли его с использованием рабочего пространства.

3) Используйте библиотеку XMPP Framework и извлеченные папки и заголовки без Pods.

4) Создайте Cocoa-Touch Framework и перетащите эту папку XMPPFramework без использования Pods.

5) Аналогично используется ручной процесс интеграции других библиотек в моем Какао-Touch Framework

6) Составитель My Framework и сгенерировал для mycustomframework.framework (Device & Simulator)

7) При желании можно теперь используйте LIPO, чтобы сделать агрегированную цель, чтобы убедиться, что все заголовки XMPP и других сторонних библиотек являются частными внутри моей фреймворка, и доступны только открытые общедоступные файлы заголовков для интеграции тестовых проектов.

8) Проработал, чтобы запустить мой тестовый проект, просто перетащив скомпилированный файл «.framework» или перетащив проект библиотеки внутри моего тестового проекта, чтобы он мог отлаживать и мой библиотечный код.

0

попробовать это руководство, вы должны добавить спецификации репо к стручкам сделкам РЕПО, а также https://guides.cocoapods.org/making/private-cocoapods.html

Редакция:

Мы имеем внутренне завернутые ткани POD, который только поставляет Fabric.framework мы получаем из ткани (это было до того, как у Fabric был общественный блок), вот наша спецификация pod. Итак, в своем репо вы можете построить a.рамки и поставить его таким же образом были оберточная ткань

Надеется, что это поможет

{ 
    "name": "InternalFabric", 
    "version": "1.1.1", 
    "summary": "Fabric is a 3rd party library that gives us crash analytics.", 
    "homepage": "https://github.com/myNameHere", 
    "authors": "myNameHere", 
    "license": { 
    "type": "Copyright", 
    "text": "\n Copyright Acme Inc. 2014\n For internal Acme use only. \n" 
    }, 
    "platforms": { 
    "ios": "7.0" 
    }, 
    "source": { 
    "git": "https://github.com/ios-yourLibs/Fabric.git" 
    }, 
    "requires_arc": true, 
    "default_subspecs": "Core", 
    "subspecs": [ 
     { 
     "name": "Core", 
     "vendored_frameworks": ["Fabric.framework","Crashlytics.framework"] 
     }, 
     { 
     "name": "Crashlytics", 
     "dependencies": { 
      "Fabric/Core": [ 

      ] 
     }, 
     "vendored_frameworks": "Crashlytics.framework" 
     } 
    ] 
} 
+0

Это просто объяснение создания частного фреймворка, но не мой ответ. Я хочу создать свою библиотеку, поэтому решил пойти с рамным подходом. Затем я требую XMPP Framework внутри моей библиотеки как зависимость, которая будет указывать только на определенную версию. Поэтому My Pods должен предоставить .framework для конечного пользователя, у которого это встроено внутри. Как достичь этого. –

+0

Я обновил свой ответ, надеюсь, что это поможет –

+0

Спасибо, Дэвид, я немного новичок в этом материале, но думаю, что у меня есть моя точка, почти совпадающая, поэтому я постараюсь сделать эту проверку и вернуться к вам. Кстати, мы можем поговорить, чтобы понять это руководство. Мой идентификатор: [email protected]/ Skype: vickydhas –