我正試圖在我的一個應用程序中實現Facebook,因此遵循官方的Facebook教程Hackbook。 https://developers.facebook.com/docs/howtos/login-with-facebook-using-ios-sdk/FacebookSDK 3.0 - Apple Mach-O鏈接程序錯誤
我實現了所描述的一切,並且沒有收到任何錯誤或警告。但是,當我嘗試構建應用程序時,我得到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的給定樣本按預期工作。我在互聯網上做了各種各樣的tipps,但他們都沒有工作到目前爲止。也許這裏有人知道一些有關的API並具有很好的提示我:)
您是否嘗試過設備(iPhone/iPad,..)以及?嘗試時有沒有不同的錯誤信息?現在看起來有點像你試圖將模擬器構建與設備庫相鏈接。 – Till 2012-08-11 18:46:02
嘿,我試着用iphone和ipad模擬器,也在我的設備上,但錯誤保持不變。 – Blade 2012-08-11 18:46:46
好吧,那麼......你確定你是否按照關於SDK的鏈接指示(應包含在該框架中)? – Till 2012-08-11 18:48:32