Swift. Object-c modülü 'Alamofire' kurulamadı


117

Alamofire'ın taze vanilya alt modülü kurulumu, XCode6'yı kullanarak ve T'ye giden talimatları izleyerek. Burada bir şeyler doğru değil. Aldığım hata, import alamofire'da "Object-c modülü oluşturulamadı" alamofire ". Aldığım hatanın bir ekran görüntüsü:

görüntü açıklamasını buraya girin Ve yapılandırmam:

görüntü açıklamasını buraya girin



alamofire'ı burada verilen talimatlara göre yüklemeniz gerektiğini düşünüyorum github.com/Alamofire/Alamofire
Saurabh Prajapati

işe koydun mu benim için çalıştı ve başka bir "Oluştur ve çalıştır" dan sonra durdu ve aynı hata mesajını aldım ... :(
Georg

2
Bir meslektaşım da aynı hata mesajına sahipti, ancak bunun nedeni hala Xcode 6.1 kullanıyor olmasıydı (bunu yazarken içinde bulunduğumuz 6.3 çağ). Bunu sadece kayıt için söylüyorum, başka biri aynı şeyle mücadele ederse.
villapossu

Yanıtlar:


103

Bu olduğunda, önce çerçeveleri ayrı ayrı oluşturun. Senin durumunda:

  • Şemayı Alamofire olarak değiştirin
  • Oluştur ( ⌘B )
  • Planınıza geri dönün
  • Çalıştırmak

3
Mükemmel cevap; Bu tür hataları düzeltmek için yapı şemasını değiştirmekten bihaberdim!
tehprofessor

1
Yardım için teşekkürler.
Tidane

5
Şemayı ayrı olarak oluşturmanız gerekiyorsa, bu muhtemelen çerçeveyi uygulamanızın derleme ayarlarında bir hedef bağımlılık olarak doğru şekilde ayarlamadığınız anlamına gelir. Bunu yapın ve manuel olarak oluşturmak zorunda kalmamalısınız.
Charles A.

Xcode'da çalıştığı için buna oy verdim. Ne yazık ki, komut satırından derleme yapılıyorsa veya Release için oluşturuyorsanız işe yaramayacaktır.
Eneko Alonso

Bu, GoogleApiClient / Drive ile yaşadığım bir sorunu çözdü. Derleme başarılı olabilirdi, ancak dosyada herhangi bir değişiklik yapılır yapılmaz Xcode içe aktarma işleminden şikayet ederdi.
Nick Alexander

53

Developer / Xcode / DerivedData'ya gidin ve çerçeveniz için klasörü silin. (Veya sadece DerivedData'nın kendisini silin)

Çalışan bir simülatörde uygulamanızın bir yapısına sahipseniz, uygulamayı buradan silmeniz gerekir.

Sonra Temizle ve Oluştur


Bu benim için de çalıştı, ancak daha sonra birden fazla komut üretme ile karşılaştım, bu bağlantı yardımcı olacaktır: stackoverflow.com/questions/50718018/… .
Bhimbim

32

Bu her zaman benim için çalışıyor:

  1. Xcode'dan çık
  2. Sil ~/Library/Developer/Xcode/DerivedData
  3. Çerçevenizin şemasını değiştirin ve ⌘B oluşturun
  4. Uygulamanızın şemasını değiştirin ve ⌘B oluşturun

22

DerivedData klasörünü silmek ve projeyi temizlemek ve oluşturmak bu sorunu benim için çözdü.


15

Aşağıdakileri bu sırayla deneyin ve adımlardan biri işe yaramalıdır.

  1. Cmd+ B- Çalışma alanını oluşturur ve muhtemelen istediğimiz hedefi veya modülü oluşturmalıdır.

  2. Cmd+ Kve sonra Cmd+ B- Temizle ve ardından Oluştur

  3. Cmd+ Shift+ Option+ Kve Cmd+ B- Derleme Klasörünü Temizle

  4. Xcode'dan çıkın, Türetilmiş Verileri Silin, Xcode'u başlatın ve Cmd+ Shift+ Option+ Kardından Cmd+B

Bu, türetilmiş verileri ve diğer önbellekleri Xcode'dan temizlemenin mümkün olan en temiz yoludur.


(Kolayca senkronize birden Mac olacağını böylece Belgelerinde proje klasörü sahip Örneğin,) iCloud senkronizasyonu kullananlar için, adıyla dosyanın onay: XXX 2.swift. Hepsini arayın ve silin, ardından çalıştırın pod install.
John Pang

12

Dinamik bir çerçeveyi içe aktarmaya çalışırken bu hatayı alıyorsanız, çerçevenin hedefin Hedef Bağımlılıklarına dahil edildiğinden emin olun.

Project > "Target" > Build Phases > Target Dependencies


Ayrıca, aynı çalışma alanında geliştirilen başka bir çerçeveyle çalışıyorsanız, Proje'yi çerçeve dosyası yerine bağlantılı bir kitaplık olarak eklediğinizden emin olun, aksi takdirde çerçeve hedef bağımlılık olarak görünmez.
Dávid Pásztor

11

Temiz kurmak benim için çalıştı.

  1. Alamo için temiz inşa edin
  2. HTTPDemo için temiz derleme

6

İçe aktarımı ve onu kullanan tüm kodu yorumlayın, oluşturun, çalıştırın ve ardından açıklamayı kaldırın. Benim için çalıştı ...


1

Bu sorunu Objective-C / Swift hibrit projelerimden birinde çözdüm.

Objective-C köprüleme dosyanıza aşağıdaki satırı ekleyin:

#import <Alamofire/Alamofire.h>


0

Oluşturulamayan herhangi bir bölme de bu hataya neden olabilir. (benim durumumda eski sözdizimini kullanan eski bir kapsül oluşturulamadı).

pod updateBölmelerinizi en son sürüme güncellemeyi deneyebilir ve işlerin nasıl gittiğini görebilirsiniz.


(Kolayca senkronize birden Mac olacağını böylece Belgelerinde proje klasörü sahip Örneğin,) iCloud senkronizasyonu kullananlar için, adıyla dosyanın onay: XXX 2.swift. Hepsini arayın ve silin, ardından çalıştırın pod install.
John Pang

0

Bu sorun için çılgın düzeltme - Benim için yalnızca çalışan çözüm

Yeni şema oluşturun ve hata gösteren çerçeveyi ekleyin. Bu durumda 'Alamofire'. Tüm bu planları çalıştırın.

Tüm şemaları derledikten sonra proje hedefiniz de iyi çalışacaktır.

Çılgın bir düzeltme gibi görünebilir, ancak benim için sadece çalışan bir çözüm.


0

Alamofire projesinin geçerli mimarileri, projenizin geçerli mimarilerini içermiyorsa, "Amaç-c modülü oluşturulamadı .." hatası oluşur.

Bu mimarileri i386 x86_64 arm64 arm64e armv7 armv7s armv6 armv64'ü ' Yapı Ayarları'nda Alamofire projesinin' Geçerli Mimariler'e ekleyin. ' .

Her iki proje için aynı hedef cihazı oluşturun. Örneğin, ilk önce iPhone 8 (13.2) için Alamofire projesini oluşturun, ardından projenizi aynı simülatör için oluşturun.

Alamofire proje derlemesi çok kısa sürerse, bu yaklaşık 0,5 saniye anlamına gelir, bu Alamofire projesinin hata oluştuğu anlamına gelir çünkü seçilen simülatörün mimarisi Geçerli Mimarilerde değildir .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.