在框架中的pod,在swift中导入主项目的框架

时间:2017-06-30 11:26:44

标签: swift api frameworks cocoapods

这个想法是有一个api框架(新项目 - >可可触摸框架),例如“SuperApi”。 SuperApi使用像Alamofire,ObjectMapper和我需要的任何东西。

接下来,我想将SuperApi集成到我的应用程序中,就像普通框架一样。

我尝试了不同的方法。我试图在“嵌入式​​二进制文件”中添加它和/或尝试在“链接框架和库”中添加superApi。没有成功。我总是链接整个框架文件夹。

import SuperApi总是出错:找不到框架

然后我读了一些关于工作空间的内容,我可以将很多项目并行。对于api来说,这似乎真的被压倒了。

创建一个没有pods的框架(xcodeproj)没问题。网上有很多描述。但是对于我的问题,什么是(好的)解决方案? 我不想编写自己的http-networking + JSON解析器。感谢您的投入。

2 个答案:

答案 0 :(得分:0)

为什么不将SuperApi添加为主项目的窗格?您可以将其作为本地广告连播,直接关联the last commit或使用您自己的private repo

Ray Wenderlich有一个非常好的教程:https://www.raywenderlich.com/99386/create-cocoapod-swift

答案 1 :(得分:0)

谢谢Eli。我发现了这个视频,它更新了 https://www.youtube.com/watch?v=gNMNeqXKnzw&t=964s(感谢Levi Bostian先生 - 你结识了我的一天)

不幸的是,这个视频也有点过时了。

你遇到了Swift 2/3问题。所以你必须在你的git中创建一个.swift-version。例如,Alamofire就是这样做的:https://github.com/Alamofire/Alamofire/blob/master/.swift-version

您可以在pod文件夹中执行此操作:echo 3.0 > .swift-version

我遇到了第二个问题,因为我的吊舱不是最新的。因此,请更新您的广告连播sudo gem install cocoapods --pre

最后但并非最不重要的是我的podspec中有警告,所以我必须使用pod spec lint --allow warnings

更好的方法是修复警告;)