objective-c - xcode - 在框架和工作区之间共享代码

标签 objective-c xcode frameworks cocoapods workspace

我有一个框架和一个工作区(项目 + 单元)。我希望框架使用工作区类(项目和 Pod)。然后,当我分发我的框架时,我需要它具有对上述类的引用。我怎么做?

最佳答案

Cocoapods 提供了向 pod 添加依赖项的方法。因此,例如我编写的 cocoapod 可能要求项目安装最新的 AFNetworking cocoapod。我还可以要求使用其他框架,例如 CoreLocationCoreBluetooth 等。

如果您将框架创建为 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'

然后您应该能够要求该 cocoapod 具有其他依赖项,例如:

s.frameworks   = 'QuartzCore'

s.ios.weak_frameworks =  'CoreBluetooth'

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

现在当你/其他人通过 cocoapods 安装你的框架时,他们将在项目中安装他们需要的一切。

关于objective-c - xcode - 在框架和工作区之间共享代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26161525/

相关文章:

ios - 将后退按钮添加到导航栏不起作用

Mac 上 Eclipse IDE 中的 Python Kivy

java - 我可以使用什么 Java 库来处理 WSDL 文件?

ios - XCTest CLLocationManager 的委托(delegate)方法不会被调用

iphone - UIGestureRecognizer 是否适用于 UIWebView?

objective-c - 为什么垃圾收集不适用于线程?

ios - 设备旋转后后退按钮未调整大小

xcode - 重复弹出: Xcode wants to access key "com.apple.dt.XcodeDeviceMonitor" in your keychain

xcode - 你能在 Xcode 模拟器上使用 CoreBluetooth 吗?

ios - 将 Unity Game 插件到现有的 Xcode 项目中