创建Firebase动态链接遇错误:use of unresolved identifier FIRDynamicLinkComponents
解决
use of unresolved identifier FIRDynamicLinkComponents错误 嘿,结合你的环境(Swift 3、Xcode 8.3.3、Firebase 3.9.0),我整理了几个能解决这个问题的方向,你可以挨个试试:
1. 先改对类名——Swift里不用加FIR前缀
Firebase在Swift项目里的API是去掉FIR前缀的,你写的FIRDynamicLinkComponents是Objective-C的写法,换成Swift版本的DynamicLinkComponents就对了。举个例子:
原来的错误写法:
let components = FIRDynamicLinkComponents(link: URL(string: "your_deep_link")!, domainURIPrefix: "your_dynamic_link_domain")
改成:
let components = DynamicLinkComponents(link: URL(string: "your_deep_link")!, domainURIPrefix: "your_dynamic_link_domain")
2. 确保导入了正确的模块
虽然你已经导入了Firebase,但记得还要明确导入FirebaseDynamicLinks,在视图控制器的顶部加上:
import UIKit import Firebase import FirebaseDynamicLinks
3. 彻底清理Pod缓存再重装
你已经做了pod repo remove master这些操作,但可以再彻底清理一遍项目相关的Pod文件:
- 先把Xcode关掉
- 删除项目根目录下的
Pods文件夹、Podfile.lock和.xcworkspace文件 - 重新跑
pod install - 一定要打开生成的
.xcworkspace文件(别手滑打开.xcodeproj,不然Pod里的框架不会被加载)
4. 检查框架的嵌入配置
从你提供的[FirebaseDynamicLinks.framework截图]来看框架已经添加了,但还是确认下这两点:
- 进入项目的
Build Phases->Link Binary With Libraries,确保FirebaseDynamicLinks.framework在列表里 - 看
Build Settings->Framework Search Paths,有没有包含Pods/FirebaseDynamicLinks的路径(正常Pod会自动配,但手动检查下更保险)
小提醒:版本兼容性
你的Pod 1.5.2和Firebase 3.x是兼容的,不过如果之后要升级Firebase到4.x及以上,API会有更多调整,当前环境下按上面的步骤应该就能解决问题啦。
内容的提问来源于stack exchange,提问作者bibscy
相关产品推荐
相关产品推荐

