如何在Playground中使用CocoaPods?

38

在我将其应用到主要项目之前,我正在尝试一些pod,我想确保它能够满足我的需求。最简单的方法是在playground中试用。

我尝试了在playground中使用pod init,但不起作用

[!] 找不到xcode项目,请指定一个

非常感谢您的帮助。


1
使用一个小的示例项目可能比在 playground 中折腾更容易。对于大多数 pods,您只需简单地输入“pod try podname”即可。 - Paulw11
1
@Paulw11 我同意,但一些简单的测试可以在 playground 中完成,我们不应低估 playground 的强大和速度。当你只想尝试一些东西时,它确实能够给你带来优势。 - vinbhai4u
2
根据这个问题:链接,您需要创建一个工作区,在该工作区中安装Pods,然后在此工作区中创建一个新的playground文件。请参考链接中的'orta'的回复。 - Finn Fahrenkrug
有没有其他方式,例如将Pods项目手动添加到Playground中? - vinbhai4u
1
我大多数时候所做的就是运行 pod try 并使用与 pod 提供的示例项目。 - Samuel
5个回答

55

这是一个旧问题,但出现在谷歌的首位。

This Could Be Us But You Playing是一个命令行工具,它可以创建一个新的Xcode playground并集成cocoapod。它还支持一次性集成多个cocoapod,只需一个命令即可完成。

  1. 安装:gem install cocoapods-playgrounds
  2. 使用:pod playgrounds Alamofire
  3. 等待playground打开后进行构建操作。

1
@vinbhai4u 这应该是被接受的答案,这个工具非常好用,能节省很多时间。 - Lars Blumberg
这对我没用。在我的终端输出:[~]$ pod playgrounds SwiftDate 文件 /Users/emai/SwiftDatePlayground/SwiftDatePlayground/SwiftDate.xcworkspace 不存在。 - bigpotato
我不确定发生了什么。我刚刚使用SwiftDate进行了测试,一切都正常。看起来其他人也遇到了同样的问题。请参见此处 - jkistler
3
我尝试过了,但不起作用,我收到了"No such module 'Parse'"的错误。请尝试使用pod playgrounds Parse - Chlebta
3
有史以来最糟糕代码库的名称。 - wfbarksdale
27
很遗憾,该项目已不再维护,并且不支持Xcode 9。 - timbru31

17

对于那些使用预发布版本1.0的CocoaPods的人,@samuel使用的“link_with”指令已经被弃用。我尝试将我的playground作为目标添加到我的Podfile中,但是CocoaPods不会将其识别为有效目标。

我发现手动为我需要使用的pod添加方案并构建它可以像这里讨论的那样正常工作。

管理方案 输入图像描述

为了演示这一点,我创建了一个示例项目,其中Alamofire集成到Playground这里

我还发现了这个库。我还没有机会使用它,但它看起来很有前途。

另外:如果您想在Playground中进行异步请求(例如使用Alamofire),则需要像这里所述启用无限执行。

希望这有所帮助。


过时的答案 - Nike Kov
1
过时了吗?不,伙计。我只是按照他在这里的步骤,在Xcode 9中让它为我工作 -> https://github.com/paulvanwieren/Pods-In-Playgrounds - Just a coder
我使用GitHub提供的步骤,在Xcode 9上成功运行了。 - Amy L.

6

3
上述解决方案已过时,现在你需要使用“目标块”将Pod添加到Playground中。https://dev59.com/UFoU5IYBdhLWcg3wnX5O - AFraser
Podfile 中 link_with 的规范已不再支持,请改用 target blocks。 - Nike Kov
这些评论及时,但并没有帮助解决问题。 - ahalls

3

Xcode 10中对我有用的方法是:

  1. 创建简单的Single View App;
  2. 像往常一样初始化所需的所有pods;
  3. 在磁盘上的其他位置创建一个新的独立Playground;
  4. 之后,只需进入Single View App工作区并在项目导航器中使用“添加文件到…”命令,然后添加您的Playground;

现在,您可以在Playground中使用所需的所有“Import”指令。


2
如果您的pod也支持Swift Package Manager,您可以尝试使用Arena: https://github.com/finestructure/Arena
arena https://github.com/finestructure/Gala
  resolving package dependencies
  libraries found: Gala
  created project in folder 'SPM-Playground'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接