我正在尝试在我的一个应用程序中实现Facebook,因此遵循了Hackbook的官方Facebook教程.
https://developers.facebook.com/docs/howtos/login-with-facebook-using-ios-sdk/
我实现了所描述的一切,我没有收到任何错误或警告.但是当我尝试构建应用程序时,我会得到17个Mach-O链接器错误.
Undefined symbols for architecture i386: "_FBSessionStateChangedNotification",referenced from: -[ForeverMainViewController sessionStateChanged:state:error:] in ForeverMainViewController.o "_sqlite3_bind_double",referenced from: -[FBCacheIndex _updateEntryInDatabaseForKey:entry:] in FacebookSDK(FBCacheIndex.o) -[FBCacheIndex _writeEntryInDatabase:] in FacebookSDK(FBCacheIndex.o) "_sqlite3_bind_int",referenced from: -[FBCacheIndex _updateEntryInDatabaseForKey:entry:] in FacebookSDK(FBCacheIndex.o) -[FBCacheIndex _writeEntryInDatabase:] in FacebookSDK(FBCacheIndex.o) -[FBCacheIndex _trimDatabase] in FacebookSDK(FBCacheIndex.o) "_sqlite3_bind_text",referenced from: -[FBCacheIndex _updateEntryInDatabaseForKey:entry:] in FacebookSDK(FBCacheIndex.o) -[FBCacheIndex _writeEntryInDatabase:] in FacebookSDK(FBCacheIndex.o) -[FBCacheIndex _readEntryFromDatabase:] in FacebookSDK(FBCacheIndex.o) -[FBCacheIndex _removeEntryFromDatabaseForKey:] in FacebookSDK(FBCacheIndex.o) "_sqlite3_close",referenced from: ___23-[FBCacheIndex dealloc]_block_invoke_0 in FacebookSDK(FBCacheIndex.o) "_sqlite3_column_double",referenced from: -[FBCacheIndex _readEntryFromDatabase:] in FacebookSDK(FBCacheIndex.o) "_sqlite3_column_int",referenced from: -[FBCacheIndex _readEntryFromDatabase:] in FacebookSDK(FBCacheIndex.o) -[FBCacheIndex _fetchCurrentDiskUsage] in FacebookSDK(FBCacheIndex.o) -[FBCacheIndex _trimDatabase] in FacebookSDK(FBCacheIndex.o) "_sqlite3_column_text",referenced from: -[FBCacheIndex _readEntryFromDatabase:] in FacebookSDK(FBCacheIndex.o) -[FBCacheIndex _trimDatabase] in FacebookSDK(FBCacheIndex.o) "_sqlite3_errmsg",referenced from: _releaseStatement in FacebookSDK(FBCacheIndex.o) -[FBCacheIndex _updateEntryInDatabaseForKey:entry:] in FacebookSDK(FBCacheIndex.o) _initializeStatement in FacebookSDK(FBCacheIndex.o) -[FBCacheIndex _writeEntryInDatabase:] in FacebookSDK(FBCacheIndex.o) -[FBCacheIndex _readEntryFromDatabase:] in FacebookSDK(FBCacheIndex.o) -[FBCacheIndex _fetchCurrentDiskUsage] in FacebookSDK(FBCacheIndex.o) -[FBCacheIndex _removeEntryFromDatabaseForKey:] in FacebookSDK(FBCacheIndex.o) ... "_sqlite3_exec",referenced from: ___36-[FBCacheIndex initWithCacheFolder:]_block_invoke_0 in FacebookSDK(FBCacheIndex.o) "_sqlite3_finalize",referenced from: _releaseStatement in FacebookSDK(FBCacheIndex.o) "_sqlite3_open_v2",referenced from: ___36-[FBCacheIndex initWithCacheFolder:]_block_invoke_0 in FacebookSDK(FBCacheIndex.o) "_sqlite3_prepare_v2",referenced from: _initializeStatement in FacebookSDK(FBCacheIndex.o) "_sqlite3_reset",referenced from: _initializeStatement in FacebookSDK(FBCacheIndex.o) "_sqlite3_step",referenced from: -[FBCacheIndex _updateEntryInDatabaseForKey:entry:] in FacebookSDK(FBCacheIndex.o) -[FBCacheIndex _writeEntryInDatabase:] in FacebookSDK(FBCacheIndex.o) -[FBCacheIndex _readEntryFromDatabase:] in FacebookSDK(FBCacheIndex.o) -[FBCacheIndex _fetchCurrentDiskUsage] in FacebookSDK(FBCacheIndex.o) -[FBCacheIndex _removeEntryFromDatabaseForKey:] in FacebookSDK(FBCacheIndex.o) -[FBCacheIndex _dropTrimmingTable] in FacebookSDK(FBCacheIndex.o) -[FBCacheIndex _trimDatabase] in FacebookSDK(FBCacheIndex.o) ... ld: symbol(s) not found for architecture i386
重新实施后,清理应用程序,确保一切都在那里,我没有想法.我也在另一个应用程序中实现了它,但是再次出现了错误.来自Facebook的给定样品按照预期工作.我在互联网上做了各种各样的笔尖,但是他们都没有工作到目前为止.也许有人在这里知道一些关于API,并有一个很好的提示我:)
解决方法
我想你错过了这一行
NSString * const FBSessionStateChangedNotification = @“FBSessionStateChangedNotification”;
并添加对-lsqlite3.0的引用
见https://developers.facebook.com/docs/getting-started/getting-started-with-the-ios-sdk/#project
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。