Почему Settings.bundle заставляет iTunes сказать, что мое iPhone-приложение недействительно? - PullRequest
0 голосов
/ 20 октября 2011

Хорошо, я работал над приложением для iPhone, используя MonoTouch и MonoDevelop в течение последних нескольких месяцев. За это время я смог развернуть приложение на своем телефоне для целей отладки / тестирования, а также смог скомпилировать версии Adhoc для моих работодателей. Это все работало нормально ... до этой недели.

Последняя отправленная мною версия не войдет в iTunes и завершится с ошибкой:

The app "Payload.ipa" could not be added to your iTunes library because it is not a valid app.

Так что, в основном, ваше общее "что-то не так, но я не собираюсь говорить вам, что именно" ошибка.

Мои первоначальные исследования предположили, что проблема может быть связана с именем приложения, содержащим специальные символы, но, поскольку я долгое время не менял имя приложения, это не проблема. Я добавил версию пакета в info.plist, однако, удаление этой проблемы не решило проблему.

Итак, я взглянул на файлы в выходной папке и заметил, что теперь включен файл Settings.bundle (я добавил файл с именем Config.plist для хранения некоторых настроек, используемых приложением). В MonoDevelop я изменил параметры, чтобы сделать их «Содержимое» и «Всегда копировать», как это было предложено в руководствах, которым я следовал. Это прекрасно работает при запуске приложения в симуляторе или на моем телефоне через MonoDevelop. Но когда я упаковываю приложение в файл .ipa, iTunes говорит, что приложение недействительно. Если я удаляю Settings.bundle, iTunes принимает его.

Я прочитал, что параметр «Всегда копировать» не требуется при настройке «Содержимое», но файл Settings.bundle по-прежнему отображается в папке вывода (bin), даже если для этого параметра установлено значение «Не копировать».

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

Так что мне просто интересно, сталкивался ли кто-нибудь еще с этой проблемой и как вы ее решили?

Ответы [ 2 ]

0 голосов
/ 04 апреля 2013

Я столкнулся с той же проблемой, и после нескольких часов исследований я обнаружил, что ветка ресурса "settings.bundle" была потеряна, потому что я создавал / изменял ее в разделе FAT32. Вам следует создать файл settings.bundle в разделе OSX или восстановить ветвь ресурса.

0 голосов
/ 21 октября 2011

Ладно, после еще нескольких гадостей я использовал TestFlight для развертывания приложения на своем телефоне (я не могу синхронизировать с помощью iTunes на моем компьютере разработчика).

Развертывание приложения с включенным Settings.bundleв Payload не будет устанавливать на телефон, даже используя TestFlight.Однако я решил попробовать без этого файла проверить, будет ли приложение работать без него, и, к моему удивлению, оно работает.

Это немного раздражает, поскольку ранее просто копировали все файлы из выходного каталога в каталог Payloadсработало нормально.Я до сих пор не уверен, почему существует проблема, когда Settings.bundle присутствует или даже почему он существует, если он не нужен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...