在 XCode、iOS 开发中编译时在 Keychain.swift 中构建错误
Posted
技术标签:
【中文标题】在 XCode、iOS 开发中编译时在 Keychain.swift 中构建错误【英文标题】:Build errors in Keychain.swift when compiling in XCode, iOS development 【发布时间】:2016-09-19 16:10:34 【问题描述】:Xcode 版本为 7.3.1 OSX 10.11.6
此链接准确地描述了我遇到的问题
https://github.com/marketplacer/keychain-swift/issues/37
Errors I'm getting 明确表示我的系统无法识别 Keychain.Swift 文件。
上面的链接表明该文件在 Swift 3.0 中,我仔细检查了我运行的是 Swift 2.2。
所以我尝试通过 cocoapods 安装旧版本的 Keychain.Swift,它似乎在我的系统中更新,但我仍然遇到相同的构建错误。
我在 Xcode 的 pod 文件中放置了“pod 'KeychainSwift', '~> 3.0'”,然后从项目目录中的终端运行“install pod”。
我尝试关闭 Xcode 并重新打开,我尝试运行 Product-> clean,但似乎没有任何效果。
该项目是从 github 提取的工作文件,似乎可以在原始作者环境中运行,但我还没有成功让我的环境运行。
感谢任何意见和建议。我是 swift、cocoapods 和 ios 开发的新手。
【问题讨论】:
您使用的是哪个 xcode 版本? 知道我忘记了什么!版本 7.3.1。我会编辑我的帖子,谢谢。 请检查以下答案应该可以工作 【参考方案1】:我可以看到您正在使用的Keychain.Swift
的当前版本在Swift 3.0
中
它给你
Swift 3.0
中引入的Date
类错误 Date Class Documentation 不幸的是 ios 10+ 支持哪个
请按照以下步骤删除旧版本并切换到旧版本:
-
从您的 pod 中删除这一行
"pod 'KeychainSwift', '~> 3.0'"
并运行 install pod
这将删除当前的 KeychainSwift
pod。
现在添加这一行 pod 'KeychainSwift', git: "https://github.com/marketplacer/keychain-swift.git", branch: "swift_2_3"
Reference taken form this link 这将安装 Swift 2.3
版本的文件。
享受编码。
【讨论】:
我已按照您的建议删除并添加,但仍然没有运气。我已经重新启动了 Xcode 和我的 Mac。 Xcode 似乎确实有更新,所以我会试一试并报告。感谢您迄今为止提供的支持! 你还面临同样的问题吗? 你也可以上传你当前的.swift文件,它是在上述步骤之后安装的。 我已将范围缩小到当我将“pod 'KeychainAccess'”添加到我的 podfile 时。当我将其注释掉时,与“keychain.swift”相关的构建错误消失了,但是我不能再“导入 KeychainAccess”并使用该库。所以我仍然面临同样的问题。你想让我上传 keychain.swift 文件吗? 添加“pod KeychainAccess”会添加一个名为“Keychain.swift”的文件。当我尝试通过您的答案中的说明安装正确的版本时,它会创建一个名为“keychainswift.swift”的文件。我只是在两个单独的文件夹中得到两个单独的文件,名称略有不同。这可能是问题吗?【参考方案2】:原来有多个库可用于使用钥匙串。有一种叫做 KeychainAccess,另一种叫做 Keychain-swift。一个使用“import KeychainAccess”,另一个使用“import KeychainSwift”。当我使用 2.2 时,我只是拥有 swift 3.0 的版本(我们从一开始就知道,但仍然无法让它工作)。 Harshal Bhavsar 给出的建议是准确的,但前提是您使用的是“KeychainSwift”。否则,您想回滚到此处https://github.com/kishikawakatsumi/KeychainAccess/releases 找到的旧版“KeychainAccess”。
【讨论】:
以上是关于在 XCode、iOS 开发中编译时在 Keychain.swift 中构建错误的主要内容,如果未能解决你的问题,请参考以下文章
当目标是 ios 11.0 或字母时在 Xcode 11.3 中访问 UIWindow 实例