1

我正在开发 iphone 应用程序,我想开发功能,即使应用程序完全关闭,每小时将应用程序内的文件备份到服务器上。

我尝试使用NSLocalNotification但它不是调用方法

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification

在应用程序委托中。显示带有取消和查看按钮的警报框的通知程序,如果我在视图中单击它会打开应用程序但不调用该方法。即使用户说取消,它也应该调用这个方法。

所以它不会调用 Web 服务来备份文件。任何人都可以指导我链接哪个做同样的事情。

谢谢你,罗希特·扬卡尔

4

2 回答 2

2

你真的不能为所欲为。由于 iOS 不允许应用程序在后台运行,除非它是VOIP客户端、AudioPlayer 或跟踪用户位置。

解决方案的问题UILocalNotification在于 iOS 处理通知。当用户单击取消时,您的应用不会收到有关此信息的通知。您只能处理视图按钮的点击。

仅当-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification您的应用程序正在运行或从后台运行恢复时才会调用。

如果您的应用程序在用户单击本地通知上的视图时由系统启动,您将需要检查方法中是否有通知- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]; 

if (notification) {
    //handle the notification.
}
于 2012-05-21T09:41:46.550 回答
1

我正在开发 iphone 应用程序,我想开发功能,即使应用程序完全关闭,每小时将应用程序内的文件备份到服务器上。

如果您正在谈论每隔几个小时将文件备份到您自己的服务器,那么真的没有办法做到这一点。另一方面,当应用程序没有运行时也应该不需要这样做——如果应用程序没有运行,它就不能修改其文件中的数据,也不应该有任何需要返回向上。相反,只需确保在应用程序运行时定期备份数据。

如果您只是想确保应用程序的数据在某处备份,请考虑使用iCloud。将应用设置为使用 iCloud 后,每次更新时都会备份您的数据。

于 2012-05-21T10:10:36.833 回答