首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ios Swift 3应用程序在中崩溃

ios Swift 3应用程序在中崩溃
EN

Stack Overflow用户
提问于 2017-03-25 12:59:45
回答 1查看 561关注 0票数 1

原始问题:

我的功能看起来是这样的。问题是它在我的设备上工作,而对其他设备不起作用。我不知道我做错了什么

代码语言:javascript
复制
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
    // Convert token to string
    let deviceTokenString = deviceToken.reduce("", {$0 + String(format: "%02X", $1)})

    let preferences = UserDefaults.standard

    let savedtoken = preferences.string(forKey: "token")


    if(savedtoken != deviceTokenString)
    {

        var request = URLRequest(url: URL(string: "myurl")!)
        request.httpMethod = "POST"
        let session = URLSession.shared

        session.dataTask(with: request) {data, response, err in
            print("Entered the completionHandler")
            }.resume()

        preferences.set(deviceTokenString, forKey: "token")
        let didSave = preferences.synchronize()
    }
}

问题是:

对不起,伙计们,这是一个愚蠢的错误:(在"myurl“中,我发送UIDevice.current.name作为参数。我没有想到的是,设备名称可以包含空白空间。而且,因为我自己的设备没有空白,所以它可以工作,但在其他设备上不起作用。我真笨,但我会从中吸取教训的。感谢所有人

EN

回答 1

Stack Overflow用户

发布于 2017-03-25 13:23:10

你每次都可以拯救它。不要检查它是否存在。

代码语言:javascript
复制
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        let deviceTokenString = deviceToken.reduce("", {$0 + String(format: "%02X", $1)})
        print(deviceTokenString)
        UserDefaults.standard.setObject(deviceTokenString, forKey: "device_token")
    }
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43016644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档