我最近使用Carthage将SwiftyJSON添加到我的xCode项目中。
Cartfile
$ cat Cartfile
github "SwiftyJSON/SwiftyJSON" >= 2.1.2
我运行此命令来安装SwiftyJSON
$ carthage update
我将构建的Framework添加到我的xCode项目
我在项目的顶部导入了框架
但我仍然会收到此错误:
Use of unresolved identifier 'JSON'
说真的,我做错了什么?我是iOS开发的新手。
更新:我尝试删除框架并将框架重新拖动到链接框架和库并添加"运行脚本"部分到"构建阶段"正如迦太基的指示所说。
我确信在Carthage Update
过程中出现了问题,因为我在初次尝试时收到了此错误:
$ carthage update
*** Fetching SwiftyJSON
*** Fetching Alamofire
*** Checking out SwiftyJSON at "2.1.3"
*** Checking out Alamofire at "1.1.4"
*** xcodebuild output can be found in /var/folders/0x/swzt630n3_575tglljpwhn4h0000gn/T/carthage-xcodebuild.Pc6rLg.log
*** Building scheme "Alamofire iOS" in Alamofire.xcworkspace
*** Building scheme "Alamofire OSX" in Alamofire.xcworkspace
*** Building scheme "SwiftyJSON" in SwiftyJSON.xcworkspace
** BUILD FAILED **
The following build commands failed:
Check dependencies
(1 failure)
在查找问题后,我被告知你可以运行
carthage update --configuration Debug
哪个安装得很好,但有些事情仍然不对......
答案 0 :(得分:2)
在SwiftyJSON
添加Alamofire
和Carthage
框架期间,您似乎错过了一个步骤。请查看Carthage
自述文件页面中的以下步骤:
步骤:
在应用程序目标的“构建阶段”设置选项卡上,单击“+”图标并选择“新建运行脚本阶段”。使用以下内容创建运行脚本:
/usr/local/bin/carthage copy-frameworks
并在“输入文件”下添加要使用的框架的路径,例如:
$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework
$(SRCROOT)/Carthage/Build/iOS/SwiftyJSON.framework
看起来你错过了第4步。我在演示Swift项目中尝试了这些步骤,他们工作得非常好。尝试这些步骤,如果仍有问题,请发表评论。谢谢!
答案 1 :(得分:1)
我切换到Cocoapods,它刚刚起作用。同样,在iOS开发方面,我是一个完全的菜鸟。在寻找依赖经理时,我看了Cocoapods和Carthage,他们提供了什么。迦太基声称保持简单,我很感兴趣:
" Carthage因为我们想要最简单的工具 - 一个依赖管理器,可以完成工作而不必承担Xcode的责任"
虽然我总是会在选择时选择更简单的工具,但我认为我不太了解iOS生态系统(读取:Xcode)以使用Carthage。
答案 2 :(得分:0)
TL,DR:不能在模拟器中使用它,使用iPhone。
我也按照你的方式,我发现 - 配置调试将代码签署" iOS开发人员"身份为SwiftyJSON的项目属性。
AFAIK,代码签名" iOS开发人员"身份没有与模拟器一起运行。 当我在iPhone 6上运行时,我的问题得到了解决。
答案 3 :(得分:0)
我不知道为什么你不能在迦太基的帮助下添加这个资源但是如果你需要使用SwiftyJSON你只需要:
输入以下网址:SwiftyJSON
Clic the button"克隆或下载"然后在"下载ZIP"如下图所示:
Clic the button "Clone or download" and then in "Download ZIP" IMG
您将获得一个名为" SwiftyJSON-master"的ZIP文件。
提取文件
输入路径:
SwiftyJSON主/源/
SwiftyJSON.swift
将该文件复制到项目的文件中。
将该文件添加到项目目录中。
该文件将与您可能使用的项目中的其他类一样。