【问题标题】:How remove a "use of undeclared identifier: FIRDynamicLink"?如何删除“使用未声明的标识符:FIRDynamicLink”?
【发布时间】:2016-10-13 19:29:27
【问题描述】:

我们正在遵循 Firebase here 的动态说明,其中只列出了一个需要导入的“@import Firebase” - 但是当我们到达他们的行时

FIRDynamicLink *dynamicLink = [[FIRDynamicLinks dynamicLinks] dynamicLinkFromCustomSchemeURL:url];

if (dynamicLink) { ...

...XCode 为 FIRDynamicLink 提供了一个未声明的标识符。与“import FirebaseAnalytics”等其他一些模块不同 - 似乎没有另一个专用于动态链接的库。

pod 内容为:pod "Firebase/DynamicLinks"

编译的诀窍是什么?

【问题讨论】:

  • pod 文件内容是什么?

标签: ios objective-c xcode firebase


【解决方案1】:

它之前工作过。但是由于 podfile 的一些变化,我开始遇到这个恼人的问题。因此显式导入子模块满足编译器。

import FirebaseDynamicLinks
import FirebaseInstanceID

【讨论】:

    【解决方案2】:

    我认为他们只是混淆了 Objective-C 和 Swift。他们很快说要写这个:

    guard let dynamicLinks = DynamicLinks.dynamicLinks() else {
    return false
    

    }

    但它必须是这样的:

    guard let dynamicLinks = FIRDynamicLinks.dynamicLinks() else {
    return false
    

    }

    所以我认为对于 Objective-C 你应该使用这个:

    BOOL handled = [[DynamicLinks dynamicLinks] handleUniversalLink:userActivity.webpageURL
                                                          completion:^(DynamicLink * _Nullable dynamicLink,
                                                                       NSError * _Nullable error) {
                                                            // ...
                                                          }];
    

    【讨论】:

      【解决方案3】:

      我们通过添加以下导入行解决了这个问题。 Google 的文档中没有提到它,所以我们不确定这是否是正确的做法 - 但它确实使应用程序能够编译。

      @import FirebaseDynamicLinks;
      

      这是他们的示例代码中的简单疏忽还是我们误解了什么?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多