我有一段代码,我发现我在多个不同的项目中重复使用,所以我想把它变成一个cocoapod并使用私人cocoapod仓库.
我的问题是如何将xcode项目设置为cocoapod?它应该是一个静态库还是一个带有appdelegate的空"项目"?您似乎不希望在pod中使用appdelegate或main.m,但它确实使运行和调试更容易.
谢谢
希望有人已经解决了这个问题; 我正在尝试将第三方库(Airwatch)包装在一个cocoapod中,以便更好地管理我们的应用程序.不过,我有一段时间试图让它发挥作用.我已经在一个静态库周围创建了一个pod,但是这个是一个动态框架,我有一段时间来编译它.框架中的标题只能在包含的应用程序中访问....
这是我已经尝试过的:
接下来,我尝试将框架中的标头路径添加为source_files,就像这样
s.source_files = 'Pod/Classes/**/*','Pod/Framework/AWSDK.framework/Versions/A/Headers/*.h'
Run Code Online (Sandbox Code Playgroud)这允许xcode找到导入的标题,如:
import "AWSDKCore.h" //Documented as the framework's main header
Run Code Online (Sandbox Code Playgroud)
但是这会对原始框架中的现有导入产生错误:
我认为这是一个坏主意,但我想我会尝试将我的cocoapod命名为与Framework相同的名称(应保留导入路径).因此,这会抛出一堆错误,说某些枚举要么未声明,要么被声明两次.
如果有人有想法,我会永远很高兴......
仅供参考,这是我的podspec:
Pod::Spec.new do |s|
s.name = "AirwatchSDK"
s.version = "0.1.0"
s.summary = "A short description of AirwatchSDK."
s.homepage = "https://github.com/<GITHUB_USERNAME>/AirwatchSDK"
s.license = 'MIT'
s.author = { "xxxxx" => "xxxx" }
s.source = { :git => "https://github.com/<GITHUB_USERNAME>/AirwatchSDK.git", :tag => s.version.to_s }
s.platform = :ios, '8.0'
s.requires_arc = true
#s.module_name = 'AWSDK'
s.source_files = 'Pod/Classes/**/*','Pod/Framework/AWSDK.framework/Versions/A/Headers/*.h'
s.vendored_frameworks = 'Pod/Framework/AWSDK.framework'
s.frameworks = …Run Code Online (Sandbox Code Playgroud)