Ionic-framework: ios **BUILD FAILED ** повторяющиеся символы для архитектуры x86_64

Созданный на 20 сент. 2017  ·  19Комментарии  ·  Источник: ionic-team/ionic-framework

Ионная версия: (отметьте один знаком «x»)
[ ] 1.x (Для проблем с Ionic 1.x используйте https://github.com/ionic-team/ionic-v1)
[ ] 2.x
[х] 3.х

Я отправляю ... (отметьте один знаком "x")
[x] отчет об ошибке
[ ] запрос функции
[ ] запрос на поддержку => Пожалуйста, не отправляйте запросы на поддержку здесь, используйте один из этих каналов: https://forum.ionicframework.com/ или http://ionicworldwide.herokuapp.com/

Текущее поведение:
По прошествии неопределенного периода времени мое приложение больше не может создаваться для устройств iOS.

Ожидаемое поведение:
Он должен иметь возможность сборки для устройств ios.

Действия по воспроизведению:
Я понятия не имею, как это происходит

Связанный код:
Это то, что я получаю, когда пытаюсь собрать для ios

> cordova build ios
✖ Running command - failed!
[ERROR] An error occurred while running cordova build ios (exit code 1):


        (truncated) ... licate symbol _OBJC_IVAR_$_UNIHTTPStringResponse._body in:

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIHTTPStringResponse-6AE7BF574F7FD89D.o

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIHTTPStringResponse-ACD8B349DA1366AA.o
        duplicate symbol _OBJC_CLASS_$_UNIHTTPStringResponse in:

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIHTTPStringResponse-6AE7BF574F7FD89D.o

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIHTTPStringResponse-ACD8B349DA1366AA.o
        duplicate symbol _OBJC_METACLASS_$_UNIHTTPStringResponse in:

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIHTTPStringResponse-6AE7BF574F7FD89D.o

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIHTTPStringResponse-ACD8B349DA1366AA.o
        duplicate symbol _OBJC_IVAR_$_UNIJsonNode._array in:

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIJsonNode-7600CC35AA339D64.o

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIJsonNode-B9FEAECE639D8883.o
        duplicate symbol _OBJC_IVAR_$_UNIJsonNode._object in:

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIJsonNode-7600CC35AA339D64.o

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIJsonNode-B9FEAECE639D8883.o
        duplicate symbol _OBJC_CLASS_$_UNIJsonNode in:

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIJsonNode-7600CC35AA339D64.o

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIJsonNode-B9FEAECE639D8883.o
        duplicate symbol _OBJC_METACLASS_$_UNIJsonNode in:

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIJsonNode-7600CC35AA339D64.o

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/UNIJsonNode-B9FEAECE639D8883.o
        duplicate symbol _OBJC_CLASS_$_CDVLogger in:

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/CDVLogger.o

        /Applications/XAMPP/xamppfiles/htdocs/LVDLV/clone_new/lvdlv/platforms/ios/build/emulator/libCordova.a(CDVLogger.o)
        duplicate symbol _OBJC_METACLASS_$_CDVLogger in:

        /Users/Alexandre/Library/Developer/Xcode/DerivedData/ShOroom-egyzqumtqhesmlcsgwngozvucwss/Build/Intermediates/ShOroom.build/Debug-iphonesimulator/ShOroom.build/Objects-normal/x86_64/CDVLogger.o

        /Applications/XAMPP/xamppfiles/htdocs/LVDLV/clone_new/lvdlv/platforms/ios/build/emulator/libCordova.a(CDVLogger.o)
        ld: 260 duplicate symbols for architecture x86_64
        clang: error: linker command failed with exit code 1 (use -v to see invocation)

        ** BUILD FAILED **


        The following build commands failed:
                Ld build/emulator/ShOroom.app/ShOroom normal x86_64
        (1 failure)
        Error: Error code 65 for command: xcodebuild with args: 
        -xcconfig,/Applications/XAMPP/xamppfiles/htdocs/LVDLV/clone_new/lvdlv/platforms/ios/cordova/build-debug.xcconfig,-workspace,ShOroom.xcworkspace,-scheme,ShOroom,-configuration,Debug,-sdk,iphonesimulator,-destination,platform=iOS 
        Simulator,name=iPhone 
        SE,build,CONFIGURATION_BUILD_DIR=/Applications/XAMPP/xamppfiles/htdocs/LVDLV/clone_new/lvdlv/platforms/ios/build/emulator,SHARED_PRECOMPS_DIR=/Applications/XAMPP/xamppfiles/htdocs/LVDLV/clone_new/lvdlv/platforms/ios/build/sharedpch

Другая информация:
Это происходит со мной второй раз, после первого раза мне пришлось создавать ионный проект с нуля и потихоньку интегрировать то, что было в исходном проекте и сборке под ios после каждой итерации, чтобы обнаружить проблему. Через несколько часов, когда код был полностью скопирован, я каким-то образом смог собрать его для ios.
Сегодня утром пытался собрать для ios, и у меня все еще возникает та же проблема [см. соответствующий раздел кода] .
Также пытался удалить мои каталоги /plugins и /node_modules, но это не помогло.
Не смог найти ничего в Интернете, чтобы помочь мне ни ..

Ионная информация: (запустите ionic info из командной строки терминала/команды и вставьте вывод ниже):

cli packages:
    @ionic/cli-utils  : 1.10.2
    ionic (Ionic CLI) : 3.10.3

global packages:
    Cordova CLI : 7.0.1

local packages:
    @ionic/app-scripts : 2.1.4
    Cordova Platforms  : android 6.2.3 ios 4.4.0
    Ionic Framework    : ionic-angular 3.6.1

System:
    ios-deploy : 1.9.1
    ios-sim    : 6.0.0
    Node       : v6.11.0
    npm        : 3.10.10
    OS         : OS X El Capitan
    Xcode      : Xcode 8.2.1 Build version 8C1002

Самый полезный комментарий

Попробуйте удалить консоль плагина и попробуйте еще раз, у меня были те же проблемы. Но у меня Кордова ios 4.5

Проблема в CDVLogger, который уже есть в Cordova cli 7.

Копия @kensodemann

Все 19 Комментарий

Привет! Спасибо, что открыли вопрос с нами!

Я не могу воспроизвести вашу ошибку, что вполне логично, потому что, как вы говорите, она обычно работает, а затем таинственным образом останавливается. Итак... начнем с некоторых версий вещей:

Я использую Xcode 9, какую версию используете вы?
Я использую версию $ cordova-ios 4.4.0 , которая выглядит так же, как и вы...

Хмммм... попробую кое-что

Привет, @kensodemann , сейчас я использую Xcode версии 8.2.1.

Спасибо!

Попробуйте удалить консоль плагина и попробуйте еще раз, у меня были те же проблемы. Но у меня Кордова ios 4.5

Проблема в CDVLogger, который уже есть в Cordova cli 7.

Копия @kensodemann

Дублировал его и исправил, хотя я не совсем уверен, что это ваша проблема, но стоит попробовать.

Во-первых, я удаляю свои каталоги node_modules и platform/ios и выполняю npm i и ionic build , что заканчивается установкой cordova-ios версии 4.5.0 , что вызвало ту же проблему, что и у вас.

Мое предположение (и это только предположение) заключается в том, что у вас каким-то образом есть cordova-ios 4.5.0 , хотя ionic info сообщает о 4.4.0 (странно, но на данный момент у меня нет лучшего объяснения) .

Итак, я сделал это:

  1. В package.json измените "cordova-ios": "^4.4.0" на "cordova-ios": "4.4.0" (без '^')
  2. В config.xml измените <engine name="ios" spec="^4.4.0" /> на <engine name="ios" spec="4.4.0" />
  3. rm -rf node_modules/ platforms/ios/
  4. npm i
  5. ionic cordova build ios
  6. * ПОСТРОЙКА УСПЕШНА *

Так что, по крайней мере для меня, ключом к исправлению было прикрепление версии cordova-ios к версии 4.4.0 , а не использование ^4.4.0 , что потребует обновления до минорной версии.

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

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

@kensodemann Именно в этом дело!

@kensodemann Ура, теперь я могу строить, спасибо!!

Вот в чем дело: прежде чем делать ioinc build , я зашел в свой файл package.json и вот что я нашел "cordova-ios": "^4.4.0", , а не ^4.5.0 .

В любом случае, я последовал вашим инструкциям, запустил rm -rf node_modules/ platform/ios , затем npm i и npm build .

Эта последняя команда затем изменила мой "cordova-ios": "^4.4.0", на "cordova-ios": "^4.5.0", .
Чтобы максимально точно следовать вашим инструкциям, я изменил его на ваше предложение "cordova-ios": "4.4.0", (то же самое для config.xml ).

Удалил мои node_modules и platform/ios еще раз и запустил npm i , затем ionic cordova build ios , и это сработало .

Удивительно, но после этого я все еще обнаруживаю, что у меня "cordova-ios": "^4.4.0", в моих package.json и <engine name="ios" spec="^4.4.0" /> в моих config.xml

Удивительно, но после этого я все еще обнаружил себя с «cordova-ios»: «^ 4.4.0» в моем package.json и в моем config.xml

Я предполагаю, что Кордова делает это. Лично я не фанат инструментов, которые портят мои настройки... :(

Я собираюсь закрыть это тогда. Рад, что это работает для вас сейчас.

@nuno прав, плагин консоли является основной причиной, которая была включена в Cordova 7, поэтому просто удалите плагин, чтобы решить проблему.

@kensodemann
Не работал для меня. я получил

Сборка Ld/эмулятор/MyApp.app/MyApp обычный x86_64
cd /Applications/IonicApps/BabyName/платформы/ios
экспорт IPHONEOS_DEPLOYMENT_TARGET=9.0
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Library/Frameworks/Python.framework /Версии/3.5/bin:/Пользователи/saikrishna/Программное обеспечение/android-sdks/platform-tools:/Пользователи/saikrishna/Программное обеспечение/android-sdks/tools:/usr/local/bin:/usr/bin:/bin: /usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10. 3.sdk -L/Applications/IonicApps/BabyName/platforms/ios/build/emulator -F/Applications/IonicApps/BabyName/platforms/ios/build/emulator -FMyApp/Plugins/cordova-plugin-facebook4 -FMyApp/Plugins/ cordova-plugin-googleplus -filelist/Users/eupherntechnology/Library/Developer/Xcode/DerivedData/MyApp-gddohggkprehdkdqznpxmbtrwfzt/Build/Intermediates/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/x86_64/MyApp.LinkFileList — Xlinker -rpath -Xlinker @executable_path/Frameworks -mios-simulator-version-min=9.0 -dead_strip -Xlinker -object_path_lto -Xlinker /Users/eupherntechnology/Library/Developer/Xcode/DerivedData/MyApp-gddohggkprehdkdqznpxmbtrwfzt/Build/Intermediates/MyApp. build/Debug-iphonesimulator/MyApp.build/Objects-normal/x86_64/MyApp_lto.o -Xlinker -no_de дубликат -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -ObjC -Xlinker -sectcreate -Xlinker __TEXT -Xlinker __entitlements -Xlinker /Users/eupherntechnology/Library/Developer/Xcode/DerivedData/MyApp-gddohggkprehdkdqznpxmbtrwfzt/Build /Intermediates/MyApp.build/Debug-iphonesimulator/MyApp.build/MyApp.app.xcent /Applications/IonicApps/BabyName/platforms/ios/build/emulator/libCordova.a -weak_framework AudioToolbox -framework StoreKit -framework Bolts -framework FBSDKCoreKit -framework FBSDKLoginKit -framework FBSDKShareKit -framework CoreLocation -framework GoogleAppUtilities -framework GoogleAuthUtilities -framework GoogleNetworkingUtilities -framework GoogleSignIn -framework GoogleSymbolUtilities -framework GoogleUtilities -weak_framework AddressBook -weak_framework CoreText -weak_framework SafariServices -weak_framework Security -weak_framework SystemConfiguration -weak-l -weak_framework WebKit -weak_framework Social -weak_framework MessageUI -Xlinker -d ependency_info -Xlinker/Users/eupherntechnology/Library/Developer/Xcode/DerivedData/MyApp-gddohggkprehdkdqznpxmbtrwfzt/Build/Intermediates/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/x86_64/MyApp_dependency_info.dat -o /Applications/ IonicApps/BabyName/platforms/ios/build/emulator/MyApp.app/MyApp
повторяющийся символ _OBJC_CLASS_$_CDVLogger в:
/Users/eupherntechnology/Library/Developer/Xcode/DerivedData/MyApp-gddohggkprehdkdqznpxmbtrwfzt/Build/Intermediates/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/x86_64/CDVLogger.o
/Applications/IonicApps/BabyName/platforms/ios/build/emulator/libCordova.a(CDVLogger.o)
повторяющийся символ _OBJC_METACLASS_$_CDVLogger в:
/Users/eupherntechnology/Library/Developer/Xcode/DerivedData/MyApp-gddohggkprehdkdqznpxmbtrwfzt/Build/Intermediates/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/x86_64/CDVLogger.o
/Applications/IonicApps/BabyName/platforms/ios/build/emulator/libCordova.a(CDVLogger.o)
ld: 2 повторяющихся символа для архитектуры x86_64
clang: ошибка: команда компоновщика не удалась с кодом выхода 1 (используйте -v, чтобы увидеть вызов)

* ПОСТРОЙКА НЕ ПРОШЛА *

Не удалось выполнить следующие команды сборки:
Сборка Ld/эмулятор/MyApp.app/MyApp обычный x86_64
(1 неудача)
Ошибка: код ошибки 65 для команды: xcodebuild с аргументами: -xcconfig,/Applications/IonicApps/BabyName/platforms/ios/cordova/build-debug.xcconfig,-workspace,MyApp.xcworkspace,-scheme,MyApp,-configuration,Debug ,-sdk,iphonesimulator,-destination,platform=iOS Simulator,name=iPhone SE,build,CONFIGURATION_BUILD_DIR=/Applications/IonicApps/BabyName/platforms/ios/build/emulator,SHARED_PRECOMPS_DIR=/Applications/IonicApps/BabyName/platforms/ios /сборка/sharedpch

Окружающая обстановка

пакеты cli: (/Applications/IonicApps/BabyName/node_modules)

@ionic/cli-utils  : 1.19.0
ionic (Ionic CLI) : 3.19.0

глобальные пакеты:

cordova (Cordova CLI) : 7.1.0 
Gulp CLI              : CLI version 3.9.1 Local version 3.9.1

локальные пакеты:

Cordova Platforms : ios 4.5.4
Ionic Framework   : ionic1 1.3.3

Система:

ios-deploy : 1.9.1 
ios-sim    : 6.1.2 
Node       : v6.10.3
npm        : 2.15.12 
OS         : macOS Sierra
Xcode      : Xcode 8.3.3 Build version 8E3004b

Переменные среды:

ANDROID_HOME : /Users/saikrishna/Softwares/android-sdks

Разное:

backend : pro

@surajitdeveloper -

Вы уверены, что не устанавливаете консольный плагин?
Вы все удаляли и заново устанавливали с нуля?

Если ваш репозиторий есть в сети, дайте ссылку, и я могу быстро взглянуть. Однако в целом это не проблема Ionic Framework, а проблема использования несовместимых плагинов.

@kensodemann прав, это все из-за того, что плагины старые или несовместимые.

Для меня это оказался cordova-plugin-inappbrowser . В моем config.xml все еще была ссылка на репозиторий git, которого больше не существует. Сначала я не обращал внимания на процесс сборки, но вдруг заметил, что сборка жаловалась на отсутствие репозитория для плагина. Решение оказалось довольно простым: прописать строчку в config.xml в комментарии и переустановить плагин. И iOS снова собиралась :)

Итак, если это может помочь, проверьте журнал сборки после запуска ionic cordova build ios — он может содержать ошибки о плагинах. И проверьте все свои плагины: простая переустановка может не помочь, возможно, вам придется обновить версии.

У меня работает решение от @nuno , просто запустите:
cordova plugin rm cordova-plugin-console
cordova platform rm ios
cordova platform add ios
cordova build ios
Я использую Cordova-ios версии 4.5.4.

Всем привет,

У меня была такая же проблема, и я попытался выполнить решение, опубликованное @didinj , и оно не работает, потому что после этого я получаю сообщение об ошибке для скриптов при выполнении платформы rm, а затем собираю ios, я снова добавляю скрипты приложений, но проблема заключалась в следующем: npm install @ionic / app-scripts@latest --save-dev, потому что установите версию сценариев 3.1.7, и это приведет к той же основной ошибке, затем я выполняю и снова запускаю сценарии приложений, но с меньшей версией для сценариев приложений и теперь отлично работает с 3.0.0: npm install @ionic /app-scripts@ 3.0.0 --save -dev

Я использую тоже Cordova-ios версии 4.5.4 и все последние версии всех в macOS High Sierra 10.13.2 с Xcode 9.2

cli-пакеты: (/usr/local/lib/node_modules)

@ionic/cli-utils  : 1.19.0
ionic (Ionic CLI) : 3.19.0

глобальные пакеты:

cordova (Cordova CLI) : 8.0.0

локальные пакеты:

@ionic/app-scripts : 3.0.0
Cordova Platforms  : android 6.2.3 ios 4.5.4
Ionic Framework    : ionic-angular 3.9.2

Система:

ios-deploy : 1.9.2
Node       : v8.0.0
npm        : 5.0.0
OS         : macOS High Sierra
Xcode      : Xcode 9.2 Build version 9C40b

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

Спасибо всем.

работает на меня! спасибо @kensodemann ! 😃

Согласно https://github.com/apache/cordova-plugin-console

Работа над этим подключаемым модулем больше не ведется, так как функции, предоставляемые этим подключаемым модулем, теперь включены в Cordova-ios 4.5.0 или выше, а поддержка уже встроена в Cordova-Windows > 5.0.0. Вы должны удалить этот плагин из ваших приложений.

у кого-нибудь еще есть эта проблема? из нового приложения я не могу использовать этот плагин...

Решение от @nuno работает и у меня.

ionic cordova plugin remove cordova-plugin-console

  • Нажмите приведенную выше команду, чтобы получить успешную сборку ios.

Спасибо за проблему! Эта проблема заблокирована, чтобы предотвратить комментарии, не относящиеся к исходной проблеме. Если это все еще проблема с последней версией Ionic, создайте новую проблему и убедитесь, что шаблон полностью заполнен.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги