我們對iOS應用商店現場比賽,以及我目前加入了一些Facebook的整合。我試圖測試與應用程序請求的深層鏈接,但接收方不會啓動我的本地構建的應用程序;相反,它會轉到應用商店的應用頁面。我需要更改哪些內容(FB應用程序設置?Xcode構建設置?)以使其發揮作用?我只能假設它是可能的...Facebook的iOS應用程序的請求不發動當地建造應用
編輯:應該提到我正在使用最新的SDK(3.7.1),針對iOS 6.1構建。
編輯2:短期服用截圖和發黑了一堆東西出來,我將描述我的FB應用程序配置的設置方式:
在Settings -> Basic
,我只有填寫的Native iOS App
數據,它包括Bundle ID
(相匹配的ID的Xcode正在建立與應用程序),iPhone/iPad App Store ID
(實時應用程序相匹配的存儲),並Facebook Login
Deep Linking
都啓用,並且URL Scheme Suffix
是空的。該應用程序也在Sandbox Mode
。在Settings -> Permissions
,我有publish_actions
(在User & Friend Permissions
)和publish_stream
(在Extended Permissions
)。我認爲其他一切都是香草。
在項目的plist中,Bundle identifier
是如在FB應用設置中描述的相同。唯一可能的差異是在plist中不匹配,我與......我不認爲應該的問題,該工作實特殊的測試應用程序的FacebookAppID
但它是值得一提。
至於實際發送請求,代碼如下:
[FBWebDialogs presentRequestsDialogModallyWithSession:nil
message:message
title:nil
parameters:nil
handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) {
// handle response
}];
我這樣做早些時候也決定連接的FB應用:
NSString *path = [[NSBundle mainBundle] pathForResource:@"Info" ofType:@"plist"];
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:path];
#if GO_TO_TEST_APP
NSString *fbAppId = [dict objectForKey:@"TestFacebookAppID"];
#else
NSString *fbAppId = [dict objectForKey:@"FacebookAppID"];
#endif
NSAssert(fbAppId, @"Failed to get Facebook app id from plist file!");
[FBSettings setDefaultAppID:fbAppId];
再次,要求確實得到正確發送(雖然我看到了同樣的問題,因爲是被視爲here當對話框彈出),我可以看到收件人的Facebook ACCT的請求;這只是重定向沒有拿起的事實,我的應用程序已經安裝在設備上(儘管本地使用Xcode構建)。上述
我可能並不孤單,無法確定被問到的是什麼,你嘗試實現的機制是通過聲明對URL的方案的支持並捕獲對該方案的訪問,Facebook有一些JavaScript的後備如果設備出現故障時你爲什麼不告訴我們一些代碼/配置? – Tommy
迴應說,重定向到應用商店...隨着應用商店應用實際下載,應用請求仍然打開應用程序商店而不是啓動應用程序(和應用程序商店按鈕說'OPEN')...是否是預期的行爲? – coneybeare
增加了更多的信息...希望幫助! – ntourte