Платформа xcode 8.3 не найдена FileProvider для архитектуры armv7

Когда я использую xcode 9 beta 6 для создания реактивного проекта, он работает нормально.

Но после того, как я перешел на xcode 8.3, сборка завершилась неудачно и показывает мне эту информацию:

ld: framework not found FileProvider for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Apple Mach-O Linker (ld) Error Group
: Linker command failed with exit code 1 (use -v to see invocation)

Что мне делать, если я использую xcode 8.3 для разработки? Я не могу использовать xcode 9 из-за этого: Xcode произошел сбой после добавления ART.xcodeproj в библиотеку

Спасибо всем братцы :)


person Ci Kai    schedule 01.09.2017    source источник
comment
какова ваша цель развертывания приложения?   -  person iNiravKotecha    schedule 01.09.2017
comment
Базовый SDK @NiravKotecha — IOS 10.3, цель развертывания IOS — IOS 9.0 :)   -  person Ci Kai    schedule 01.09.2017
comment
это может вам помочь.. developer.apple.com/documentation/fileprovider developer.apple.com/documentation/fileprovider/   -  person iNiravKotecha    schedule 01.09.2017
comment
@NiravKotecha Я видел их сегодня утром, но на самом деле я не знаю, что делать дальше, я немного разбираюсь в target-c, просто разработчик javascript ... :(   -  person Ci Kai    schedule 01.09.2017
comment
Это тоже моя проблема. Вы смогли ее решить?   -  person prabodhprakash    schedule 07.09.2017
comment
Если мы не используем функции FileProvider, можем ли мы создать статическую библиотеку из Xcode 9, которая не связана с этой структурой?   -  person NSRover    schedule 15.09.2017


Ответы (5)


Среда FileProvide доступна только в Xcode 9. Вам необходимо загрузить и установить Xcode 9 вручную, если вы хотите продолжить работу в среде Xcode 8,

Я тоже получаю эту ошибку после обновления моего фреймворка черезcocopods:

ld: framework not found FileProvider for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Вам нужно скопировать структуру FileProvider из Xcode 9 в каталог Xcode 8.

  1. Загрузите версию выпуска Xcode 9 здесь.
  2. После установки перейдите в папку Приложение, щелкните правой кнопкой мыши Xcode9.app и выберите Показать содержимое пакета.
  3. Перейдите в этот каталог:
    #P4#
  4. Скопируйте FileProvider.framework и вставьте в тот же каталог Xcode8.app.
  5. Перезапустите Xcode8, очистите проект и перестройте его.
person felixwcf    schedule 29.09.2017
comment
Но для меня это все еще проблема, даже после того, как я последовал вашим предложениям, любые другие предложения по исправлению этого stackoverflow.com/questions/46949732/ - person Anilkumar iOS - ReactNative; 26.10.2017
comment
Да, и кстати спасибо за быстрый ответ, у вас есть предложения по этому исправлению? - person Anilkumar iOS - ReactNative; 27.10.2017
comment
Я столкнулся с этой проблемой, потому что использую библиотеку, загруженную из модулей. Если я удалил библиотеку, проблема исчезла. Оттуда он говорит мне, что я должен включить структуру xcode, которая такая же, как у разработчика библиотеки. Возможно, он использует Xcode 9.0 или последнюю версию 9.0.1 с возможностью другой структуры фреймворка. Я хочу сказать: вы должны использовать правильный FileProvider.framework в качестве версии Xcode разработчика библиотеки. Но это всего лишь предположение. Если вы пробовали фреймворк из версии 9, попробуйте другую, версию 9.0.1. Кроме того, убедитесь, что вы вставляете правильный каталог. - person felixwcf; 27.10.2017
comment
Но я получаю эту ошибку в Xcode 8.3.2, как исправить это в Xcode 8.3.2, раньше эта ошибка не возникала, после установки Firebase я получаю эту ошибку. - person Anilkumar iOS - ReactNative; 30.10.2017
comment
@AnilkumariOSdeveloper Бхаи Ваша проблема решена?? Пожалуйста, дай мне знать... - person Anurag Sharma; 03.12.2017
comment
@AnuragSharma, нет. - person Anilkumar iOS - ReactNative; 04.12.2017
comment
@felixwcf мой случай. Я только что добавил инфраструктуру файлового провайдера, теперь ошибка в том, что инфраструктура IOsurface отсутствует. Я только что добавил этот фреймворк из xcode9, но он все равно выдает ошибку... буду признателен за любую помощь. - person Anurag Sharma; 04.12.2017
comment
Я думаю, что инфраструктура IOsurface также находится в том же каталоге. Выполните точно те же шаги, что и в приведенном выше ответе. Кроме того, вы должны убедить своего менеджера проекта отказаться от iOS7 и, возможно, 8. Не стоит тратить свои ресурсы на поддержку очень старых версий iOS, так как сейчас не так много пользователей все еще используют старые версии iOS. Ссылка: developer.apple.com/support/app-store и data.apteligent.com/ios - person felixwcf; 13.12.2017

Один из способов исправить это — перейти к:

/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDK/iPhoneOS.sdk/System/Library/Frameworks/

и поместите FileProvider.framework в свой проект (например, скопируйте, вставьте, а затем перетащите в группу Project Frameworks).

Затем дождитесь выхода XCode 9 и удалите его.

Редактировать: Однако с этим подходом есть проблема: приложение, работающее на iOS ‹ 11, вылетит, потому что двоичный файл для FileProvider не будет найден.

Чтобы обойти эту проблему:

  • добавьте FileProvider.framework в свой проект на XCode 8.x

  • связать бинарник с библиотеками

  • затем отсоедините его.

теперь проект должен строиться без проблем.

person EwyynTomato    schedule 07.09.2017
comment
Я перестроил некоторые сторонние фреймворки в среде xcode 8.3 и IOS 9, и тогда все работает хорошо. Большое спасибо ! С нетерпением жду релиза XCode 9 :) - person Ci Kai; 11.09.2017
comment
О To work around this problem подробнее здесь: stackoverflow.com/a/46703798/277277 - person Antoine F.; 27.11.2017

И когда вы строите с помощью симулятора, вы должны скопировать FileProvider.framework в

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDK/iPhoneOS.sdk/System/Library/Frameworks/

person Leo_Lee    schedule 25.10.2017

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

person zenone    schedule 08.09.2017

Попробуйте перезагрузить компьютер и очистить производные данные.

person mikezs    schedule 26.09.2017