Ionic-framework: ios **BUILD FAILED ** simbol duplikat untuk arsitektur x86_64

Dibuat pada 20 Sep 2017  ·  19Komentar  ·  Sumber: ionic-team/ionic-framework

Versi ionik: (centang satu dengan "x")
[ ] 1.x (Untuk masalah Ionic 1.x, silakan gunakan https://github.com/ionic-team/ionic-v1)
[ ] 2.x
[x] 3.x

Saya mengirimkan ... (centang satu dengan "x")
[x] laporan bug
[ ] permintaan fitur
[ ] permintaan dukungan => Tolong jangan kirimkan permintaan dukungan di sini, gunakan salah satu saluran ini: https://forum.ionicframework.com/ atau http://ionicworldwide.herokuapp.com/

Perilaku saat ini:
Setelah jangka waktu yang tidak ditentukan, aplikasi saya tidak dapat dibuat untuk perangkat ios lagi.

Perilaku yang diharapkan:
Itu harus dapat membangun untuk perangkat ios.

Langkah-langkah untuk mereproduksi:
Saya tidak tahu bagaimana ini terjadi

Kode terkait:
Inilah yang saya dapatkan ketika mencoba membangun untuk 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

Informasi lainnya:
Ini adalah kedua kalinya ini terjadi pada saya, setelah pertama kali saya harus membuat proyek ionik dari awal dan perlahan-lahan mengintegrasikan apa yang ada di proyek asli dan membangun untuk ios setelah setiap iterasi untuk mendeteksi masalah. Beberapa jam kemudian dan kode disalin secara keseluruhan, saya entah bagaimana bisa membangun untuk ios.
Mencoba membangun untuk ios pagi ini dan saya masih mendapatkan masalah yang sama [lihat bagian kode terkait] .
Juga mencoba menghapus direktori /plugins & /node_modules saya tetapi tidak membantu.
Tidak dapat menemukan apa pun di web untuk membantu saya juga..

Info ionik: (jalankan ionic info dari terminal/cmd Prompt dan tempel keluaran di bawah):

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
reply

Komentar yang paling membantu

Coba hapus konsol plugin dan coba lagi, saya memiliki masalah yang sama. Tapi saya punya Cordova ios 4.5

Masalahnya adalah CDVLogger yang sudah ada di cordova cli 7

Cc @kensodemann

Semua 19 komentar

Halo! Terima kasih telah membuka masalah dengan kami!

Saya tidak dapat menduplikasi kesalahan Anda, yang sangat masuk akal karena seperti yang Anda katakan, umumnya berfungsi dan kemudian berhenti secara misterius. Jadi... mari kita mulai dengan beberapa versi:

Saya menggunakan Xcode 9, versi apa yang Anda gunakan?
Saya menggunakan cordova-ios versi 4.4.0 , yang terlihat sama dengan yang Anda gunakan...

Hmmm... Saya akan mencoba beberapa hal

Hai @kensodemann , saya saat ini menggunakan Xcode Versi 8.2.1

Terima kasih!

Coba hapus konsol plugin dan coba lagi, saya memiliki masalah yang sama. Tapi saya punya Cordova ios 4.5

Masalahnya adalah CDVLogger yang sudah ada di cordova cli 7

Cc @kensodemann

Menggandakannya dan memperbaikinya, meskipun saya tidak sepenuhnya yakin ini masalah Anda, tetapi patut dicoba.

Pertama, saya menghapus direktori node_modules dan platform/ios saya dan melakukan npm i dan ionic build , yang akhirnya menginstal cordova-ios versi 4.5.0 , yang menyebabkan masalah yang sama persis dengan yang Anda miliki.

Dugaan saya (dan itu hanya tebakan) adalah Anda entah bagaimana memiliki cordova-ios 4.5.0 meskipun ionic info melaporkan 4.4.0 (aneh, tapi saya tidak punya penjelasan yang lebih baik saat ini) .

Jadi saya melakukan ini:

  1. Di package.json , ubah "cordova-ios": "^4.4.0" menjadi "cordova-ios": "4.4.0" (tidak ada '^')
  2. Di config.xml , ubah <engine name="ios" spec="^4.4.0" /> menjadi <engine name="ios" spec="4.4.0" />
  3. rm -rf node_modules/ platforms/ios/
  4. npm i
  5. ionic cordova build ios
  6. * MEMBANGUN BERHASIL *

Jadi setidaknya bagi saya, kunci perbaikannya adalah menyematkan versi cordova-ios ke 4.4.0 daripada menggunakan ^4.4.0 , yang akan memerlukan peningkatan ke versi minor.

Tentu saja, ini berarti ketika saatnya untuk meningkatkan cordova-ios , Anda harus melakukannya secara manual, tetapi Anda mungkin menginginkan kontrol itu bagaimanapun juga.

Bagaimanapun, cobalah itu dan beri tahu saya jika itu berhasil untuk Anda.

@kensodemann Persis masalahnya!

@kensodemann Hore, sekarang saya bisa membangun, Terima kasih!!

Begini masalahnya, sebelum melakukan ioinc build saya masuk ke file package.json saya dan inilah yang saya temukan "cordova-ios": "^4.4.0", dan bukan ^4.5.0 .

Bagaimanapun, jadi saya mengikuti instruksi Anda, menjalankan rm -rf node_modules/ platform/ios lalu npm i dan npm build .

Perintah terakhir itu kemudian mengubah "cordova-ios": "^4.4.0", saya menjadi "cordova-ios": "^4.5.0", .
Untuk mengikuti instruksi Anda sedekat mungkin, saya mengubahnya menjadi saran Anda "cordova-ios": "4.4.0", (hal yang sama untuk config.xml ).

Menghapus node_modules & platform/ios saya sekali lagi dan menjalankan npm i lalu ionic cordova build ios dan berhasil .

Cukup mengejutkan, setelah melakukannya, saya masih menemukan diri saya dengan "cordova-ios": "^4.4.0", di package.json dan <engine name="ios" spec="^4.4.0" /> di config.xml saya

Cukup mengejutkan, setelah melakukannya, saya masih menemukan diri saya dengan "cordova-ios": "^4.4.0", di package.json dan di config.xml saya

Dugaan saya adalah Cordova melakukan itu. Secara pribadi bukan penggemar alat yang mengacaukan pengaturan saya ... :(

Saya akan menutup ini kemudian. Senang itu bekerja untuk Anda sekarang.

@nuno benar, plugin konsol adalah penyebab utama, yang telah disertakan dalam cordova 7, jadi cukup hapus plugin untuk memperbaiki masalah.

@kensodemann
Tidak bekerja untuk saya. saya mendapatkan

Ld build/emulator/MyApp.app/MyApp normal x86_64
cd /Applications/IonicApps/Nama Bayi/platform/ios
ekspor 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 /Versions/3.5/bin:/Users/saikrishna/Softwares/android-sdks/platform-tools:/Users/saikrishna/Softwares/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/iPhoneSimulator 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/xbjects-List 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-gddohggkprehdkdqzn. build/Debug-iphonesimulator/MyApp.build/Objects-normal/x86_64/MyApp_lto.o -Xlinker -no_de duplikat -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -ObjC -Xlinker -sectcreate -Xlinker __TEXT -Xlinker __entitlements -Xlinker /Users/eupherntechnology/Library/Developer/Xcode/Derived /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 -CoreKit FBSDK -framework FBSDKLoginKit -framework FBSDKShareKit -framework CoreLocation -framework GoogleAppUtilities -framework GoogleAuthUtilities -framework GoogleNetworkingUtilities -framework GoogleSignIn -framework GoogleSymbolUtilities -framework GoogleUtilities -weakzweak_framework AddressBook -weak_framework CoreText-serviceweakzweak_framework CoreText - -weak_framework WebKit -weak_framework Sosial -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. IonicApps/Nama Bayi/platform/ios/build/emulator/MyApp.app/MyApp
duplikat simbol _OBJC_CLASS_$_CDVLogger di:
/Users/eupherntechnology/Library/Developer/Xcode/DerivedData/MyApp-gddohggkprehdkdqznpxmbtrwfzt/Build/Intermediates/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/x86_64/CDVLogger.
/Applications/IonicApps/BabyName/platforms/ios/build/emulator/libCordova.a(CDVLogger.o)
duplikat simbol _OBJC_METACLASS_$_CDVLogger di:
/Users/eupherntechnology/Library/Developer/Xcode/DerivedData/MyApp-gddohggkprehdkdqznpxmbtrwfzt/Build/Intermediates/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/x86_64/CDVLogger.
/Applications/IonicApps/BabyName/platforms/ios/build/emulator/libCordova.a(CDVLogger.o)
ld: 2 simbol duplikat untuk arsitektur x86_64
dentang: error: perintah tautan gagal dengan kode keluar 1 (gunakan -v untuk melihat permintaan)

* BANGUN GAGAL *

Perintah build berikut gagal:
Ld build/emulator/MyApp.app/MyApp normal x86_64
(1 kegagalan)
Kesalahan: Kode kesalahan 65 untuk perintah: xcodebuild dengan argumen: -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/IonicApps /build/sharedpch

Lingkungan

paket cli: (/Applications/IonicApps/BabyName/node_modules)

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

paket global:

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

paket lokal:

Cordova Platforms : ios 4.5.4
Ionic Framework   : ionic1 1.3.3

Sistem:

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

Variabel Lingkungan:

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

Lain-lain:

backend : pro

@surajitdeveloper -

Apakah Anda yakin tidak menginstal plugin konsol?
Apakah Anda menghapus semuanya dan menginstal ulang dari awal?

Jika repo Anda online, berikan tautan dan saya dapat melihatnya dengan cepat. Namun, secara umum, ini bukan masalah Kerangka Ionik tetapi masalah penggunaan plugin yang tidak kompatibel.

@kensodemann benar, itu semua karena plugin sudah tua atau tidak kompatibel.

Bagi saya, itu ternyata adalah cordova-plugin-inappbrowser . Di config.xml saya, masih ada referensi ke git repo yang tidak ada lagi. Saya pertama kali tidak memperhatikan dalam proses build, tetapi tiba-tiba, saya perhatikan bahwa build mengeluh karena tidak menemukan repo untuk plugin. Solusinya cukup sederhana: letakkan baris di config.xml di komentar, dan instal ulang plugin. Dan iOS sedang dibangun lagi :)

Jadi, jika mungkin membantu, periksa log build Anda setelah Anda menjalankan ionic cordova build ios - mungkin berisi kesalahan tentang plugin. Dan periksa semua plugin Anda: menginstal ulang saja mungkin tidak membantu, Anda mungkin harus memperbarui versi juga.

Solusi dari @nuno berfungsi untuk saya, jalankan saja:
cordova plugin rm cordova-plugin-console
cordova platform rm ios
cordova platform add ios
cordova build ios
Saya menggunakan cordova-ios versi 4.5.4.

Halo semua,

Saya memiliki masalah yang sama dan saya telah mencoba menjalankan solusi yang diposting oleh @didinj dan tidak berfungsi karena setelah ini saya mendapatkan kesalahan untuk skrip ketika menjalankan platform rm dan kemudian membangun ios, saya menambahkan lagi skrip aplikasi tetapi masalahnya adalah ini: npm install @ionic / app-scripts@latest --save-dev karena menginstal skrip versi 3.1.7 dan ini menghasilkan kesalahan utama yang sama kemudian saya mengeksekusi dan lagi skrip aplikasi tetapi dengan versi yang lebih sedikit untuk skrip aplikasi dan sekarang berfungsi dengan baik 3.0.0 : npm install @ionic / [email protected] --save -dev

Saya menggunakan terlalu cordova-ios versi 4.5.4 dan semua versi terbaru di macOS High Sierra 10.13.2 dengan Xcode 9.2

paket cli: (/usr/local/lib/node_modules)

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

paket global:

cordova (Cordova CLI) : 8.0.0

paket lokal:

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

Sistem:

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

Saya berharap dengan ini saya dapat membantu pengguna lain.

Terimakasih untuk semua.

bekerja untuk saya! terima kasih @kensodemann ! 😃.

Sesuai https://github.com/Apache/cordova-plugin-console

Plugin ini tidak lagi dikerjakan karena fungsionalitas yang disediakan oleh plugin ini sekarang disertakan dalam cordova-ios 4.5.0 atau lebih tinggi, dan dukungan sudah ada di dalam cordova-windows > 5.0.0. Anda harus menghapus plugin ini dari aplikasi Anda.

apakah ada yang masih memiliki masalah ini? dari aplikasi baru gresh saya tidak dapat menggunakan plugin ini ...

Solusi dari @nuno juga berfungsi untuk saya.

ionic cordova plugin remove cordova-plugin-console

  • Tekan perintah di atas untuk membuat ios build sukses.

Terima kasih untuk masalah ini! Masalah ini sedang dikunci untuk mencegah komentar yang tidak relevan dengan masalah asli. Jika ini masih menjadi masalah dengan versi terbaru Ionic, harap buat masalah baru dan pastikan template terisi penuh.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat