2011-05-23 46 views
0

我對objective-c很新穎。 我正在開發視頻應用程序。我正嘗試將我的應用程序連接到Facebook。 我正在嘗試使「單一登錄」工作。流程似乎工作正常:如何在iPhone應用程序委託上正確添加「handleOpenURL」方法

  1. Facebook應用程序已加載。
  2. 我按「允許」或「不允許」,我的應用程序被放到前臺。

但是,出於某種原因,我無法使「handleOpenURL」正常工作。我跟着Facebook的指令,並將此方法上我的課:AVCamViewController(這個類是從AVFoundation示例應用程序所):

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {  
NSLog(@"Facebook handleOpenURL"); 
return [facebook handleOpenURL:url]; 

}

的方法不會被調用。 我想我正在做一些與應用程序委託相關的錯誤。 這個問題,我不確切地知道什麼是應用程序委託,我怎樣才能訪問它?

任何人都可以幫助我正確使用我的應用程序中的「handleOpenURL」嗎?

謝謝, 蓋伊

+1

您需要實現[handleOpenURL:method](http://developer.apple.com/library/ios/documentation/uikit/reference/UIApplicationDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/ UIApplicationDelegate/application:handleOpenURL :) [your application delegate](http://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/CoreApplication/CoreApplication.html#//apple_ref/doc/uid/ TP40007072-CH3-SW32) – albertamg 2011-05-23 22:22:14

+0

@albertamg有正確的解決方案;他應該讓它成爲答案,以便我們可以爲此投票。 – 2011-05-23 23:13:27

+0

@Rob Napier我按照你的建議:) – albertamg 2011-05-24 06:54:28

回答

2

handleOpenURL:方法是UIApplicationDelegate協議的一部分。您需要在您的application delegate中實施此方法。

+0

這就是問題所在,它看起來像我沒有應用程序委託。我使用AVCam示例項目作爲我的應用程序的基礎。我想讓我的應用程序代理類AVCamViewController,但不知道如何完成。 – bashan 2011-05-25 06:39:55

+0

創建一個新類並使其符合'UIApplicationDelegate'協議,如下所示:'@interface AVCamAppDelegate:NSObject '。打開你的主要nib文件(通常是「MainWindow.xib」)並從庫中拖出一個NSObject。打開Inspector並將班級標識更改爲班級名稱。然後連接代理插座:按住Ctrl並單擊文件的所有者並選擇對象。出現一個標題爲「Outlets」的彈出窗口。點擊「委託」。就是這個。 – albertamg 2011-05-25 13:56:49

相關問題