尝试将 IQKeyboardManager 与 Xcode 和 Swift 一起使用时出错
Posted
技术标签:
【中文标题】尝试将 IQKeyboardManager 与 Xcode 和 Swift 一起使用时出错【英文标题】:Getting error when trying to use IQKeyboardManager with Xcode and Swift 【发布时间】:2016-09-03 14:34:09 【问题描述】:我想在使用UITextField
或UITextView
时使用IQKeyboardManager 来管理键盘。我正在使用 Xcode 和 Swift。我不使用 CocoaPods,我想使用源代码方法。
这些是我正在做的步骤。
打开项目并将IQKeyboardManagerSwift
文件夹移动到我的Xcode 项目的左侧边栏中。这是它的屏幕截图:
IQKeyboardManagerSwift folder in Xcode sidebar
然后我像这样更改了 AppDelegate.swift 中的代码:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
IQKeyboardManager.sharedManager().enable = true
return true
但我得到的是Use of unresolved identifier 'IQKeyboardManager'
换成IQKeyboardManager.sharedManager().enable = true
。
我做错了什么?我完全按照手册进行了操作,并且已经阅读了数百遍,但无法正常使用。
【问题讨论】:
【参考方案1】:当您拖放“IQKeyboardManagerSwift”文件夹时,请确保选择“CREATE GROUPS”而不是“CREATE FOLDER REFERENCES”。这应该可以解决问题。
我在here找到了这个解决方案
【讨论】:
【参考方案2】:确保以下几点:-
1.) 您已经导入了库:-
import IQKeyboardManagerSwift
2.)确保没有安装两个cocoapods
,因为如果安装了它们,XCode 会混淆从何处选择此依赖项
参考来自:-https://***.com/a/38918522/6297658
首先检查您正在使用的 swift 和 Xcode 版本,以及该版本是否支持您正在使用的 pod 文件
Swift 2.2 (Xcode 7.3) 使用:-
pod 'IQKeyboardManagerSwift'
或者
pod 'IQKeyboardManagerSwift', '4.0.3'
对于 Swift 2.1.1 (Xcode 7.2) 使用:-
pod 'IQKeyboardManagerSwift', '4.0.0'
对于 Swift 2.0 (Xcode 7.0) 使用:-
pod 'IQKeyboardManagerSwift', '3.3.3.1' 我有类似的问题,原来我安装了两个 Cocoapods 实例,这是一个 Cocoapods 问题而不是 Xcode 问题(在我的情况下是')。
我需要做的就是卸载我的 cocoapod 并重新安装它https://***.com/a/27940867/6297658......这对我有用......
完成重新安装后,转到您的 pod 文件,根据您使用的 swift 和 Xcode 的版本添加 pod,然后运行 pod install
PS:Cocoapods REPO 将近 350MB,所以如果你的下载卡住了,不要只是退出终端并重新开始重新安装,首先完全卸载 Cocoapods 和旧的主 repo,然后重新开始安装......这可能是导致两次以我为例
如果您在 Objective-C 中手动安装库,则必须包含 Header Search Path、Bridging Header【讨论】:
您好,感谢您的回答。但我没有使用 CocoaPods,也不想使用它。我想用Source Code Method
安装它。你知道我做错了什么吗?
您的回答仍然没有帮助我。我想使用Source Code Method
。
嗨,@Dravidian,感谢您的提问。不幸的是我仍然没有解决这个问题。我不想使用 CocoaPods。你能帮帮我吗?
您使用的是 swift 框架还是 Obj-C?您是否在构建设置中更新了其他链接器标志?【参考方案3】:
我知道这个问题是 3 年前提出的。但是今天我遇到了同样的问题。所以现在我正在回答我是如何解决的,希望我的回答对将来的人有所帮助。
正如arauter 所说,当您拖放“IQKeyboardManagerSwift”文件夹时,请确保选择“CREATE GROUPS”而不是“CREATE FOLDER REFERENCES”。这应该可以解决问题。
转到您的目标 -> 构建阶段 -> 编译源,然后添加包含在“IQKeyboardManagerSwift”目录中的每个文件。
就是这样。它会工作的!
【讨论】:
【参考方案4】:最简单的解决方法是使用CocoaPods Method。 CocoaPods 负责处理所有依赖项。它将为您节省数小时的头痛!
至少,花几分钟时间阅读CocoaPods Get Started 页面。
【讨论】:
您的回答对我没有帮助。我想使用Source Code Method
。以上是关于尝试将 IQKeyboardManager 与 Xcode 和 Swift 一起使用时出错的主要内容,如果未能解决你的问题,请参考以下文章
iPhone X使用IQKeyboardManager管理UITextfield键盘
IQKeyboardManager 与 DownPicker 冲突
IQKeyboardManager 与 UIDatePicker