Cocoapods + 'x' için temel modül yüklenemiyor


91

XCode 7, Swift 2.0, iOS 9 çalıştırıyorum.

Alamofire'ı Cocoapods kullanarak projeme kurmak istiyorum. Aşağıdakileri yaptım:

gem install cocoapods

pod setup

pod init

Pod dosyası şu şekilde güncellendi:

# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
use_frameworks!

target 'JSONeg' do

  pod 'Alamofire', :branch => 'swift-2'

end

Sonra bölmeyi kurdum:

pod install

Ve ViewController.swift'e aşağıdakileri ekledim

import Alamofire

Bu, aşağıdaki hatayı ortaya çıkarır:

Cannot load underlying module for 'Alamofire'

Başka bir bölmeyle test ettim ve aynı hatayı ortaya çıkardı, bu yüzden sorun Cocoapod'ların kurulumunda olduğunu tahmin ediyorum. Herhangi bir yardım çok takdir edilecektir.


gerekli çerçeveleri içe
aktardığınızı

Yanıtlar:


211

Bu, XCode'da bir hata gibi görünüyor. Aynı problemi yaşadım ve bu soruya başka bir cevabın yorumlarında anlatıldığı gibi, projeyi inşa etmek hatayı ortadan kaldırdı.


4
Buraya neredeyse herhangi bir projenin başlangıcında geliyorum ... Teşekkürler dostum
SoliQuiD

2
Lanet olası geçici çözüm hala çalışıyor .. XCode açık kaynaklı olmalıdır.
Siddharth


14

Bu benim için çalıştı:

  1. Projenizi kapatın
  2. Terminalde proje dizininize gidin
  3. Bu komutu ekleyin: pod update
  4. Bundan sonra tüm bölmeleriniz güncellenecek. Sadece projenizi çalıştırın

10

SWIFT için "x" için temel modül yüklenemiyor:

Sorun nasıl giderilir:

adım: 1 Yeni bir proje oluşturun ve pod kurmadan başarıyla oluşturun ve çalıştırın.

Adım: 2 Projeyi başarıyla oluşturup çalıştırdıktan sonra, Şimdi bölmeyi kurmayı deneyin ve sonra realm, alamofire, çizelgeleri vb . içe aktarmayı deneyin , bir cazibe gibi çalışacaktır.

Hata Durumu -> Yeni proje -> Önce bina olmadan cocoapod'lar aracılığıyla ekle (bölge, alamofire, çizelgeler vb.) -> Xcode çalışma alanını açın -> inşa et ve çalıştır

Başarı Örneği -> Yeni proje -> inşa et ve çalıştır -> cocoapods aracılığıyla ekle (bölge, alamofire, çizelgeler vb.) -> Xcode çalışma alanını aç -> oluştur ve yeniden çalıştır = başarı


Mevcut bir projede% 99 oranında bu hatayı gördüğünüzde "yeni bir proje başlatmayı" düşünemezsiniz. Ne sadece 'pod güncelleştirme' çalışırken yaklaşık
Renexandro

9

Alamofire podunu kurduktan sonra.

Adım 1 proje_adı.xcworkspace dosyanıza çift tıklayarak projenizi açmalısınız.

Adım.2 Proje ayarlarına gidin -> Yapı Aşamaları -> İkili Kitaplıkları ile Bağla -> "Alamofire.framework" çerçevesi ekleyin

Bu kadar!!

Şimdi modülü içe aktarabilirsiniz


8

Benim durumumda ne yardımcı oldu:

1) Projeyi ve XCode'u kapatın

2) Terminal tekrar komutunda

> pod install

3) Projeyi açın

