ПРЕДУПРЕЖДЕНИЕ 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. "И" Ошибка загрузки ".
Теперь, чтобы исправить это, я отключил галочку в опции "включить биткод" в диалоге загрузки и загрузил работу как ожидалось без каких-либо предупреждений или ошибок.