Carthage:iOS 平台没有共享的框架方案(适用于我的框架)

27

我创建了一个框架 (叫做ProjectOne) 并测试通过。我想让这个框架可以在 Carthage 中使用。我编辑了我的方案并将默认的 "ProjectOne" 方案共享在 XCODE 中。我进行了 carthage build 并验证了该框架已经构建在 Carthage/Build/iOS 中。

然后我将其 推送到 Github 上并发布了一个版本

在另一个项目中,我正在使用这个框架。但是,carthage 报告 "Dependency ProjectOne has no shared framework schemes for any of the platforms: iOS"

我相信我已经在 ProjectOne 中共享了该方案 - 有人知道为什么会出现这种情况吗?

5个回答

49

Carthage的团队帮我发现了这个问题——Xcode没有将方案添加到git。确保.xcodeproj/xcshareddata/xcschemes已添加并推送到Github。


7
我的方案已经分享并推送到了 Git,但不幸的是我仍然得到相同的错误提示... - jowie
我不确定你的情况@jowie,但当我遇到这个问题时,我原以为我的共享计划已经推送到git了,但实际上并没有。建议你查看仓库中.xcodeproj文件夹里面的内容。 - tng
1
是的 @tng,事实证明它没有正确同步git。谢谢! - jowie
我使用了以下命令并且它起作用了:git add -A <ProjectName>.xcodeproj/ - zirinisp
你可能想要向你的 .gitignore 文件中添加各种忽略内容,以便只共享 .xcscheme 文件。一个提示是从其他使用 Carthage 的 GitHub 项目中复制忽略内容,比如 Alamofire。 - Sentry.co
11
对于那些在项目文件夹中看不到“xcshareddata”文件夹的人,Xcode目前存在一个bug,直到您进入“编辑工具集”并在底部中心取消选中并重新选中“Shared”后才会创建该文件夹。尽管已经被选中,但似乎仍需要提醒一下才能创建该文件夹。 - Carl

6
在我的情况下,问题是由于我在cartfile中包含repo url的方式所致。我将它从以下内容更改: github "https://...UICore.git" == 1.0.0 变成了 git "https://... UICore.git" "master"

这对我也是一样的情况,确保格式为:git "githuburl.git" "branch" - Declan Land

3

点击“管理方案”(Manage Schemes),然后取消标记并重新标记“YourFramework”旁边的“Shared”语音。现在进入终端执行以下操作:

carthage build --no-skip-current

1
回答有些晚了,但我仍然希望这能对其他人有所帮助。 - MohanRaj S

2

对我来说这部分内容是缺失的。我尝试了一些计划,并把它们推送到GitHub上的PiAnimation.xcodeproj/xcshareddata/xcschemes/PiAnimation.xcscheme


0

对我来说,问题出在新版的Xcode上。我在较新版本的Xcode上构建项目,但命令行工具被设置为之前的版本。若要更改它,您应该打开 Xcode -> 首选项 -> 位置。


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