Saya telah memasukkan SpatialIite
ke dalam proyek Xcode yang menggunakan file header dari Proj.4
, hanya satu header. Keduanya adalah proyek Xcode dan memiliki target statis.
Saya mencoba bermigrasi dari submitule git ke Cocoapods. Karena target statis tampaknya sulit digunakan dengan Cocoapods, saya hanya ingin proyek dibangun dengan cara biasa. Saya membuat podspec untuk Proj.4
. Setelah menulis podfile untuk SpatialLite
saya mendapat peringatan:
[!] The target `SpatialiteIOS [Debug]` overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Pods.xcconfig'.
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
[!] The target `SpatialiteIOS [Debug]` overrides the `HEADER_SEARCH_PATHS` build setting defined in `Pods/Pods.xcconfig'.
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
[!] The target `SpatialiteIOS [Debug - Release]` overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Pods.xcconfig'.
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
[!] The target `SpatialiteIOS [Debug - Release]` overrides the `HEADER_SEARCH_PATHS` build setting defined in `Pods/Pods.xcconfig'.
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.
Saya membaca masalah ini tetapi saya tidak mengerti apa arti peringatan itu dan apa yang bisa saya lakukan untuk memperbaikinya.
Selain itu masalah, ketika saya membuka ruang kerja serta membuka proyek SpatiaLite sendiri, keduanya ditargetkan untuk Mac OSX 64, ketika itu seharusnya menjadi proyek iOS. Podfile saya mengatakan "platform: ios".
Jawaban:
Ini pasti bekerja sebagian besar waktu:
Buka Pengaturan Bangun target Anda -> bendera penghubung lainnya -> klik dua kali. Tambahkan
$(inherited)
ke baris baru.Jika Anda memiliki masalah dengan "... target menimpa pengaturan bangunan GCC_PREPROCESSOR_DEFINITIONS yang didefinisikan dalam ..." maka Anda harus menambahkan $ (diwarisi) ke target Anda Membangun Pengaturan -> Preprocessor Macro
sumber
GCC_PREPROCESSOR_DEFINITIONS
pengaturan build yang ditentukan dalam ..." maka Anda harus menambahkan $ (diwarisi) ke target Anda Membangun Pengaturan -> Makro Preprocessor$(inherited)
sudah ada di baris paling atas tetapi tidak berfungsi untuk saya: /Ada konflik antara pengaturan build Anda dan pengaturan build default yang diinginkan Cocoapods. Untuk melihat pengaturan pembuatan Cocoapods, lihat file .xcconfig di Pods / File Dukungan Target / Pods - $ {PROJECTNAME} / di proyek Anda. Bagi saya file ini mengandung:
Jika Anda senang dengan pengaturan Cocoapods, kemudian pergi ke Build Settings untuk proyek Anda, cari pengaturan yang sesuai dan tekan tombol Delete. Ini akan menggunakan pengaturan dari Cocoapods.
Di sisi lain, jika Anda memiliki pengaturan khusus yang perlu Anda gunakan, kemudian tambahkan $ (diwarisi) ke pengaturan itu.
sumber
Saya telah melihat 3 kesalahan ini untuk perintah pod di terminal
Semua 3 kesalahan ini akan hilang dengan menambahkan $ (diwarisi) ke
di Project -> Target -> Build Settings
Dan sekarang perintah itu akan berjalan tanpa memberikan kesalahan
sumber
Other Linker Flags
tidak cukup.Di proyek Anda, temukan
Target -> Build Settings -> Other Linker Flags
, pilihOther Linker Flags
, tekandelete
(Keyboard Mac) /Backspace
(Keyboard normal) untuk memulihkan pengaturan. Ini bekerja untuk saya.Contoh:
Sebelum
Setelah
sumber
Baru saja mengalami masalah serupa ketika saya berlari
pod install
, saya melihat peringatan / kesalahan berikut (terkait denganCLANG_CXX_LIBRARY
):Kesalahan / Peringatan dari Cocoapods
Cara Mengatasinya
Project
sehingga Anda dapat melihatBuild Settings
.Target
(AppName
bawahTargets
) AndaC++ Standard Library
(Mungkin akan masuk dicetak BOLD - Ini artinya ditimpa).Garis tidak boleh dicetak tebal lagi dan jika Anda menjalankan
pod install
peringatan / kesalahan seharusnya menghilang.Peraga
sumber
Jika Xcode mengeluh ketika menautkan, mis. Perpustakaan tidak ditemukan untuk -lPods, itu tidak mendeteksi dependensi implisit:
Pergi ke Produk> Edit Skema Klik Build Tambah pustaka statis Pods Bersihkan dan bangun kembali
sumber
Bagi saya masalahnya adalah dengan tes target saya. Saya sudah punya
$(inherited)
bendera di target aplikasi utama saya.Saya menambahkannya ke bendera MyAppTests Other Linker. Setelah itu ketika saya menjalankan
pod install
pesan peringatan hilang.sumber
Baris pertama tautan di bawah ini menyelamatkan hari saya:
https://github.com/CocoaPods/CocoaPods/wiki/Creating-a-project-that-uses-CocoaPods#faq
Juga, jangan lupa untuk menyisipkan baris ini di awal file pod Anda:
sumber
Saya menambahkan $ (diwarisi) tetapi proyek saya masih belum dikompilasi. Bagi saya masalahnya adalah flag "Build for Arsitektur aktif saja", saya harus mengaturnya ke YA.
sumber