2013-12-02 6 views
10

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

  • У меня есть приложение .ipa и .plist моего приложения на сервере. Я сделал загружаемую веб-страницу, которая использует itms-services, чтобы указать на файл .plist.
  • Я пытаюсь установить приложение на iPhone своего друга, которое добавляется в профиль подготовки проекта.
  • Приложение загружается на его устройство, но остается вечно в состоянии ожидания.

Я хотел бы знать, как приложение устанавливается, добавляется ли оно в очередь? Если одно приложение, у которого есть проблема с установкой, не удается установить, как это влияет на другие приложения, которые я хочу установить. В частности, я хочу знать Что означает состояние ожидания??

Эта проблема возникает не только на iPhone моего друга, но и на моем iPhone. Однако у моего iPhone есть более серьезная проблема, я не могу установить какие-либо приложения, потому что все приложения переходят в состояние ожидания.

У моего друга iPhone (iPhone 5S) есть iOS 7.0.4, у меня iPhone 4S с iOS 7.0.3.

EDIT 03/12/13 - 09:30

Вот это консольный вывод утилиты конфигурирования iPhone при попытке установить.

... itunesstored[102] <Warning>: LaunchServices: installing placeholder for **.***.****.*********** 
... installd[62] <Notice>: 0x2c3000 handle_install_for_ls: Install of "/var/mobile/Library/Caches/com.apple.itunesstored/AppPlaceholders/4703876283909900519.app" requested by itunesstored 
... installd[62] <Notice>: 0x2c3000 MobileInstallationInstall_Server: Installing app **.***.****.*********** 
... installd[62] <Notice>: 0x2c3000 install_application: Installing placeholder 
... installd[62] <Notice>: 0x2c3000 MobileInstallationInstall_Server: Staging: 0.07s; Waiting: 0.00s; Installation: 0.24s; LS Sync: 0.00s; Overall: 0.38s 
... filecoordinationd[128] <Warning>: sandboxing denied subscription to progress on category **.***.****.*********** (bundle id (null), ******-****-*****-*****-*********) 

Я думаю, что песочницы отказано подписки на прогресс в категории части и (расслоение ID (NULL) являются соответствующими ошибками, но я не могу найти какую-либо информации о них ? на Google, любые идеи

EDIT 03/12/13 - 09:39

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

EDIT 03/12/13 - 09:53

Кроме того, приложение устанавливает просто отлично с помощью Ad-Hoc на старом IPad погонных прошивкой 5.1.1.

EDIT 03/12/13 - 16:18

После создания резервной копии сначала в Itunes, а затем проделывают Настройки -> Сброс -> Удалить все содержимое и настройки, приложение был успешно установлен! Прежде чем это сделать, ни мой друг, ни я не могли устанавливать какие-либо приложения (а не наше приложение), но теперь мы оба можем установить наше приложение или любое другое приложение на наших телефонах. Поскольку это не идеальное решение, я не знаю, в чем проблема, я не знаю, что такое «Ожидание ... действительно означает, что я хочу оставить вопрос открытым.

+1

Как вы часто используете веб-загрузку - пытались ли вы использовать конфигурационную утилиту iPhone для покрытия этой задачи на этом проблемном устройстве? – Till

+0

Спасибо, я никогда не использовал этот инструмент, я попробую. – paulvs

+0

Его самый надежный способ установить приложения. Я видел много других путей выхода из строя, но никто никогда не проигрывал (если подготовка и т. Д. Была выполнена правильно). Но убедитесь, что вы используете его на Mac, поскольку версия Windows определенно не срабатывает, иногда, когда версия для Mac не работает. – Till

ответ

2

Обычно, если установка adhoc через Интернет выходит из строя либо из-за недействительного набора ресурсов, установленного на ipa, либо недействительного набора прав, либо тайм-аутов из-за подключения к Интернету.

Я бы уточнил, какие настройки прав вы используете в xcode. Разрешить задание задано в false.

Если это не право, я должен войти в itunes connect, убедитесь, что у вашего профиля распределения установлены правильные устройства. Удалите свой локальный профиль распространения, загрузите профиль из itunes connect и переустановите в свой брелок. Это делается для того, чтобы избежать того, что старые профили все еще ссылаются.

Быстрый и простой способ установки ipas - использовать инструмент настройки iphone, например, paul. Я думаю, что была ошибка с mavericks, но это может быть исправлено сейчас. В худшем случае вы можете перетащить ipa в устройство через организатор.

+0

Требуется ли настройка прав? У меня нет кодов, перечисленных в разделе «Подписание кодов» -> «Права на подпись кода». (Из того, что я читал в [docs] (https://developer.apple.com/library/mac/DOCUMENTATION/Miscellaneous/Reference/EntitlementKeyReference/Chapters/AboutEntitlements.html), он используется только в особых случаях. – paulvs

+0

I см., что get-task-allow в моем профиле подготовки является ОК, потому что он является ложным. – paulvs

+0

Привет, паул, да, вы правы, вам не нужен файл прав. Упоминание было на всякий случай, если у вас его есть. чтобы увидеть, правильно ли был создан plist. Произошло бесчисленное количество раз, когда я неправильно задал заголовок. Также, если проблема с идентификатором пакета, я бы удостоверился, что пакет также правильно указал ваш профиль распространения. – VeganTofu

3

Лично я использую iResign для выхода из ipa с правильным профилем подготовки. https://github.com/maciekish/iReSign

Это не позволяет мне изменять профили подготовки в проекте xCode и строить новый архив. Ipa может быть скомпенсировано в несколько раз.

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

Как только у вас есть ipa, используйте Beta Builder для создания файла plist вместе с хорошим html-файлом, который можно загрузить на ftp. http://www.hanchorllc.com/2010/08/24/introducing-ios-beta-builder/

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

У вас не должно быть никаких проблем с этим методом, отличным от вашего интернет-соединения.

Смежные вопросы