Преобразование существующего проекта в настраиваемую структуру

Я разработчик Android, и мне нужно было создать приложение для IOS. Я так и сделал, и теперь приложение готово. Но теперь я хочу сделать это библиотекой/фреймворком. Я имею в виду, что одна и та же база кода будет использоваться в разных проектах для каждого клиента, и они смогут изменять текстовые строки и цвета приложения. Остальная бизнес-логика останется прежней.

Итак, у меня два основных вопроса:

  • Как преобразовать проект в фреймворк? Нужно ли мне создавать отдельный фреймворк в другом месте, а затем импортировать в него проект как Coca touch Framework? Я прав??
  • How to make it customizable? What I meant from Customizable is simple two things.
    • 1) Colors of Views. I have two many views. I want A separate file of colors so that I can change color in it and it reflects changes in whole application
    • 2) Строка. Я хочу изменить текстовую строку, чтобы ее можно было изменить во всех проектах.

Пожалуйста, скажите мне, как я могу достичь этих вещей. Особенно меня беспокоит пункт номер два.

Примечание. Проект, который я хочу преобразовать во фреймворк, имеет два множества viewController, и все они встроены в одну раскадровку.


person Android teem    schedule 11.07.2018    source источник
comment
Вы можете использовать Targets. Вам нужно будет создать цель для каждого клиентского приложения. Каждая цель должна иметь свои собственные файлы локализации для текста, и вы захотите добавить файл конфигурации для каждой цели, чтобы обрабатывать цвета. Вам нужно будет создать выходы из вашей раскадровки или xibs, чтобы вы могли затем изменить цвета в коде с помощью файла конфигурации, а также чтобы вы могли установить идентификаторы для строк, чтобы файлы локализации могли работать.   -  person Hodson    schedule 11.07.2018
comment
Обратите внимание на пункт 4.2.6 в руководстве по проверке App Store… Приложения, созданные на основе коммерческого шаблона или службы создания приложений, будут отклонены, если только они не представлены непосредственно поставщиком приложения. содержание. Эти службы не должны отправлять приложения от имени своих клиентов и должны предлагать инструменты, которые позволяют их клиентам создавать индивидуальные, инновационные приложения, обеспечивающие уникальное взаимодействие с клиентами…   -  person Ashley Mills    schedule 11.07.2018
comment
@Hodson, не могли бы вы дать мне ссылку на это, а также скажите, что вы подразумеваете под файлом конфигурации?   -  person Android teem    schedule 11.07.2018


Ответы (2)


Что касается того, как создать фреймворк, вот как я бы это сделал:

  1. Создайте рабочую область: введите здесь описание изображения

  2. Перенесите проект, который вы хотите превратить в библиотеку, в эту рабочую область, перетащив его из Finder (при этом убедитесь, что он не открыт в XCode). Назовем этот проект FrameworkProj:

  3. Создайте цель для FrameworkProj типа Cocoa Touch Framework: CocoaTouchFramework

  4. Создайте второй проект, который мы назовем SampleProjWhichUsesFramework, и импортируйте в него фреймворк.

Что касается вашего вопроса об установке элементов IB через фреймворк, просто убедитесь, что у вас есть IBOutlets для тех элементов, которые помечены как общедоступные, и они будут доступны для SampleProjWhichUsesFramework как свойства вашего фреймворка.

person jglasse    schedule 11.07.2018
comment
Я читал об этом › framework. Но в вашем ответе у меня есть пара неясностей. На шаге 1, как создать рабочее пространство? извините, я новичок во всем мире ios - person Android teem; 11.07.2018
comment
Это великолепно. Только один последний вопрос: я читал больше о цели. Я могу добиться этого и с помощью target. М я прав ?? также, что больше подходит в моем случае, где у меня такая же кодовая база и нужны лишь небольшие изменения в цветовой схеме и строках для каждого клиента ?? что ты предлагаешь ? - person Android teem; 12.07.2018
comment
Не за то, что вы хотите сделать. Цель построена из одного и того же кода, поэтому вам понадобится отдельный код для установки цветов в каждой из ваших разных целей. Лучше сделать это с помощью фреймворка и отдельных файлов проекта. Надеюсь, это поможет. Не стесняйтесь отмечать мой ответ как ответ на ваш вопрос;). - person jglasse; 13.07.2018
comment
да, я чувствую себя свободным. :) +1 не могли бы вы опубликовать здесь хороший учебник о том, как сделать \ framework, - person Android teem; 16.07.2018
comment
это не работает, у меня есть проект, и я хочу сделать его библиотекой, давайте назовем его libraryProject, теперь я создал отдельный проект, а затем я пошел в File> workSpace: я создал рабочее пространство. Я перетащил туда свой LibraryProject, но ничего не произошло. Что тут делать?????? - person Android teem; 16.07.2018
comment
Теперь вам нужно создать еще один проект в той же рабочей области, который импортирует эту библиотеку. - person jglasse; 16.07.2018
comment
stackoverflow.com/questions/25518077/ - person jglasse; 16.07.2018

Я думаю, вы плохо представляете рабочее пространство в IOS Xcode. Так как в Android рабочее пространство разбирается по-другому. Но есть небольшая разница.

Позвольте мне просто рассказать вам об Android и о том, как вы создали библиотеку и добавили несколько проектов в Android Studio. скажем, у вас есть проект в приложении для Android, скажем, App1, теперь вы можете перейти в меню и добавить другой модуль в качестве библиотеки. Это хорошо и легко для вас. Теперь вы можете создать еще один такой же проект, перейти в новое меню, здесь вы можете выбрать «Новый модуль», а затем из шаблонов вы можете выбрать «Телефон» и «Настольный модуль». назовем его App2.

Точно так же вы можете добавить столько проектов/приложений в один и тот же проект (в IOS вы можете думать о рабочей области), и, в конце концов, все, что вам нужно сделать, это добавить проект вашей библиотеки в качестве зависимости модуля во всех проектах App1, App2, которые вы созданный.

Итак, в IOS рабочее пространство вы создаете в первую очередь. И затем вы создаете в нем App1, App2. Вы добавляете библиотеку (частная платформа в IOS) на том же уровне проекта (тот же каталог). Затем вы можете добавить зависимость библиотеки в другое приложение1, приложение2 и т. д. в другие созданные вами проекты.

Таким образом, ваша кодовая база останется неизменной для других.

Весь учебник можно найти здесь< /а>. Это лучшее, что я нашел, просто попробуйте.

person A.s.ALI    schedule 17.07.2018
comment
это отличное объяснение, но не могли бы вы показать мне или любую вспомогательную ссылку - person Android teem; 17.07.2018