(Yardımcı olmazsa, yeniden yüklemeden önce Pod'u / klasörü kaldırmayı deneyin)


1
Ayrıca, Pod/yeniden yüklemeden önce klasörü kaldırın
nikans

7

Tüm bu çözümleri denedim: Bölmeleri yeniden oluşturma, Temizleme, yeniden yükleme, vb. Ancak benim durumumda, AR nedeniyle 'Yalnızca Aktif Mimari Oluştur' ayarımı 'Hayır' olarak değiştirmem bir sorundu. kullandığım kütüphane. Tekrar 'Evet' olarak değiştirildi ve düzeltildi. Umarım bu birine yardımcı olur.


Doğru, asıl sorun
Hola Soy Edu Feliz Navidad

EVET'ten HAYIR'a ayarlamak zorunda kaldım. Tuhaf.
Mundi

7

Bir Ürün> (Opt Tıkla) Yapım Klasörünü Temizle ... yapmak zorunda kaldım ... sonra tekrar koştum ve sorun giderildi.


5

Xcode Sürüm 8.3.1 (8E1000a) kullanıyorum. Her nasılsa bu sorun, SwiftCloudant modülünü pod kurulumu yapmak istediğimde ortaya çıkıyor. Muhtemelen pod kurulumunu çalıştırdığımda Xcode'umu kapatmadım.

Bunu, Hedefler> Genel sekmesine SwiftCloudant.framework ekleyerek manuel olarak düzelttim.

Hedefler> Genel> Bağlantılı Çerçeveler ve Kitaplıklar


Her şey başarısız olduktan sonra, bu gerçekten işe yaradı. Çok teşekkürler.
AmirZ

4

Benim durumum farklı bir nedendi, hedeflerim oluşturma ayarındaki Diğer hızlı bayraklardı , üst tarafa devralınan bayrağı eklemek zorunda kaldım.


3

Cocoapods'un son sürümüne sahip olup olmadığınızı kontrol ettiniz mi? Tüm mücevherlerinizi güncelleyerek güncelleyebilirsiniz:

sudo gem update

veya sadece Cocoapods'u yeniden yükleyin:

 [sudo] gem install cocoapods

Bu yardımcı olmazsa şunlara da göz atın: CocoaPods - Xcode-beta ile iOS 9 / Swift 2 için derleyin

Burada, Xcode Tercihleri ​​"Konumlar" sekmesinde Komut Satırı araçları sürümünü nasıl kolayca değiştirebileceğiniz ve "Komut Satırı Araçları" nı Xcode 7.0 olarak nasıl değiştirebileceğiniz gösterilmektedir.


Evet, en son yapıydı. Yine de sorunu çözdüm. Projeyi ben yaptım ve birdenbire işe yaradı.

Tamam o zaman lütfen kendi sorunuzu kendi çözdüğünüz çözümle yanıtlayın ki diğerleri bununla karşılaştıklarında bu sorunu
Glenn

3

Adımları takip et:

1. Bölmeleri yükleyin 2. çalışma alanını açın 3. Uygulamanızı çalıştırın / oluşturun 4. Ardından çerçeveyi içe aktarabilirsiniz


2

Temel modül yüklenemedi

  1. Çerçeve yolunu kontrol edin: Build Settings -> Framework Search Paths.
  2. Bir çerçeveye giden yolun boşluk içermediğinden emin olun.
  3. Yol bir değişken içeriyorsa, değişken adındaki değişken adını arayarak değişkenlerin değerini bulun Build Settings.
  4. Değişkenlerin değerinde boşluk olmadığından emin olun.
  5. Yol boşluklar içeriyorsa, boşluk içeren dizinleri yeniden adlandırın.
  6. Projeyi temizleyin ve inşa edin.

Özetle, yolunuzun <Project Root>boşluk içermediğinden emin olun . Aksi takdirde, dirboşluk içeren alanı yeniden adlandırın , ardından projenizi temizleyin ve oluşturun.

Örneğin, bu sizin proje kökünüzse: /Users/handsomeboy/ios app/Fancy App/boşluk içeren klasörü yeniden adlandırın. Tek yönlü alanı kurtulmak için: Değişikliği 'ios app'için'ios_app'


2

Bağlanılan çerçevede ( GCC_SYMBOLS_PRIVATE_EXTERNhedef ayarlarda "Varsayılan olarak Gizli Semboller" olarak görüntülenir) ayarı YES, bu hatayı gidermeme yardımcı oldu. Bunu bulmak için 2 gün harcadım, umarım birine yardımcı olur :)


2

Bu URL'de: https://github.com/Alamofire/Alamofire/issues/441

Kullanıcılardan biri şunu yazdı:

Temiz işe yaramadı, bölmelerden yeniden yükleme işe yaramadı, kartajdan yükleme işe yaramadı, manuel yükleme işe yaramadı. Build for Testing'den sonra nihayet çalıştırdım.

Bu yüzden bunu denedim (xcode Sürüm 9.2 (9C40b)):

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

Benim için çalıştı. Şimdi hata gitti.

Not: Bölmem Alamofire değildi, bu yüzden her Bölme için çalışacağını tahmin ediyorum.


2

Başka bir olası senaryo: test hedefinin ana hedef kapsamında (dışında değil) tanımlandığından emin olun

Örneğin

target 'MyApp' do
  pod 'GoogleAnalytics', '~> 3.1'

  target 'MyAppTests' do
    inherit! :search_paths
    pod 'OCMock', '~> 2.0.1'
  end
end

Bunun yerine şöyle görünüyorsa:

target 'MyApp' do
  pod 'GoogleAnalytics', '~> 3.1'
end

target 'MyAppTests' do
  inherit! :search_paths
  pod 'OCMock', '~> 2.0.1'
end

o zaman bu hatayı da alırsınız.


1

Benim için aynı sorun. Bunu, pod dosyasındaki Alamofire sürümünü kaldırarak çözdüm.

Pod dosyası olarak

# Uncomment this line to define a global platform for your project
platform :ios, "8.0"

# Uncomment this line if you're using Swift
use_frameworks!

target 'GettingSwift' do
 pod 'Alamofire'
end

target 'GettingSwiftTests' do
end

1

Benim durumumda:

1. Açıklama satırı //import Pod_Module

2. Proje'ye gidin -> Temizle veya kısayol tuşunu kullanın (Command + Shift + K)

2. Projenizi kapatın

3. Terminalde proje dizininize gidin

4. dosyayı > pod install

açın .xcworkspaceve inşa et!

6. Yorumsuz satırıimport Pod_Module


0

CocoaPod'ları kurarken, # işaretini silerek ios 9.0'ı belirlediğinizden emin olun. Bu nedenle, # platform :ios, '9.0'yalnızca platform :ios, '9.0'Then olmalıdır , hata tekrar gösterilirse, basitçe oluşturun ve çalıştırın. Oluşturup çalıştırdıktan sonra hata geri dönmemelidir.

Ayrıca, bilgisayarınızda birden fazla Xcode sürümü kuruluysa da bu durum meydana gelebilir. Önce Xcode'un tüm sürümlerinden çıkın (yalnızca kapatmayın).



0

Bölmelerinizin başarıyla kurulduğunu doğruladıysanız, hata Bölmeleri yüklemeden önce kalan türetilmiş verilerinizle ilişkilendirilebilir. Türetilmiş verilerinizi adresine giderek temizleyebilirsiniz File -> Workspace Settings... -> Derived Data. Uygulamanızla ilişkili türetilmiş veri klasörünü silmek ve yapınızı temizlemek sorunu çözmelidir.

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.