본인과 팀은 내부 프로젝트와 개인 프로젝트가 관련된 이상한 상황에 처하게됩니다.XCode에서 개인 Pod (Swift) 내에서 정의 된 프로토콜을 사용하려고 할 때 '선언되지 않은 유형 사용'이라고 말합니다.
Google의 기본 앱 코드에서 (개인용 포켓에 정의 된) 일부 프로토콜 식별자에 액세스 할 수 없다는 문제가 있습니다.
분명히 우리의 문제는이 2 개의 스택 오버 플로우 스레드에서 설명한 것과 똑같은 것 같지만 솔루션은 우리와 함께 작동하지 않습니다.
스레드 1 : Source files not found in Swift
스레드 2 : CocoaPod installed but doesn't see Swift code
우리가 사용하고있는 해골이 하나입니다 프로토콜과
우리 커먼즈 포드 (우리는 할 수 없습니다 기본 앱에서 볼 수 있음)은 .podspec 파일로 정의됩니다.
Pod::Spec.new do |s|
s.name = "Commons"
s.version = "0.1.10"
s.summary = "Commons framework"
s.description = <<-DESC "Commons framework"
DESC
s.homepage = "http://EXAMPLE/Commons"
s.license = { :type => "Commercial" }
s.author = { "Author" => "[email protected]" }
s.source = { :git => "GITLAB_PRIVATE_URL/commons-iOS-Pod.git", :tag => s.version }
s.source_files = "Commons", "Commons/**/*.{h,m,swift}"
s.exclude_files = "Commons/Exclude"
end
우리의 기본 응용 프로그램에서 우리는 다음과 같은 Podfile을 가지고 있습니다 (Commons pod를 우리의 주된 xcworkspace에 가져 오기 위해).
# Uncomment this line to define a global platform for your project
platform :ios, '8.0'
target 'ios-appbase' do
# Comment this line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
pod 'Alamofire'
pod 'ViewDeck'
pod 'JLRoutes'
pod 'Commons', :git => 'GITLAB_PRIVATE_URL/commons-iOS-Pod.git', :tag => '0.1.4', :branch => 'develop'
pod 'RestManager', :git => 'GITLAB_PRIVATE_URL/RestManager-iOS-Pod.git', :tag => '0.1.3'
pod 'BaseClasses', :git => 'GITLAB_PRIVATE_URL/BaseClasses-iOS-Pod.git', :tag => '0.1.3'
pod 'DesignManager', :git => 'GITLAB_PRIVATE_URL/DesignManager-iOS-Pod.git', :tag => '0.1.2'
end
우리는 프로토콜을 공개로 정의했습니다 ('Pods'프로젝트 내에 있기 때문에 완료 될 것으로 예상 됨).
다른 무엇을 조사해야합니까?
추 신 : 우리의 주 앱뿐만 아니라 우리의 주 앱에 포함 된 다른 포드 인 Alamofire 내부에 정의 된 프로토콜도 "보이지 않음"입니다. 우리는 그것들을 사용하려고 노력하고 컴파일시에 Xcode가 불평합니다.
미리 감사드립니다. 인사말.
EDIT1 : 우리의 문제를 좁히고, 우리는 그것이 컴파일 시간에 일어난 일이라고 생각합니다. 왜? Xcode는 CMD + Click (Pods 파일 구조에 정의 된 두 개의 프로토콜)을 사용하여 잘못된 기호를 해결할 수 있기 때문에 컴파일러는이를 수행 할 수 없으며 "선언되지 않은 유형 사용"오류로 불평하는 사람입니다. 성공
포드를 추가 한 후에 프로젝트를 청소 해보십시오. – impression7vx
우리는 전후에 프로젝트를 정리했습니다. 심지어 파생 된 데이터. – Isaac