我正在为iOS和Android创建一个PhoneGap应用程序。我已经让Android工作得很好,但是在iOS中从开发转换到生产时遇到了麻烦。没有为具有生产adHoc构建的设备注册设备令牌。我已经筋疲力尽了我能想到的每一件事。以下是我到目前为止所做的事情:
当我第一次在设备上运行应用程序时,所有内容都完全重做。这就是我在控制台中得到的结果:
Mon Sep 17 12:48:00 unknown XXXXXXXXX[5039] Warning: Multi-tasking - Device: NO, App: YES
Mon Sep 17 12:48:05 unknown XXXXXXXXX[5039] Warning: Reachability Flag Status: -R -----l- networkStatusForFlags
Mon Sep 17 12:48:06 unknown XXXXXXXXX[5039] Warning: [M] = -[UAPush updateRegistration] [Line 583] Checking registration state
Mon Sep 17 12:48:06 unknown XXXXXXXXX[5039] Warning: [M] = -[UAUser listenForDeviceTokenReg] [Line 969] ListenForDeviceTokenReg
Mon Sep 17 12:48:06 unknown XXXXXXXXX[5039] Warning: [M] = -[UAUser retrieveRequestSucceeded:] [Line 911] User retrieved: 200:{
"user_id" : "XX-XXXXXXXXXXXXXXXXX",
"user_url" : "https://device-api.urbanairship.com/api/user/XX-XXXXXXXXXXXXXXXXX/",
"tags" : [ ],
"device_tokens" : [ ],
"device_pins" : [ ],
"apids" : [ ],
"has_active_subscription" : false,
"subscriptions" : [ ],
"ua_device_ids" : [ "XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" ],
"badge" : 0,
"server_time" : "2012-09-17 17:48:02"
}
Mon Sep 17 12:48:06 unknown XXXXXXXXX[5039] Warning: [M] = -[UAUser updateDefaultDeviceToken] [Line 1016] Updating device token
Mon Sep 17 12:48:06 unknown XXXXXXXXX[5039] Warning: [M] = -[UAUser updateDefaultDeviceToken] [Line 1021] Skipping device token update: no token, already up to date, or user is being updated.
Mon Sep 17 12:48:21 unknown XXXXXXXXX[5039] Warning: [M] = +[UAKeychainUtils getDeviceID] [Line 269] Retrieved device id info from keychain.
Mon Sep 17 12:48:21 unknown XXXXXXXXX[5039] Warning: [M] = +[UAKeychainUtils getDeviceID] [Line 273] Device ID result is not nil.
Mon Sep 17 12:48:21 unknown XXXXXXXXX[5039] Warning: [M] = +[UAKeychainUtils getDeviceID] [Line 282] Loaded Device ID: XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
Mon Sep 17 12:48:21 unknown XXXXXXXXX[5039] Warning: [M] = +[UAKeychainUtils getDeviceID] [Line 283] Loaded Model Name: iPhone1,2
Mon Sep 17 12:48:21 unknown XXXXXXXXX[5039] Warning: [M] = -[UAAnalytics requestDidSucceed:response:responseData:] [Line 467] Analytics data sent successfully. Status: 200
我删除了ID号和应用名称。
上面的消息“跳过设备令牌更新:没有令牌,已经是最新的,或者用户正在更新”。对我来说似乎很奇怪。这是一个新创建的UA应用程序,带有新密钥和所有内容。我还用我的开发配置文件,按键和所有内容加载它,它工作得很好。它只是在生产运行中没有注册设备令牌。
感谢任何帮助。我已经检查了每个设置,据我所知,我的所有配置文件,密钥,权利都已正确设置。我在WiFi上运行,因为我使用的手机只是一部没有有效运营商服务的测试手机。
答案 0 :(得分:2)
我现在已经解决了这个问题两次,我想,虽然我不是100%确定核心问题是什么 - 我认为你的测试方法存在问题。
尝试使用UA Push Sample应用程序:
你还有同样的问题吗?在我的情况下,两次,它都消失了,并成功地注册了令牌。我认为由于某种原因,错误配置的证书/配置文件阻止了令牌的正确创建。当我修复它们时 - 为时已晚,因为UA库认为它已注册,因此正在跳过该部分。日志中的这一行让我怀疑:
检查应用初始化时禁用的应用前台注册
现在2比2,当我在干净的PushSample应用程序中放入正确的证书/捆绑/配置文件时,它正常工作