1)facebook的登录按钮应更改为注销按钮.
2)控制台命令应该打印我登录的,最终用户信息.
VIEwController类是:
class VIEwController: UIVIEwController,FBLoginVIEwDelegate { @IBOutlet var fbLoginVIEw : FBLoginVIEw! overrIDe func vIEwDIDLoad() { super.vIEwDIDLoad() // Do any additional setup after loading the vIEw,typically from a nib. self.fbLoginVIEw.delegate = self self.fbLoginVIEw.readPermissions = ["public_profile","email","user_frIEnds"] } // Facebook Delegate Methods func loginVIEwShowingLoggedInUser(loginVIEw : FBLoginVIEw!) { println("User Logged In") println("This is where you perform a segue.") } func loginVIEwFetchedUserInfo(loginVIEw : FBLoginVIEw!,user: FBGraphUser){ println("User name: \(user.name)") } func loginVIEwShowingLoggedOutUser(loginVIEw : FBLoginVIEw!) { println("User Logged Out") } func loginVIEw(loginVIEw : FBLoginVIEw!,handleError:NSError) { println("Error: \(handleError.localizedDescription)") } overrIDe func dIDReceiveMemoryWarning() { super.dIDReceiveMemoryWarning() // dispose of any resources that can be recreated. }}
AppDelegate部分是:
func application(application: UIApplication,dIDFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // OverrIDe point for customization after application launch. FBLoginVIEw.self FBProfilePictureVIEw.self func application(application: UIApplication,openURL url: NSURL,sourceApplication: Nsstring?,annotation: AnyObject) -> Bool { var wasHandled:Bool = FBAppCall.handleOpenURL(url,sourceApplication: sourceApplication) return wasHandled } return true}
正如您所看到的,大部分内容都是直接来自教程,但无法正常工作.我已经配置了我的info.pList,FBLoginVIEw出现并通过整个身份验证,但没有任何内容打印到控制台,按钮也没有改变.当我再次尝试点击它时,我获得了已经授权的应用程序,这应该意味着auth成功,但在我的应用程序中没有触发任何内容.
我有信心我的appdelegate可能出现问题,但对于swift来说是新手,我不知道是什么……
解决方法 我想建议你检查这些步骤:– 在您的VC类中,导入FacebookSDK语句和FBLoginVIEwDelegate?
– 你的出口应该是:
//FB outlet@IBOutlet var fbLoginVIEw: FBLoginVIEw
– 在您的AppDelegate.swift中,还导入了FacebookSDK?
– 你的AppDelegate.swift中的func中有一个func.It应该是:
import FacebookSDK
@UIApplicationMain
class AppDelegate:UIResponder,UIApplicationDelegate {
var window: UIWindow?func application(application: UIApplication,dIDFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // OverrIDe point for customization after application launch. //FB implementation FBLoginVIEw.self FBProfilePictureVIEw.self return true}//FB Method handles what happens after authenticationfunc application (application:UIApplication,openURL url:NSURL,sourceApplication:Nsstring?,annotation:AnyObject) -> Bool { //test var var wasHandled:Bool = FBAppCall.handleOpenURL(url,sourceApplication: sourceApplication)// attempt to extract a token from the urlreturn wasHandled}总结
以上是内存溢出为你收集整理的IOS Swift和Facebook SDK全部内容,希望文章能够帮你解决IOS Swift和Facebook SDK所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)