Objective c xcode-在框架和工作区之间共享代码
我有一个框架和一个工作区(project+pods)。我希望框架使用工作空间类(项目和POD)。然后,当我发布我的框架时,我需要它引用上面的类。我该怎么做 通过以这种方式编写一个pod文件,您可以创建一个新的工作区,包括所有这些工作区:Objective c xcode-在框架和工作区之间共享代码,objective-c,xcode,frameworks,cocoapods,workspace,Objective C,Xcode,Frameworks,Cocoapods,Workspace,我有一个框架和一个工作区(project+pods)。我希望框架使用工作空间类(项目和POD)。然后,当我发布我的框架时,我需要它引用上面的类。我该怎么做 通过以这种方式编写一个pod文件,您可以创建一个新的工作区,包括所有这些工作区: workspace 'AllInOne.xcworkspace' xcodeproj 'Workspace/Workspace.xcodeproj' xcodeproj 'Framework/Framework.xcodeproj' target 'Proje
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文件夹,其中存在framework.xcodeproj,并放置工作区文件夹。
现在,在AllInOne文件夹中创建podfile。最后,应在此目录中存在以下文件:
AllInOne/Workspace/Workspace.xcodeproj
AllInOne/Framework/Framework.xcodeproj
AllInOne/podfile
AllInOne/AllInOne.xcworkspaceCocoapods提供了向pod添加依赖性的方法。例如,我编写的cocoapod可能要求项目安装最新的
AFNetworking
CoCoCoaPod。我还可以要求使用其他框架,如CoreLocation
,CoreBluetooth
等
如果您将框架创建为cocoapod,您应该能够添加一个依赖项列表,这些依赖项将在运行时添加:
pod安装
我以前创建过一个框架作为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'
现在,当您/其他人通过cocoapods安装您的框架时,他们将在项目中安装他们需要的所有东西。我可以了解更多详细信息吗?我应该在现有的工作区中拖动框架吗?我应该只在podfile中为框架添加一个部分吗?当框架准备就绪时,将向用户提供什么?只有框架和捆绑文件?>>pod安装>>分析依赖项>>[!]找不到名为“ProjectA”(我的项目名称)的目标。您有机会尝试我的解决方案吗?如果我希望在项目和框架之间共享特定类,如何执行此操作
s.frameworks = 'QuartzCore'
s.ios.weak_frameworks = 'CoreBluetooth'
s.dependency 'SDWebImage', '~> 3.7'
s.dependency 'GoogleAnalytics-iOS-SDK', '3.0.3c'