我有一个框架和一个工作区(项目+pod)。 我希望框架能够使用工作区的类(包括项目和pods中的类)。 然后,当我分发我的框架时,我需要它引用上述类。 我该怎么做?
我有一个框架和一个工作区(项目+pod)。 我希望框架能够使用工作区的类(包括项目和pods中的类)。 然后,当我分发我的框架时,我需要它引用上述类。 我该怎么做?
您可以通过编写以下方式的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文件夹中创建Podfile。这个文件夹里最终应该存在以下文件:
AllInOne/Workspace/Workspace.xcodeproj
AllInOne/Framework/Framework.xcodeproj
AllInOne/podfile
AllInOne/AllInOne.xcworkspace
- Ludapod install 分析依赖关系 [!]无法找到名为'ProjectA'(我的项目名称)的目标
AFNetworking
cocoapod。我还可以要求使用其他框架,如CoreLocation
、CoreBluetooth
等。pod install
我以前创建过一个作为pod的框架,并在我的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具有其他依赖项,例如:
s.frameworks = 'QuartzCore'
s.ios.weak_frameworks = 'CoreBluetooth'
s.dependency 'SDWebImage', '~> 3.7'
s.dependency 'GoogleAnalytics-iOS-SDK', '3.0.3c'