Я близок к завершающей стадии разработки приложения для iPhone и буду выпускать его как в «облегченной» (поддерживаемой рекламой) версии, так и в «про» (без рекламы, вероятно, с дополнительными функциями в какой-то момент). .
Я следовал рекомендациям здесь и в других местах о создании нескольких целей и т. Д. И могу построить их без проблем.
Но это заставляет задуматься: каков наилучший, наиболее удобный и приемлемый способ обработки перехода от облегченной версии приложения к профессиональной версии?
Как я понимаю - и, пожалуйста, исправьте меня, если какие-либо из моих предположений неверны - потенциально это можно сделать двумя способами:
Дайте каждому приложению свой идентификатор Bundle (т. Е. Com.companyname.fooapplite и com.companyname.fooapppro). Это приведет к тому, что оба будут рассматриваться как совершенно отдельные объекты. Данные не переносятся автоматически, если пользователь переходит от одного к другому, и оба вполне могут быть установлены на одном iPhone одновременно.
Присвойте каждому приложению один и тот же идентификатор пакета (т. Е. Com.companyname.fooapp), чтобы они рассматривались как одно и то же приложение. Облегченная версия приложения будет перезаписана профессиональной версией, если они загрузят и установят ее. Данные из облегченной версии поддерживаются в профессиональной версии.
Последнее кажется мне идеальным - я не могу представить, чтобы кто-то хотел сохранить облегченную версию после того, как он только что купил профессиональную версию - но это поднимает несколько вопросов:
Допускает ли Apple даже вариант № 2?
Приведет ли вариант 2 к любой глупости, о которой я должен знать, т.е. две версии каким-то образом наступают друг на друга.
Если это не разрешено, существует ли рекомендуемая практика переноса данных из двух основных приложений? Мне известен StoreKit, но он не поддерживается бесплатными приложениями.
Как таковое, это текущее приложение на самом деле не генерирует данные огромной ценности, и худшее, что может случиться, это то, что пользователям придется повторно вводить некоторые учетные данные для аутентификации после обновления до pro. Но в будущем, если бы мне пришлось разрабатывать подобное приложение, которое хранит ценные данные локально, я бы хотел знать, как наилучшим образом обеспечить беспрепятственный переход пользователей и их данных.
* * 1036 спасибо * * 1037