qq_38211448 2024-02-26 17:43 采纳率: 100%
浏览 88
已结题

Undefined symbol: _OBJC_CLASS_$_FBSDKAccessToken

Undefined symbols for architecture arm64:
"OBJC_CLASS$_FBSDKAccessToken", referenced from:
objc-class-ref in FBHelper.o
"OBJC_CLASS$_FBSDKApplicationDelegate", referenced from:
objc-class-ref in AppController.o
"OBJC_CLASS$_FBSDKLoginManager", referenced from:
objc-class-ref in FBHelper.o
"OBJC_CLASS$_FIRApp", referenced from:
objc-class-ref in AppController.o
"OBJC_CLASS$_GIDConfiguration", referenced from:
objc-class-ref in GoogleSignInHelper.o
"OBJC_CLASS$_GIDSignIn", referenced from:
objc-class-ref in AppController.o
objc-class-ref in GoogleSignInHelper.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

  • 写回答

3条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-02-26 17:44
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如需一对一服务私聊我哦
    这是一个常见的链接错误,提示程序找不到某些符号的定义。这通常是因为某些框架或库没有正确链接到项目中,或者可能由于项目中的文件引用出现了问题。 解决方法:
    1. 检查项目设置中的“Build Phases”,确保所有需要链接的框架和库都已正确添加。如果有漏掉的框架或库,可以手动添加。
    2. 检查框架或库的导入语句是否正确。如果导入的框架或库名称错误或者路径不对,也会导致链接错误。
    3. 如果使用的是第三方库,可能需要更新库的版本或重新下载并添加到项目中,确保版本与当前的 Xcode 版本兼容。
    4. 如果使用的是某些自定义的类或函数,确保它们的实现文件已正确添加到项目中,并且实现文件中的符号名称与头文件中的一致。
    5. 如果以上方法都不能解决问题,可以尝试在编译选项中加入 -ObjC 和 -all_load 编译选项,以确保所有类别和方法都被正确链接。 示例代码:假设我们的项目使用了 Facebook 的 SDK 和 Firebase 的 SDK,我们需要检查项目中是否已添加以下框架和库,并且检查导入语句是否正确。 Facebook SDK:
    6. FBSDKCoreKit.framework
    7. FBSDKLoginKit.framework 导入语句:
    #import <FBSDKCoreKit/FBSDKCoreKit.h>
    #import <FBSDKLoginKit/FBSDKLoginKit.h>
    

    Firebase SDK: - FirebaseCore.framework - FirebaseAnalytics.framework 导入语句:

    @import Firebase;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月8日
  • 已采纳回答 2月29日
  • 创建了问题 2月26日