我们的应用程序使用APNS接收推送通知.但是,我们的客户声称他们的一些设备没有收到通知,并认为他们"必须"确保通知100%交付.但我已经在某处读过APNS不是100%可靠的,并且应该存在通知未交付的情况.
我目前对如何确保随时收到APNS感到恐慌.我已阅读的情况下,这可能APNS未送达(设备可能离线).但我们的测试表明即使设备在线(Wifi或3G),有时APNS也没有交付.
是否有任何特定案例可能无法提供APNS?或者我们(开发人员)可以使用代码来确保接收所有通知吗?我在代码中所做的只是将应用程序注册到远程通知并写入didRegisterForRemoteNotificationsWithDeviceToken,然后将设备令牌丢弃到我们的服务器.
任何帮助将不胜感激,因为如果他们的所有设备都没有收到APNS,我们的客户几乎会杀了我们!
我是一名Objective-c初学者,我被指派为我们的客户创建一个iPhone应用程序.我有一些Java背景,但几乎没有这个目标的经验 - 这是我第一次开发一个完整的应用程序...
无论如何,我目前正在堆叠几个问题.其中一个问题是我需要date从我的iOS应用程序发送PHP 函数的整数值.我一直在寻找解决方案,但所有这些都处理相反的方式(int to NSDate),而不是NSDate整数值.
我尝试过像这里回答的解决方案,
但很明显它会返回double,而不是整数...
或者这个
但是这个得不到了System time.
我知道我可以通过以下方式获得当前系统的NSDate:
NSDate *theDay = [NSDate dateWithTimeIntervalSinceNow:[[NSTimeZone systemTimeZone] secondsFromGMT]];
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何将其转换为整数(或长)值.
我只需要得到相同的值,我们可以得到在Java用System.currentTimeMillis().
另外,这是我第一次在stackoverflow中提问.所以,请告诉我在这里发布问题时是否应该做/不应该做什么等.
谢谢.
我刚开始学习用于Android开发的IntelliJ IDEA CE 12,作为Eclipse的替代品.
IDEA非常快,我开始喜欢它.
但是,当我尝试编辑Android XML文件时,代码完成永远不会出现.在我的办公室,我正在使用MacBook Air(64位),当我尝试使用Mac版时,它的工作效果非常好.
在我的家里,我使用Vista(32位版本),我的笔记本电脑规格不太好.(这就是我选择从Eclipse改为IDEA的原因......)
安装后我没有更改任何设置.是否有任何选项可以为Android XML编辑器启用代码完成?或者只是机器的性能问题?
我知道这是一个垃圾问题,但我真的需要帮助.
先感谢您.
在我们的应用程序中,我使用CoreLocation来获取用户的位置.我认为对startUpdatingLocation的调用每次都会调用locationManager:didUpdateLocations.但是一旦它第一次被召唤,他们就再也不会被召唤了.
在我的AppDelegate.m中:
- (void) startStandardUpdates {
if (_locationManager == nil) {
_locationManager = [[CLLocationManager alloc] init];
[_locationManager setDelegate:self];
_locationManager.desiredAccuracy = kCLLocationAccuracyBest;
_locationManager.distanceFilter = 10;
[_locationManager startUpdatingLocation];
} else {
NSLog(@"[LOCATION]: Location Manager already exists.");
[_locationManager startUpdatingLocation];
}
}
Run Code Online (Sandbox Code Playgroud)
然后由NSTimer调用它:
- (void) startTask {
NSLog(@"Start task called.");
[NSTimer scheduledTimerWithTimeInterval:15
target:self
selector:@selector(actualTask)
userInfo:nil
repeats:YES];
}
- (void) actualTask {
NSLog(@"[TASK]: Starting location service...");
[self startStandardUpdates];
}
Run Code Online (Sandbox Code Playgroud)
上面的代码应该每15秒调用一次startUpdatingLocation,但是第二次没有调用didUpdateToLocation方法(第一次成功调用了...).
有没有办法以编程方式调用(或强制)didUpdateToLocation?或者我们必须等到didUpdateToLocation获取位置?我已经搜索了每隔x分钟/秒获取用户位置的方法,但似乎没有人成功实现这一点.我想做的只是Android与Service类的相关(iOS没有这个).
任何帮助,将不胜感激.
谢谢.