Xcode: обновить приложение после переноса аккаунта разработчика

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

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

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

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

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

Что еще мне нужно сделать?

Заметки:

  1. XCode обычно автоматически создает профили обеспечения для приложений (при условии, что установлен флажок "Автоматически управлять подписью", но это не так), но не создает ни одного для этого приложения в моей учетной записи, хотя каждый раз, когда я наведите курсор мыши на значок информации рядом с строка "Управляемый профиль XCode " в Targets -> myApp -> General говорит, что у нее есть профиль обеспечения в соответствии с сертификатом разработки моей учетной записи.

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

0 ответов

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

Проблема возникла из-за того, что я пытался установить приложение, подписанное с другими учетными данными, нежели текущая установленная версия. Например, если у меня установлено приложение, подписанное account1, то установка любого приложения с тем же идентификатором пакета, но подписанного с любым другим именем, кроме account1 (давайте назовем это account2), завершится неудачно. В моем случае account1 был учетной записью моего отца, а account2 был моей учетной записью.

Когда дело доходит до App Store, после просмотра вашего приложения Apple подписывает его и публикует в App Store. В результате все в App Store подписано Apple.

Это означает, что версия приложения, представленная под учетной записью 1, имеет Apple-подпись, и после переноса в учетную запись2 все версии, которые отправляет учетная запись2, также будут подписаны Apple. С точки зрения конечного пользователя, поскольку старая версия (представленная account1) и новая версия (представленная account2) подписаны одним и тем же объектом (Apple), конфликта нет, и пользователь никогда не узнает, что приложение было передано другому учетная запись.

Таким образом, даже если вы видите конфликты на своем конце, конечный пользователь не будет. Чтобы перестать видеть их, просто удалите все версии приложения, которые были подписаны с учетной записью1, и установите новую версию, подписанную с учетной записью2. Все должно работать просто отлично.

Другие вопросы по тегам