Ответ 1
На этот вопрос ответил предыдущий пост
Основная идея заключается в том, что вы создаете две цели, а затем либо используете #ifdefs, либо создаете отдельные файлы для управления контентом в двух целях. Создание другой цели мертво просто. Просто щелкните правой кнопкой мыши по существующей цели и продублируйте ее. Дайте ему имя, которое вы хотите для бесплатного приложения.
В вашем случае вы, вероятно, захотите иметь разные значки для игры "Свободный и платный", поэтому создайте две папки с иконками - "Free-Icons", а другую - "Paid-Icons". Поместите их в папку проекта и при импорте присоедините их к одной из целей.
Я продублировал исходные файлы Info.plist и Prefix.pch и дал им разные имена, но вы можете использовать одни и те же имена, просто поместите их в разные папки. Вам нужно будет настроить параметры сборки для каждой цели, чтобы отразить новые имена.
У вас может быть меньше контента в бесплатном приложении. Просто выберите звуки и изображения, которые находятся только в платных приложениях, а в инспекторе отметьте целевое членство как только платное приложение.
Вам также нужно будет отредактировать свои схемы так, чтобы вы могли создавать две версии. Я только что закончил это для проекта, над которым я работаю, и потребовалось около двух часов от начала до конца, чтобы найти все, что нужно было изменить. Я предполагаю, что могу добавить еще одну версию примерно через 15 минут, чтобы узнать, что я делаю.
Этот способ делать вещи лучше, чем дублировать код или заменять содержимое в одной базе кода, потому что вы можете легко переключаться между целями, чтобы убедиться, что все работает, когда вы вносите изменения.