2013-07-27 72 views
1

目前我正在與Facebook集成的iOS應用程序。用戶的Facebook帳戶需要登錄到應用程序中。轉到Facebook設置iOS 6

這是我通過ACAccount工作的部分,例如的Apple開發人員工具。但是,當用戶沒有Facebook帳戶設置時,我收到一個錯誤(這是好的)。現在,當發生這種情況我想說明這樣一個警告:

Facebook Alert

我想我可以通過「首選項」 URL方案做到這一點。但是從iOS 5.1開始,這些設置似乎已被刪除。有什麼方法可以重現此警報?

編輯:

發現了一種基於this post.

- (void)showFacebookAlert 
{ 
    SLComposeViewController *mySLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; 
    //Hide keyboard and actual view, only interested in the alert. 
    mySLComposerSheet.view.hidden = YES; 
    [mySLComposerSheet.view endEditing:YES]; 
    [self.navigationController presentViewController:mySLComposerSheet animated:NO completion:nil]; 
} 

但是(至少在iOS 7)中的 「鍵盤」 是前兩行可見。所以你需要延遲調用它,然後它的工作原理是這樣的:

[self performSelector:@selector(showFacebookAlert) withObject:nil afterDelay:0.2]; 

雖然似乎不能在模擬器中工作。按下時不會進入設置。

回答

0

不幸的是沒有。由於在iOS5.1中刪除了prefs url方案,因此您無法明確調用本機設置應用程序。在許多情況下(不僅涉及FB相關),您希望請求訪問用戶的數據/位置/等的權限,但這些已經被用戶主動限制 - 在這一點上,您可以做的最好的事情是帶上提供信息豐富的警報,準確解釋用戶需要訪問的設置中允許訪問的位置。

+0

在這裏找到「某種方式」。將它添加到消息中。 – Matthijn

+0

使我的觀點更加清晰 - 沒有顯式的方式來調用設置應用程序。 – Stavash