2012-01-05 4 views
5

Я пытаюсь создать файл ipa (Product-> Archive-> Share), но Xcode создает только архивный файл.Xcode создает архив вместо IPA

Он работал хорошо несколько дней назад. Я всегда получал работу ipa, но теперь я не могу заставить ее создавать ipa (когда я нажимаю на share в архиве, я не могу подписать код). Я добавил подпроект в основной проект за несколько дней (CorePlot-CocoaTouch). Я не знаю, что это может быть связано.

ответ

13

Если вы добавили статическую библиотеку, они будут установлены по умолчанию. Это не подходит для приложений iPhone. Перейдите в файл проекта и выберите цель статической библиотеки. Под номером Build Settings перейдите к разделу Deployment и измените настройку Skip Install на YES. Начиная с Xcode 4, теперь по умолчанию используется NO, что приведет к поломке вашего IPA (так как единственный двоичный файл, который вы можете установить на законных основаниях, является самим двоичным кодом приложения).

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

+0

Благодарим вас за ответ. Я уже сделал это (установите все «skip installs», которые я нашел «да»), но с тем же результатом. Он по-прежнему предлагает мне архив без возможности поделиться им как ipa. – Engeor

+1

@Engeor Затем еще что-то еще устанавливается. Взгляните в исходный архив, который был создан (или даже новый, который он делает). Единственное, что там должно быть, - это приложение. Узнайте, что еще там происходит, и вы поймете, где искать дальше. –

+0

Единственная разница между старым архивом, который работал, и новым архивом, который не является папкой с файлами заголовков CorePlot. Помимо этого есть только один файл приложения. Я потерял :-( – Engeor

8

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

Для этого выберите целевую аудиторию библиотеки, затем перейдите к разделу «Сборка фаз»> «Копировать заголовки» и переместите файлы заголовков из «Публичный» в «Проект».

+0

Ваше решение очень помогло мне! –

0

В XCode 5 такая же ошибка возникает, если у вас есть несколько целей и неправильные флажки в разделе «Управление схемами». Затем Xcode помещает 2 двоичных файла в 1 Generic Archive. Это не влияет на проверенные в файлах, например, мерзавец!

0

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

2

Тот, кто пытался все другие ответы и не имели везении, пожалуйста, проверьте этот флажок, надеюсь, это поможет (сделал трюк для меня Xcode 6.0.1)

enter image description here

0

Если включить проект, который создает статическую библиотеку, попробуйте проверить параметр «копировать только при установке». Это остановило Xcode от включения статической библиотеки внутри моего архива приложений. Я использовал Xcode 6.3.2.

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