【问题标题】:How to install a swift framework which has a cocoapod dependency into your swift app project in Xcode?如何在 Xcode 中将具有 cocoapod 依赖项的 swift 框架安装到您的 swift 应用程序项目中?
【发布时间】:2020-08-30 18:02:27
【问题描述】:

我已经到处寻找有关此的示例,但找不到与我的问题/情况相匹配的内容。

我有一个名为 FrameworkA 的快速框架。在 FrameworkA 中,我通过创建一个 podfile 并添加所需的 pod 信息来放置一个 cocoapod,Alamofire。接下来列出 podfile。

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'FrameworkA' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for FrameworkA
  pod 'Alamofire', '~> 5.2'
end

Pod/Alamofire 安装正确,因为我使用 FrameworkA 中的测试类中的简单调用对其进行了测试。见代码:

import Foundation
import Alamofire

class TestClass {
    
    let test = AF.request("https:/google.com").response { response in
        debugPrint(response)
    }
    
}

一切正常后,此时我想将 FrameworkA 放在 Xcode 中的 Swift App 项目中。

这是我遇到障碍的地方,因为我无法构建一个安装了 FrameworkA 的简单应用 ApplicationA,因为在 FrameworkA 中找不到 Alamofire。见图片。

我尝试过的:

我尝试将 FrameworkA 的 .xcodeproj 文件拖放到 Xcode 中 ApplicationA 的项目中,然后将框架添加到 Frameworks、Libraries、Embedded Content 部分。见图像。

当我尝试构建时,我收到 FrameworkA 找不到 Alamofire 的编译错误。见图片:

我的主要问题是:

  • 我如何让 ApplicationA 成功构建,因为显然 Alamofire 没有与框架一起安装?

【问题讨论】:

    标签: swift xcode frameworks cocoapods


    【解决方案1】:

    我能够回答我自己的问题。

    我所要做的就是将 Alamofire 作为一个 cocoapod 添加到 ApplicationA 中,然后一切都会正确构建。

    # Uncomment the next line to define a global platform for your project
    # platform :ios, '9.0'
    
    target 'ApplicationA' do
      # Comment the next line if you don't want to use dynamic frameworks
      use_frameworks!
    
      # Pods for ApplicationA
      pod 'Alamofire', '~> 5.2'
    end
    

    【讨论】:

    • 还有其他方法可以避免主应用程序 pod 集成吗?谢谢
    猜你喜欢
    • 2019-01-08
    • 2020-05-21
    • 2018-12-05
    • 1970-01-01
    • 2015-04-19
    • 2015-01-22
    • 2018-06-28
    • 1970-01-01
    • 2017-10-26
    相关资源
    最近更新 更多