我采取了以下步骤:
- 创建一个全新的快速单视图应用程序。
- 添加一个表示对 Firebase 的依赖关系的 pod 文件
- 安装 Pod
- 打开生成的工作区并为模拟器构建
- 构建成功
然后我重复了这些步骤,除了在步骤 1 中我创建了一个全新的 swift cocoa touch 框架。现在构建失败了。
如下所示,Firebase 正在引用未定义的符号。这些符号大多是我认识的并且期望出现的符号:UIScreen、UIWebView、UIView 等。
我怀疑这一切都与 Firebase 是一个静态库这一事实有关(正如指出的那样)here https://groups.google.com/forum/#!msg/firebase-talk/ewsVc_FN8N0/47aivpDNBQAJ由 Mike McDonald 作为 Firebase 不能与 Carthage 一起使用的原因)。
我对应用程序、框架和库的差异/后果的理解是有限的。谁能帮助我理解这里发生了什么?
体系结构 x86_64 的未定义符号:
“_OBJC_CLASS_$_UIScreen”,引用自:
FirebaseAuth 中的 objc-class-ref(FIRAuthWebViewController_86c5ea5aedb4d33fd68b8660d74be54c.o)
“_OBJC_CLASS_$_UIWebView”,引用自:
FirebaseAuth 中的 objc-class-ref(FIRAuthWebView_25b1b3be4cd535a13078fd46686b4a67.o)
“_OBJC_CLASS_$_UIActivityIndicatorView”,引用自:
FirebaseAuth 中的 objc-class-ref(FIRAuthWebView_25b1b3be4cd535a13078fd46686b4a67.o)
“_OBJC_METACLASS_$_UIView”,引用自:
FirebaseAuth 中的 _OBJC_METACLASS_$_FIRAuthWebView(FIRAuthWebView_25b1b3be4cd535a13078fd46686b4a67.o)
“_CGRectZero”,引用自:
-FirebaseAuth 中的[FIRAuthWebView createWebView](FIRAuthWebView_25b1b3be4cd535a13078fd46686b4a67.o)
“_UIApplicationOpenURLOptionsAnnotationKey”,引用自:
-[FIRAuthAppDelegateProxy initWithApplication:] 在 FirebaseAuth(FIRAuthAppDelegateProxy_d84ca069394368ea9e8127dbd13cc324.o)
“_UIApplicationDidEnterBackgroundNotification”,引用自:
___23-[FIRAuth initWithApp:]FirebaseAuth 中的_block_invoke_2(FIRAuth_cce0d8e8cd5be2b376ebd7862de82f18.o)
-FirebaseAuth 中的[FIRAuth dealloc](FIRAuth_cce0d8e8cd5be2b376ebd7862de82f18.o)
-FirebaseCoreDiagnostics 中的 [FIRClearcutLogger init] (FIRClearcutLogger_d1e734d02d610ce1f3d8c66a4d80fa41.o)
“_OBJC_CLASS_$_UIColor”,引用自:
FirebaseAuth 中的 objc-class-ref(FIRAuthWebView_25b1b3be4cd535a13078fd46686b4a67.o)
“_OBJC_CLASS_$_UIViewController”,引用自:
FirebaseAnalytics 中的 objc-class-ref(UIViewController+FIRAScreenClassName_936040e31cd4dddd6f71a52ea1701d0d.o)
FirebaseAnalytics 中的 l_OBJC_$_CATEGORY_UIViewController_$_FIRAScreenClassName(UIViewController+FIRAScreenClassName_936040e31cd4dddd6f71a52ea1701d0d.o)
FirebaseAuth 中的 _OBJC_CLASS_$_FIRAuthWebViewController(FIRAuthWebViewController_86c5ea5aedb4d33fd68b8660d74be54c.o)
“_OBJC_CLASS_$_UIPageViewController”,引用自:
FirebaseAnalytics 中的 objc-class-ref (FIRAScreenViewReporter_ac44c2e1b22c7193e316d64ecdc73845.o)
“_UIApplicationDidFinishLaunchingNotification”,引用自:
FirebaseAnalytics 中的 +[FIRAMeasurement 负载](FIRAMeasurement_41f8c6ad6e1fd9e66100bee4ee2fdd35.o)
“_OBJC_METACLASS_$_UIViewController”,引用自:
FirebaseAuth 中的 _OBJC_METACLASS_$_FIRAuthWebViewController(FIRAuthWebViewController_86c5ea5aedb4d33fd68b8660d74be54c.o)
“_OBJC_CLASS_$_UIView”,引用自:
FirebaseAuth 中的 _OBJC_CLASS_$_FIRAuthWebView(FIRAuthWebView_25b1b3be4cd535a13078fd46686b4a67.o)
“_UIApplicationLaunchOptionsURLKey”,引用自:
+[FIRAMeasurement handleAppDidFinishLaunching:] 在 FirebaseAnalytics(FIRAMeasurement_41f8c6ad6e1fd9e66100bee4ee2fdd35.o)
“_OBJC_CLASS_$_UINavigationController”,引用自:
FirebaseAnalytics 中的 objc-class-ref (FIRAScreenViewReporter_ac44c2e1b22c7193e316d64ecdc73845.o)
FirebaseAuth 中的 objc-class-ref(FIRAuthURLPresenter_f9c1670c7b472e1f12d82d1c6f46940a.o)
FirebaseAuth 中的 objc-class-ref(FIRAuthDefaultUIDelegate_57cb718a1d423e27d0d50a3bf9524d86.o)
“_UIApplicationWillEnterForegroundNotification”,引用自:
___48-[FIRAMeasurement startMeasurementOnWorkerQueue]_block_invoke in FirebaseAnalytics(FIRAMeasurement_41f8c6ad6e1fd9e66100bee4ee2fdd35.o)
“_OBJC_CLASS_$_UITabBarController”,引用自:
FirebaseAnalytics 中的 objc-class-ref (FIRAScreenViewReporter_ac44c2e1b22c7193e316d64ecdc73845.o)
FirebaseAuth 中的 objc-class-ref(FIRAuthDefaultUIDelegate_57cb718a1d423e27d0d50a3bf9524d86.o)
“_OBJC_CLASS_$_UIBarButtonItem”,引用自:
FirebaseAuth 中的 objc-class-ref(FIRAuthWebViewController_86c5ea5aedb4d33fd68b8660d74be54c.o)
“_OBJC_CLASS_$_UIDevice”,引用自:
FirebaseAnalytics 中的 objc-class-ref(FIRAEnvironmentInfo_0da493a96efd1159c2c84454cf5a7f9d.o)
FirebaseAnalytics 中的 objc-class-ref(FIRAMeasurement_41f8c6ad6e1fd9e66100bee4ee2fdd35.o)
FirebaseAnalytics 中的 objc-class-ref(FIRAInAppPurchaseTransactionReporter_51b6624ff1330bf43a3ed7d9ba76e1ba.o)
FirebaseAnalytics 中的 objc-class-ref(FIRAAEU_58e35a32128cb3aedeb97de41a9b356d.o)
FirebaseAnalytics 中的 objc-class-ref(FIRAIdentity_8e9287d1fd6072066ad3b1332bc62373.o)
FirebaseAuth 中的 objc-class-ref(FIRAuthKeychain_ee296104c7d22b9c7b07f84e7067440c.o)
FirebaseCore 中的 objc-class-ref (FIRAppEnvironmentUtil_d91f40fc45222373d7f99c8b2ea3c83a.o)
...
“_UIWindowDidResignKeyNotification”,引用自:
-FirebaseAnalytics 中的[FIRAScreenViewReporter init](FIRAScreenViewReporter_ac44c2e1b22c7193e316d64ecdc73845.o)
“_UIApplicationDidBecomeActiveNotification”,引用自:
___48-[FIRAMeasurement startMeasurementOnWorkerQueue]_block_invoke in FirebaseAnalytics(FIRAMeasurement_41f8c6ad6e1fd9e66100bee4ee2fdd35.o)
-FirebaseAnalytics 中的[FIRAScreenViewReporter init](FIRAScreenViewReporter_ac44c2e1b22c7193e316d64ecdc73845.o)
___23-[FIRAuth initWithApp:]FirebaseAuth 中的_block_invoke_2(FIRAuth_cce0d8e8cd5be2b376ebd7862de82f18.o)
-FirebaseAuth 中的[FIRAuth dealloc](FIRAuth_cce0d8e8cd5be2b376ebd7862de82f18.o)
“_OBJC_CLASS_$_UIWindow”,引用自:
FirebaseAnalytics 中的 l_OBJC_$_CATEGORY_UIWindow_$_FIRAScreenClassName(UIWindow+FIRAScreenClassName_93645224f692c290f5d755885ec7f4c8.o)
“_UIApplicationWillResignActiveNotification”,引用自:
___48-[FIRAMeasurement startMeasurementOnWorkerQueue]_block_invoke in FirebaseAnalytics(FIRAMeasurement_41f8c6ad6e1fd9e66100bee4ee2fdd35.o)
-FirebaseAnalytics 中的[FIRAScreenViewReporter init](FIRAScreenViewReporter_ac44c2e1b22c7193e316d64ecdc73845.o)
“_UIBackgroundTaskInvalid”,引用自:
-FirebaseAnalytics 中的 [FIRAMeasurement initWithDatabaseName:persistedConfig:network:scheduler:alarm:options:] (FIRAMeasurement_41f8c6ad6e1fd9e66100bee4ee2fdd35.o)
-FirebaseAnalytics 中的 [FIRAMeasurement swapBackgroundTaskWithNewTaskID:] (FIRAMeasurement_41f8c6ad6e1fd9e66100bee4ee2fdd35.o)
-FirebaseAnalytics 中的[FIRAMeasurement终止后台任务](FIRAMeasurement_41f8c6ad6e1fd9e66100bee4ee2fdd35.o)
-FirebaseCoreDiagnostics 中的 [FIRClearcutLogger init] (FIRClearcutLogger_d1e734d02d610ce1f3d8c66a4d80fa41.o)
-FirebaseCoreDiagnostics 中的 [FIRClearcutLogger dealloc](FIRClearcutLogger_d1e734d02d610ce1f3d8c66a4d80fa41.o)
-FirebaseCoreDiagnostics 中的 [FIRClearcutLogger sendLogsWithCompletionHandler:] (FIRClearcutLogger_d1e734d02d610ce1f3d8c66a4d80fa41.o)
___51-[FIRClearcutLogger sendLogsWithCompletionHandler:]FirebaseCoreDiagnostics 中的_block_invoke(FIRClearcutLogger_d1e734d02d610ce1f3d8c66a4d80fa41.o)
...
“_OBJC_CLASS_$_UIApplication”,引用自:
FirebaseAnalytics 中的 objc-class-ref (FIRAAppDelegateProxy_2421946053f1c5c031a7dceeaf4d9408.o)
FirebaseAuth 中的 objc-class-ref(FIRAuth_cce0d8e8cd5be2b376ebd7862de82f18.o)
FirebaseAuth 中的 objc-class-ref(FIRAuthAppDelegateProxy_d84ca069394368ea9e8127dbd13cc324.o)
FirebaseAuth 中的 objc-class-ref(FIRAuthDefaultUIDelegate_57cb718a1d423e27d0d50a3bf9524d86.o)
FirebaseCoreDiagnostics 中的 objc-class-ref (FIRClearcutLogger_d1e734d02d610ce1f3d8c66a4d80fa41.o)
FirebaseInstanceID 中的 objc-class-ref(FIRMessagingLog_045f628692bcbe68f0c668c89b92b24f.o)
ld:未找到架构 x86_64 的符号
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)