2013-08-30 53 views
1

我們對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 LoginDeep 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構建)。上述

+0

我可能並不孤單,無法確定被問到的是什麼,你嘗試實現的機制是通過聲明對URL的方案的支持並捕獲對該方案的訪問,Facebook有一些JavaScript的後備如果設備出現故障時你爲什麼不告訴我們一些代碼/配置? – Tommy

+0

迴應說,重定向到應用商店...隨着應用商店應用實際下載,應用請求仍然打開應用程序商店而不是啓動應用程序(和應用程序商店按鈕說'OPEN')...是否是預期的行爲? – coneybeare

+0

增加了更多的信息.​​..希望幫助! – ntourte

回答

0

托米是正確的;我需要在我的Info.plist文件調整URL types -> Item 0 -> URL Schemes,以包括新的測試程序,我試圖連接到(在fb<Facebook App ID>形式FB方案我已經有一個用於現場FB應用程序。我只是不知道

相關問題