问题标签 [carthage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3295 浏览

objective-c - 如何在 Xcode 中将源代码连接到已编译的框架

我在我的 Xcode 项目中使用 ReactiveCocoa 3.0 编译框架。有时我想看看函数内部有什么代码。

有没有办法将源代码与编译的 xcode 框架连接起来,以便能够在 Xcode 中挖掘代码?

更新:我正在使用 Carthage 依赖管理器和构建工具来构建框架

0 投票
4 回答
16066 浏览

ios - Carthage:如何获取给定存储库的最新版本?

Cartfile 文档做出断言:

如果没有给出版本要求,则允许任何版本的依赖项。

有一个矛盾的例子:

此外,没有说明,但通过测试,我推断“最新”实际上是最新标签的版本。这种解释正确吗?如果是这样,如何指定最新的提交 - 您是否必须手动检查并指定最新的提交,还是有更简单的方法?

0 投票
0 回答
878 浏览

ios - Carthage 构建一个包含内部框架依赖的框架

我有一个框架目标,其内部依赖于另一个框架目标。

所以像: 在此处输入图像描述

外框架的方案是“共享”的

在此处输入图像描述

当我运行命令时

carthage build --no-skip-current

“外部”框架的架构是:

~/Developer/Testing/FrameworkTesting/Carthage/Build/iOS : lipo -info FrameworkTesting.framework/FrameworkTesting 胖文件中的架构:FrameworkTesting.framework/FrameworkTesting 是:i386 x86_64 armv7 arm64

但内部框架只是arm:

~/Developer/Testing/FrameworkTesting/Carthage/Build/iOS : lipo -info FrameworkTesting.framework/Frameworks/InnerFramework.framework/InnerFramework 胖文件中的架构:FrameworkTesting.framework/Frameworks/InnerFramework.framework/InnerFramework 是:armv7 arm64

因此,如果我尝试在另一个项目中使用此框架,我将无法编译。

我应该做些什么来完成这项工作吗?

PS我也有其他框架(第3方)嵌入到这个框架中,直接从carthage build派生,它们也有相同的架构问题。

0 投票
4 回答
3327 浏览

xcode - 在 Xcode 服务器中找不到代码签名身份

在Carthage项目中使用 Xcode 7B4 和 Server 5B4 。要构建项目,我需要首先构建它的依赖项。因此,我使用以下代码向机器人添加了集成前步骤:

自己运行这个一切正常。但是当机器人运行它时,我得到了这个:

CodeSign 错误:未找到代码签名身份:未找到有效的签名身份(即证书和私钥对)。
CodeSign 错误: SDK 'iOS 9.0' 中的产品类型 'Framework' 需要代码签名
外壳任务失败,退出代码为 65

检查我自己作为团队的机器人并扫描服务器目录,它似乎具有所有必需的配置文件。所以我猜服务器的用户无权访问密钥或类似的东西。

有谁知道我可能会错过什么?

0 投票
1 回答
6192 浏览

ios - 您如何创建购物车文件?或者轻松地将框架添加到您的应用程序中?

我正在尝试了解框架以及如何在我的 Swift 应用程序中使用它们。我是 Swift 的初学者,我了解 OOP 概念,但对处理库和框架却完全陌生。

我想使用 SwiftyJSON、Alamofire 等框架,但想以最简单的方式使用它们。我发现 Carthage 是将这些更新到您的项目中的最简单方法。但是,我还没有找到一个使用它的用户友好指南或教程!我在这里阅读了文档(https://github.com/Carthage/Carthage/blob/master/README.md),但这让我很困惑。我完全坚持创建一个 Cartfile。

您如何创建购物车文件?它应该位于哪里?

在那之后,我理解了放入它的命令,但我坚持创建它并理解基本原理。

0 投票
1 回答
1355 浏览

swift - Carthage + Quick framework + Swift 2 =“错误:模块文件是由旧版本的编译器创建的;重建'Quick'并重试”

我在 Swift 2 中使用 Xcode 7 beta 5(它是当前唯一安装的 xcode),当我尝试使用 Quick 运行单元测试时,出现以下错误:

我正在使用 Carthage (0.8.0) 来管理我的依赖项。我的 Cartfile.private 有:

据我所知,这些是这些库的 Swift 2 版本。我链接了库,当我尝试运行单元测试时,我得到了注意到的错误。

这里有一个类似的问题,但这似乎不是我的问题 Realm: Module is created by an old version of compiler and could not build objective-c module

我已经清理了我的 DerivedData 和 Carthage/Build 文件夹,但仍然没有运气。

如何使用 Swift 2 和 Quick 运行单元测试?

0 投票
3 回答
21333 浏览

ios - 从 iOS/Xcode 项目中卸载/删除 Carthage?

这是一个链接Carthage

https://github.com/Carthage/Carthage

它还在项目文件中添加了一些更改,因此我可以简单地删除额外的文件/文件夹,它会起作用,但由于一些错误,我以后无法Carthage再次使用。

当然,在其官方页面上也没有具体的说明。

0 投票
2 回答
1888 浏览

ios - Carthage - 如何使用 Carthage 导入 FBSDKCoreKit、FBSDKLoginKit、FBSDKShareKit 和 Bolts?

通过 cocoapods 进行的集成已记录在案且很容易,但是如何使用 Carthage 实现相同的功能?

0 投票
0 回答
852 浏览

ios - 适用于 iOS 或 Mac 的 Xcode 构建变量以支持迦太基

概述

我正在开发由Carthage集成的多个级联动态框架集。我正在尝试调整这篇博文中的原则以及iOS 和 OS X 之间的 WWDC 视频共享代码

我的情况:

我有 3 个动态框架,它们以级联格式相互包含:

动态框架:DataManager包括动态框架:GDL90包括动态框架: EGL96

工作至今...

我正在做的事情的要点是采用单个目标并将其配置为构建适用于 iOS 和 Mac 的框架,并在此处解释

  • 基础 SDK:OSX
  • 支持的平台:machos iphoneos iphonesimucator
  • 有效架构:arm64 armv7 armv7s i386 x86_64

然后在您的测试目标下更改搜索路径:

  • 运行路径搜索路径:$(inherited) @executable_path/Frameworks @loader_path/Frameworks @executable_path/../Frameworks @loader_path/../Frameworks
  • 框架搜索路径:$(SDKROOT) $(inherited)

问题开始的地方

我将EGM96项目配置为为多个目标构建多个构建。这很好用并且编译得很好。一旦我们卷入迦太基,麻烦就开始了。

在我的GDL90项目中,我包含了来自 carthage 的EGM96

运行后,carthage update我最终得到以下文件:

  • ./Carthage/Build/Mac/EGM96.framework
  • ./Carthage/Build/iOS/EGM96.framework

我还将GDL90项目配置为进行多平台构建,但这就是错误开始的地方。我无法动态配置构建过程(到目前为止)以根据正确的目标(即 OS X 构建拉取自/Carthage/Build/Mac/EGM96.framework)拉入正确的框架版本。

我花了一些时间查看 Xcode 的构建变量,但还没有找到可行的解决方案。

需要注意的是,这些最初是iOS我在iOS框架中链接到 Xcode 中的项目,因此我最终得到了完全适当的错误:

ld: building for OSX, but linking in object file built for iOS, file '/Users/jstein/devel/DigitalCopilot/GDL90/Carthage/Build/iOS/EGM96.framework/EGM96' for architecture x86_64

对于我缺少的一些隐藏的构建变量,是否有一个简单的解决方案可以在编译时允许 Xcode 从适当的 carthage 构建路径中提取框架?

0 投票
1 回答
1403 浏览

ios - 迦太基代码符号错误

我已经从 github克隆了这个 iOS 应用程序,并尝试按照文档中的说明运行carthagecarthage update。但是,当我这样做时,我收到一条错误消息(事实上,这是我的整个终端输出):

Cartfile看起来像这样:

现在我不知道这是否特定于该项目(尽管我不这么认为,它很受欢迎,而且似乎没有其他人在抱怨)。所以我倾向于认为这是我做错了,或者我的环境有问题。