【问题标题】:iPhone Application and programming UpdatesiPhone 应用程序和编程更新
【发布时间】:2010-06-28 22:30:18
【问题描述】:

当用户登录我的 iPhone 应用程序时。我将他们的用户 ID 和相关信息存储在 [NSUserDefaults standardUserDefaults] 中。这样,他们每次访问我的应用程序时都不需要登录。

当我的应用程序在应用商店上线并且我对代码进行更新时,这些信息会丢失吗?他们是否需要登录?如果是这样,我如何在进行更新时保留这些信息?

虽然我无法想象这种情况正在发生,但用户是否应该在安装后选择删除我的应用程序 - 我怎么知道他们已经删除了它?我正在使用推送通知,并希望将用户标记为不活跃,这样我就不会一直向他们推送通知。

非常感谢 谢丽尔

【问题讨论】:

    标签: iphone


    【解决方案1】:

    只有测试才能确认您的应用程序的更新过程是如何工作的。文件内容如下:

    应用程序更新期间保存的文件

    更新应用程序会替换 以前的申请和新的申请 由用户下载。在这 过程中,iTunes 会安装更新的 新应用程序中的应用程序 目录。然后它移动用户的 旧安装的数据文件 转到新的应用程序目录 在删除旧安装之前。 以下目录中的文件是 保证在保存期间 更新过程:

    • Application_Home>/文档
    • Application_Home>/库/首选项

    虽然文件在其他用户 目录也可以移动, 你不应该依赖他们 更新后出现。

    详情看这里http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/RuntimeEnvironment/RuntimeEnvironment.html

    反馈服务

    如果提供商尝试向应用程序发送推送通知,但该应用程序已不再存在于设备上,则设备会将这一事实报告给 Apple Push Notification Service。这种情况经常发生在用户卸载应用程序时。如果设备报告应用程序的交付尝试失败,APNs 需要某种方式通知提供者,以便它可以避免向该设备发送通知。这样做可以减少不必要的消息开销并提高整体系统性能。

    为此,Apple 推送通知服务包括一项反馈服务,APN 会不断更新每个应用程序的失败交付尝试设备列表。设备由以二进制格式编码的设备令牌标识。提供者应定期查询反馈服务以获取其应用程序的设备令牌列表,每个令牌都由其主题标识。然后,在验证应用程序最近没有在识别的设备上重新注册后,提供商应该停止向这些设备发送通知。

    http://developer.apple.com/iphone/library/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingWIthAPS/CommunicatingWIthAPS.html#//apple_ref/doc/uid/TP40008194-CH101-SW1

    【讨论】:

    • 非常感谢。还有一个问题,我将如何测试我的应用程序的更新过程?
    • 非常有帮助 - 我按照另一个线程中列出的步骤进行操作,我很高兴地报告从一个版本移动到下一个版本不会丢失我存储的值。感谢您的帮助谢丽尔
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-27
    • 2011-01-30
    • 1970-01-01
    • 2011-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多