Как мне удается строить Lite против платной версии приложения iPhone?

голоса
62

Я начинаю, чтобы добраться до точки, где я хочу рассмотреть построение облегченной версии моего iPhone приложения. Я нашел несколько вещей в Интернете, что говорить о процессе немного, а именно:

http://developer.apple.com/tools/XCode/XCodeprojects.html

http://www.pacificspirit.com/blog/2009/01/27/building_for_multiple_iphone_targets_in_xcode

То, что я конкретно интересует упрощение процесса управления, какие файлы включены в различные версии моего приложения, поскольку я постоянно изменять и улучшать платном для версии.

Задан 14/02/2009 в 19:03
источник пользователем
На других языках...                            


7 ответов

голоса
81

Оригинальный ответ от дней до этого в покупке приложения. Правильный ответ сейчас , чтобы отправить один двоичный файл и предлагает платную версию через в обновлении приложения . Это немного больше кода , но это одна партия и коэффициент конверсии, вероятно , будет лучше.

Однако, если вы все еще хотите версии приложения:

Xcode имеет хорошую поддержку для нескольких целей.

В меню проекта выберите «New Target ...». Добавить еще один iPhone исполняемый файла (Cocoa Touch Application), то вы можете указать на Ресурс по ресурсной базе, какие элементы включены в вашей цели. Это может включать в себя только составление определенного кода к платной версии.

Вы можете получить быструю визуальную обратную связь о том, что это и не входит в текущую цель, щелкнув правой кнопкой мыши на «Группы и файлы» списка заголовков (топ LHS) и позволяет целевой Membership.

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

Для того, чтобы указать во время сборки , как определенный класс ведет себя вы можете сделать две вещи - включают в себя две версии класса, каждый из которых построен для их соответствующей цели или, вы можете установить флаг времени сборки для предварительной обработки. Выберите объект в списке «Группы и файлы» , а затем «получить информацию» на этой цели. Перейдите на вкладку сборки и поиск «предобработки». Вы должны увидеть пункт под названием «Препроцессор Макросы» добавить LITEк вашей цели облегченной и таким же образом добавить PAIDк вашему платному цели.

Тейн в ваших исходных файлах вы можете определить во время компиляции , какую версию вы компилируете для использования и #ifdef LITEт.д.

Идя еще дальше, можно установить глобальный флаг или переменную-член AppDelegate, основанный на #ifdef LITE и изменить поведение во время выполнения для Lite и платных приложений. Я не уверен, я вижу значение в этом же.

Ответил 14/02/2009 в 19:59
источник пользователем

голоса
24

Как разработчик, вы хотите написать наименьший код возможных (меньше ошибок, меньше времени). В версии сборки расходятся вам придется вкладывать больше работы и отдельные тесты.

Если вы не делаете дорогой инструмент хакера вы могли бы рассмотреть вопрос о сохранении разницы как можно проще - просто какие-то скрытые предпочтения или настройки. Таким образом, большинство проверок и испытаний будет делать ту же работу в обеих сборках очень мало код будет отличаться. Ключевой проблемой является не обременять себя в качестве разработчика.

Причина иметь расходящиеся строит это для того, чтобы бесплатно не может быть взломан в «Paid» версии. Люди, которые бы попытаться обойти такое простое ограничение в первую очередь к югу множество тех, кто джейлбрейк свои телефоны. Независимо от того, что вы делаете, вы никогда не получите свои деньги в любых условиях, кроме они так поразили они покупают это только, чтобы показать признательность.

Ответил 14/02/2009 в 22:30
источник пользователем

голоса
7

Создатель «Flower Garden» детали плюсы / минусы различных подходов к созданию облегченной версии здесь:

http://gamesfromwithin.com/from-full-to-lite-in-under-an-hour

Ответил 18/02/2009 в 01:09
источник пользователем

голоса
3

Я нашел успех с:

Учебник - Same Xcode проекта Создание нескольких продуктов для iPhone http://adeem.me/blog/2009/04/18/tutorial-same-xcode-project-create-multiple-products-for-iphone/

Он охватывает большую часть того, что Роджер Нолан упомянул в своем ответе на вопрос, но шаг за шагом с снимков экрана.

Это позволяет использовать C # IFDEF, чтобы включить или исключить функциональность в вашем приложении.

Некоторые детали были не совсем правы - из-за различий в Xcode я уверен, - но это было не слишком трудно понять, правильный / новый способ сделать каждый шаг.

Примечание: Вы должны пойти в Apple, и получить новый идентификатор приложения для версии Lite вашего приложения. Действия, описанные в руководстве создаст копию info.plist файла, который вы, вероятно, переименовывать к чему-то вроде infoLite.plist - в этом файле вы должны изменить «Bundle Identifier», чтобы соответствовать этому новому APPID ,

Ответил 14/09/2009 в 05:35
источник пользователем

голоса
2

С iPhone 3.0, вы можете использовать в приложении покупки, а и позволить, чтобы разблокировать полную функциональность без того, чтобы сделать больше, чем одно приложение. Я также думаю, что это позволит избежать людей получать это бесплатно, но я не так уверен.

Ответил 13/11/2009 в 23:28
источник пользователем

голоса
1

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

Ответил 14/02/2009 в 20:38
источник пользователем

голоса
0

Лучше подход иметь только один проект, с несколькими целями , а не - по одному для каждой версии приложения. Итак , каковы цели: Несколько целей

Ответил 03/06/2015 в 09:56
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more