Cocoapods + 'x'에 대한 기본 모듈을로드 할 수 없습니다.


91

XCode 7, Swift 2.0, iOS 9를 실행하고 있습니다.

Cocoapods를 사용하여 프로젝트에 Alamofire를 설치하고 싶습니다. 다음을 수행했습니다.

gem install cocoapods

pod setup

pod init

Podfile을 다음으로 업데이트했습니다.

# 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

그런 다음 포드를 설치했습니다.

pod install

그리고 ViewController.swift에 다음을 추가했습니다.

import Alamofire

이로 인해 다음 오류가 발생합니다.

Cannot load underlying module for 'Alamofire'

다른 포드로 테스트했는데 동일한 오류가 발생했기 때문에 Cocoapods 설치에 문제가 있다고 생각합니다. 어떤 도움이라도 대단히 감사하겠습니다.


필요한 프레임 워크를 가져 왔는지 확인하십시오
user3722523

답변:


211

이것은 XCode의 버그 인 것 같습니다. 나는 같은 문제가 있었고이 질문에 대한 다른 답변의 의견에서 설명한 것처럼 프로젝트를 구축하면 오류가 사라졌습니다.


4
나는 거의 모든 프로젝트의 시작에 여기 와서 ... 감사합니다 친구
SoliQuiD

2
젠장 해결 방법은 여전히 ​​작동합니다 .. XCode는 오픈 소스 여야합니다.
싯다 르트 나라 얀


14

이것은 나를 위해 일했습니다.

  1. 프로젝트 닫기
  2. 터미널에서 프로젝트 디렉토리로 이동하십시오.
  3. 다음 명령 추가 : pod update
  4. 그 후 모든 포드가 업데이트됩니다. 프로젝트를 실행하십시오

10

SWIFT의 'x'에 대한 기본 모듈을로드 할 수 없습니다.

문제 해결 방법 :

단계 : 1 새 프로젝트를 만들고 포드를 설치하지 않고 성공적으로 빌드 및 실행합니다.

단계 : 2 프로젝트를 성공적으로 빌드하고 실행 한 후, 이제 포드를 설치 한 다음 영역, alamofire, 차트 등 가져 오려고 시도하면 매력처럼 작동합니다.

실패 사례 -> 새 프로젝트-> 먼저 빌드하지 않고 cocoapods를 통해 (영역, alamofire, 차트 등) 추가-> Xcode 작업 공간 열기-> 빌드 및 실행

성공 사례 -> 새 프로젝트-> 빌드 및 실행-> cocoapods를 통해 추가 (영역, alamofire, 차트 등)-> Xcode 작업 공간 열기-> 다시 빌드 및 실행 = 성공


99 %의 시간이 기존 프로젝트에서 발생하는 경우이 오류가 표시 될 때마다 "새 프로젝트 시작"을 고려할 수 없습니다. 'pod 업데이트'를 시도하는 것은
어떻습니까

9

Alamofire 포드를 설치하면.

Step.1 your_project_name.xcworkspace 파일을 더블 클릭하여 프로젝트를 열어야합니다.

Step.2 프로젝트 설정-> 빌드 단계-> 바이너리를 라이브러리와 연결-> 프레임 워크 "Alamofire.framework"추가로 이동합니다.

그게 다야 !!

이제 모듈을 가져올 수 있습니다.


8

내 경우에 도움이 된 것 :

1) 프로젝트와 XCode 닫기

2) 터미널에서 반복 명령

> pod install

3) 프로젝트 열기

(도움이되지 않으면 다시 설치하기 전에 Pod / 폴더를 제거해보십시오.)


1
또한 Pod/재설치하기 전에 폴더를 제거하십시오.
nikans

7

포드 재 구축, 청소, 재설치 등의 모든 솔루션을 시도했지만 제 경우에는 AR로 인해 'Build Active Architecture Only'설정을 'No'로 변경하는 문제였습니다. 내가 사용하고 있던 도서관. 다시 '예'로 변경하고 수정되었습니다. 이것이 누군가를 돕기를 바랍니다.


사실, 주요 문제를했다, 당신은 명령 교대-K와 청소해야
안녕 간장 에듀 펠리 즈 Navidad입니다

YES에서 NO로 설정해야했습니다. 기묘한.
Mundi

7

제품> (Opt Click) Clean Build Folder ...를 수행 한 다음 다시 실행하고 문제가 사라졌습니다.


5

저는 Xcode 버전 8.3.1 (8E1000a)을 사용하고 있습니다. 어떻게 든이 문제는 SwiftCloudant 모듈을 포드 설치하려고 할 때 발생합니다. 아마도 포드 설치를 실행할 때 Xcode를 닫지 않았을 것입니다.

Targets> General 탭에서 SwiftCloudant.framework를 수동으로 추가하여 수정했습니다.

대상> 일반> 연결된 프레임 워크 및 라이브러리


다른 모든 것이 실패한 후 실제로 작동했습니다. 감사합니다.
AmirZ

4

제 경우에는 다른 이유였습니다. 대상 빌드 설정 의 기타 신속한 플래그 였으며 상속 된 플래그를 맨 ​​위에 추가해야했습니다.


3

