1

有很多关于它的东西,但我仍然无法弄清楚。

所以这就是我正在做的事情:我创建了一个 Cocoapod 测试框架,其中的代码是从这里和那里的一些教程中借来的。回购

播客文件

platform :ios, '9.0'

target 'CocoaPodTestFramework' do

use_frameworks!

pod 'Alamofire'
pod 'SwiftyJSON'
end

在框架中,我需要一个 http 调用,所以我在我的框架工作区中使用了 Alamofire 和 SwitfyJSON pod。成功构建过程后,我得到三个框架文件:

  1. CocoaPodTestFramework.framework
  2. Alamofire.framework
  3. SwiftyJSON.framework

现在当我想使用它一个应用程序并创建一些测试应用程序来测试我的框架时。

  1. Swift:该应用程序没有使用 cocoapod(普通 Xcode 项目而不是工作区),我只是链接了所有 3 个框架并且它可以工作。
  2. 对于 Objective-C 应用程序,我做了同样的事情,并且成功了。
  3. 现在在另一个使用 Cocoapods 的 Swift 应用程序中,我在 Podfile 中添加了以下内容

示例应用程序的 Podfile

platform :ios, '9.0'
target 'Cocoapod Test App' do
use_frameworks!
pod 'CocoaPodTestFramework', :path => '/Users/ABCD/Documents/Projects/TEST/CocoaPodTestFramework'
end

现在问题来了,每当我尝试构建应用程序时,我都会 no such module 'Alamofire'进入引用框架,并且在应用程序中它说no such module 'CocoaPodTestFramework'

从那时起一直在阅读各种帖子/论坛/问题,但无法弄清楚如何修复它尝试添加pod 'Alamofire'pod 'SwiftyJSON'在应用程序 Podfile 中,但仍然得到相同的错误。并且还尝试在框架的 .podspec (s.frameworks) 文件中添加“Alamofire”和“SwiftyJSON”,但这会产生错误。

所以我想知道是否有解决方法或者根本不可能?

在某处阅读以使用框架项目作为示例应用程序的子模块,这会解决问题吗?如果是,那么如果我不想共享代码,那么其他人怎么能使用这个 pod 我的意思是不提交代码只共享 .framework 文件(基本上它应该像一个 SDK,我不能分享它的源代码但需要使用其他 pod :P,即使我也想跳过 github 部分寻找一种方法)

谁能帮我解决这个问题?

4

2 回答 2

1

好的...这是我的想法,它可能对像我这样的人有所帮助...

播客文件

s.dependency "Alamofire"
s.dependency "SwiftyJSON"

上面两行已经解决了这个问题,我仍然不想关闭这个线程,直到我开发了实际的 SDK 来检查这是否真的有效。:)

于 2018-01-21T10:26:06.490 回答
0

我之前遇到过这个问题,我创建了一个动态框架,它使用 pods 来完成它作为聊天模块的过程,在将它拖到一个项目后它看不到子框架并给出你描述的相同错误,最后我想只在IOS MACOS中不允许嵌套框架,似乎框架代码必须是没有子框架的纯代码才能工作,在Apple论坛上写了一篇文章,他们这样回应

在此处输入图像描述

于 2018-01-20T22:27:16.453 回答