ПРЕДУПРЕЖДЕНИЕ ITMS-90080: "Исполняемый файл" Полезная нагрузка /myapp.app/Frameworks/some-framework.framework "не является независимым от позиции

Я ранее мог отправить заявку без проблем. Единственной частью моего рабочего процесса, которая была изменена, было использование Sourcetree. После переноса обновлений в следующие структуры я получаю это предупреждение при отправке в iOS App Store. Я также получаю электронное письмо, которое содержит:

Non-PIE Binary - исполняемый файл "Полезная нагрузка /myapp.app/Frameworks/Alamofire.framework" не является независимой от позиции. Убедитесь, что ваши настройки сборки настроены для создания исполняемых файлов PIE. Для получения дополнительной информации см. Техническое Q & A QA1788 - Создание независимой от позиции позиции

Non-PIE Binary - исполняемый файл Alamofire.framework не является независимым от позиции. Убедитесь, что ваши настройки сборки настроены для создания исполняемых файлов PIE. Для получения дополнительной информации см. Техническое Q & A QA1788 - Создание независимой от позиции позиции

и т.д...

Известными рамками являются:

  • SwiftyJSON
  • Диаграммы
  • Alamofire

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

Update:

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

Ответы

Ответ 1

Похоже, это может быть ошибка на стороне Apple, у меня тоже было это сегодня. См. Здесь:

https://github.com/CocoaPods/CocoaPods/issues/5453

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

Ответ 2

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

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

Серверы яблок сообщали о проблемах на этой неделе.

Похоже, что что-то неправильно на Яблоке заканчивается этим.

Ответ 3

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

"Исполняемый файл" ******/. framework "не является независимым от позиции. Пожалуйста, убедитесь, что ваши настройки сборки настроены для создания исполняемых файлов PIE. Дополнительные сведения см. в Техническом Q & A QA1788 - Building Позиция независимая исполняемая".

Я выполнил шаги, описанные в https://developer.apple.com/library/ios/qa/qa1788/_index.html#/apple_ref/doc/uid/DTS40013354. и выполнять чистую сборку. Сборка прошла успешно. Но когда я выбираю "Generic iOS Devices", сборка завершилась неудачно с сообщением об ошибке: "-no_pie и -bitcode_bundle (настройка Xcode ENABLE_BITCODE = YES) не могут использоваться вместе вместе с ошибкой". Чтобы исправить эту проблему, я изменил параметр "Включить биткод" на "НЕТ в цели".

Это исправляет проблему сборки. Теперь, когда я пытаюсь загрузить архив в iTune connect, он дал мне ошибку "ERROR ITMS-90635" Неверный формат Mach-O.............. Убедитесь, что все целевые объекты платформы имеют согласованное значение для параметра сборки ENABLE_BITCODE. "И" Ошибка загрузки ".

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