Cocoapods의 최신 버전이 있는지 확인 했습니까? 모든 gem을 업데이트하여 업데이트 할 수 있습니다.

sudo gem update

또는 Cocoapods를 다시 설치하십시오.

 [sudo] gem install cocoapods

그래도 도움이되지 않는다면 CocoaPods-iOS 9 용 빌드 / Xcode-beta가 포함 된 Swift 2

여기서는 Xcode 기본 설정 "위치"탭에서 명령 줄 도구 버전을 쉽게 변경하고 "명령 줄 도구"를 Xcode 7.0으로 변경하는 방법을 보여줍니다.


예, 가장 최근 빌드였습니다. 그래도 문제를 알아 냈습니다. 저는 프로젝트를 만들었고 갑자기 효과가있었습니다.

좋습니다. 다른 사람들이 문제가 발생했을 때 문제를 해결할 수 있도록 알아 낸 해결책으로 자신의 질문에 답하십시오.
Glenn

3

다음 단계를 따르십시오.

1. 포드 설치 2. workSpace 열기 3. 애플리케이션 실행 / 빌드 4. 그런 다음 프레임 워크를 가져올 수 있습니다.


2

기본 모듈을로드 할 수 없습니다.

  1. 프레임 워크 경로 확인 : Build Settings -> Framework Search Paths.
  2. 프레임 워크 경로에 공백이 없는지 확인하십시오.
  3. 경로에 변수가 포함 된 경우에서 변수 이름을 검색하여 변수 값을 찾습니다 Build Settings.
  4. 변수 값에 공백이 없는지 확인하십시오.
  5. 경로에 공백이 포함 된 경우 공백이 포함 된 디렉토리의 이름을 바꿉니다.
  6. 프로젝트를 정리하고 빌드하십시오.

요약하면 <Project Root>경로에 공백이 없는지 확인하십시오 . 그렇지 않으면 dir공백이 포함 된 이름을 바꾼 다음 프로젝트를 정리하고 빌드하십시오.

예를 들어 이것이 프로젝트 루트 인 경우 : /Users/handsomeboy/ios app/Fancy App/공백이있는 폴더의 이름을 바꿉니다. 한 가지 방법은 공간을 없애 : 변화 'ios app''ios_app'


2

설정 GCC_SYMBOLS_PRIVATE_EXTERN에 (목표 설정에서 "기본적으로 숨겨져 기호"로 표시) YES프레임 워크를하는 것은 연결되는 날이 오류를 제거하는 데 도움이. 나는 이것을 찾기 위해 2 일을 보냈습니다. 누군가에게 도움이되기를 바랍니다. :)


2

이 URL : https://github.com/Alamofire/Alamofire/issues/441

사용자 중 한 명이 다음과 같이 썼습니다.

청소가 작동하지 않았고 포드에서 다시 설치가 작동하지 않았으며 카르타고에서 설치가 작동하지 않았으며 수동 설치가 작동하지 않았습니다. 마침내 테스트 용 빌드 후에 작동하게되었습니다.

그래서 나는 이것을 시도했다 (xcode 버전 9.2 (9C40b)) :

여기에 이미지 설명 입력

그것은 나를 위해 일했습니다. 지금 오류가 발생했습니다.

참고 : 내 포드는 Alamofire가 아니므로 모든 포드에서 작동 할 것 같습니다.


2

또 다른 가능한 시나리오 : 테스트 대상이 상위 대상 (외부가 아닌) 범위 내에서 정의되었는지 확인하십시오.

예 :

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

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

대신 다음과 같은 경우 :

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

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

그러면이 오류도 수신됩니다.


1

나에게도 같은 문제입니다. 포드 파일에서 Alamofire 버전을 제거하여 문제를 해결했습니다.

포드 파일

# 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

제 경우 :

1. 주석 라인 //import Pod_Module

2. 프로젝트-> 정리로 이동하거나 단축키 (Command + Shift + K)를 사용합니다

. 2. 프로젝트를 닫습니다.

3. 터미널에서 프로젝트 디렉토리로 이동합니다

. 4. 파일을 > pod install

열고 실행합니다 . .xcworkspace그것을 구축하십시오!

6. 주석 제거import Pod_Module


0

CocoaPods를 설치할 때 #을 삭제하여 ios 9.0을 지정해야합니다. 따라서, # platform :ios, '9.0'단지해야한다platform :ios, '9.0' 그런 다음 오류가 다시 표시되면 빌드하고 실행하십시오. 빌드하고 실행 한 후에는 오류가 반환되지 않아야합니다.

또한 컴퓨터에 둘 이상의 Xcode 버전이 설치되어있는 경우에도 발생할 수 있습니다. 먼저 모든 버전의 Xcode를 종료 (닫기 만하는 것이 아님)하십시오.



0

Pod가 성공적으로 설치되었는지 확인한 경우 오류가 Pod를 설치하기 전에 남아있는 파생 데이터와 관련 될 수 있습니다. 로 이동하여 파생 데이터를 지울 수 있습니다 File -> Workspace Settings... -> Derived Data. 앱과 관련된 파생 데이터 폴더를 삭제하고 빌드를 정리하면 문제가 해결됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.