2014-10-02 3 views
3

프레임 워크와 작업 공간 (프로젝트 + 포드)이 있습니다. 프레임 워크에서 작업 공간 클래스 (프로젝트와 포드 모두)를 사용하기를 원합니다. 그런 다음 프레임 워크를 배포 할 때 위의 클래스에 대한 참조가 필요합니다. 어떻게해야합니까?xcode - 프레임 워크와 작업 공간 사이의 코드 공유

+0

내 솔루션을 사용해 볼 기회가 있었습니까? –

답변

1

코코아포드는 광고 모음에 의존성을 추가하는 수단을 제공합니다. 예를 들어 제가 작성한 코코아포드는 프로젝트에 최신 AFNetworking 코코아포드가 설치되도록 요구할 수 있습니다. 나는 또한 다른 프레임 워크를 사용하도록 요구할 수 등 CoreLocation, CoreBluetooth

당신이 cocoapod 같은 프레임 워크를 만드는 경우가 실행할 때 추가됩니다 종속성 목록을 추가 할 수 있어야한다 :

pod install

내가 전에 포드와 같은 프레임 워크를 만들어 내 podspec이 같은 것을 사용했습니다 :

s.source    = { :git => ' <destination Git repo> ', :tag => '0.0.1' } 
s.ios.xcconfig  = { 'FRAMEWORK_SEARCH_PATHS' => '"$(PODS_ROOT)/<MyFrameWorkName>"' } 
s.ios.preserve_paths = '<MyFrameWorkName>.framework' 

그런 다음이 해당 cocoapod을 필요로 할 수 있어야한다 오 예를 들어 THER 의존성 : 당신이/다른 사람이 cocoapods를 통해 프레임 워크를 설치할 때

s.frameworks = 'QuartzCore' 

s.ios.weak_frameworks = 'CoreBluetooth' 

s.dependency 'SDWebImage',     '~> 3.7' 
s.dependency 'GoogleAnalytics-iOS-SDK',  '3.0.3c' 

지금, 그들은 프로젝트에 설치된 필요한 모든 것을해야합니다.

1

당신은 그 방법으로 podfile를 작성하여, 그들 모두를 포함한 새로운 작업 공간을 만들 수 있습니다

workspace 'AllInOne.xcworkspace' 
xcodeproj 'Workspace/Workspace.xcodeproj' 
xcodeproj 'Framework/Framework.xcodeproj' 

target 'ProjectA' do 
    platform :ios, '8.0' 
    xcodeproj 'Workspace/Workspace.xcodeproj' 
    pod 'nameofpod', '~> .1' 
end 

target 'Framework' do 
    platform :ios, '8.0' 
    xcodeproj 'Framework/Framework.xcodeproj' 
end 

편집 :

예를 들어 이름으로 (새 폴더 만들기 "AllInOne"). 해당 폴더에서 framework.xcodeproj가있는 곳에 프레임 워크 폴더를 배치하고 작업 영역 폴더도 배치하십시오. 이제 AllInOne 폴더에 pod 파일을 만듭니다.

AllInOne/작업 영역/Workspace.xcodeproj

AllInOne/프레임 워크/Framework.xcodeproj

AllInOne/podfile

AllInOne/AllInOne.xcworkspace

: 마지막에이 디렉토리에이 파일을 존재해야
+0

더 자세한 정보가 있습니까? 기존 작업 영역에서 프레임 워크를 드래그해야합니까? 프레임 워크의 podfile에 섹션 만 추가해야합니까? 프레임 워크가 준비되면 사용자에게 무엇이 제공됩니까? 프레임 워크와 번들 파일 만? – Luda

+0

>> pod install >> 종속성 분석 >> [!] 'ProjectA'라는 타겟을 찾을 수 없습니다 (프로젝트 이름) – Luda

관련 문제