簡體   English   中英

iOS / FBSDK-FBSDKProfile在設備上為零,在模擬器上可以正常工作

[英]iOS/FBSDK - FBSDKProfile is nil on device, works fine on simulator

按照標題,在我的設備上進行測試時,我得到nil可選的解包錯誤,但在模擬器上卻沒有-我發現導致此問題的原因是對FBSDKProfile.currentProfile.name調用或類似原因。 我記得這使我在模擬器中開發時感到痛苦,並通過在用戶登錄時(如果已經登錄)和應用加載時添加FBSDKProfile.enableUpdatesOnAccessTokenChange(true)修復此問題。

是否有人對此問題有經驗或對解決方案有任何想法? 如果有人認為有幫助,可以高興地發布代碼。

謝謝!

出現此問題的原因是FBSDKProfile需要花費幾秒鍾來加載,而我沒有給它時間,因此嘗試使用nil值。

因此,解決方案是擁有占位符值,並監聽FBSDK通知FBSDKProfileDidChangeNotification ,並在完成后更新這些值。

這是代碼:

viewDidLoad方法中:

NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("onFBProfileUpdated:"), name: FBSDKProfileDidChangeNotification, object: nil)

還有一個單獨的方法:

func onFBProfileUpdated(notification: NSNotification) {
    nameLabel.text = FBSDKProfile.currentProfile().name

    setImage(FBSDKProfile.currentProfile().imageURLForPictureMode(FBSDKProfilePictureMode.Square, size: image.frame.size))
}

希望這對遇到我同樣問題的人有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM