0

我正在尝试使用 FBSDKProfilePictureView 从 Facebook 显示用户的个人资料图片,但是当我设置个人资料 ID 时它只是显示为空白。我使用 Graph API 和 /me 节点获取配置文件 ID。然后我在 cellForRowAtIndexPath: 中调用的 setupCell 方法中设置 ID,设置很简单,如下所示:

public func setupCell(userId: String?) {
    if userId != nil {
        profilePicture.profileID = "4";
    }
    welcomeLabel.text = "Welcome back, Mark"
}

(测试数据使用扎克伯格的信息)

我已经验证了 userId 已设置,因此它正在获取用户 ID。然后我像这样覆盖 layoutSubviews:

override public func layoutSubviews() {
    super.layoutSubviews()
    profilePicture.layer.cornerRadius = profilePicture.bounds.height / 2.0
    profilePicture.clipsToBounds = true
    profilePicture.setNeedsImageUpdate()

    welcomeLabel.sizeToFit()
}

我认为设置 needsImageUpdate() 会做到这一点,但显然不是。我在这里找到了另一篇文章,建议我在我的应用程序传输安全性中再添加两个域,这是我拥有的相关部分:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>facebook.com</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSTemporaryExceptionRequiresForwardSecrecy</key>
            <false/>
            <key>NSTemporaryExceptionMinimumTLSVersion</key>
            <string>1.1</string>
        </dict>
        <key>akamai.net</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSTemporaryExceptionRequiresForwardSecrecy</key>
            <false/>
            <key>NSTemporaryExceptionMinimumTLSVersion</key>
            <string>1.1</string>
        </dict>
        <key>akamaihd.net</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSTemporaryExceptionRequiresForwardSecrecy</key>
            <false/>
            <key>NSTemporaryExceptionMinimumTLSVersion</key>
            <string>1.1</string>
        </dict>
        <key>fbcdn.net</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
    </dict>
</dict>

我不确定我在这里缺少什么?它必须是一些容易的事情。我可以提供可能需要的任何其他数据,我希望您能提供任何帮助!

4

0 回答 0