我正在尝试在我的一个应用程序中实现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”;
见https://developers.facebook.com/docs/getting-started/getting-started-with-the-ios-sdk/#project