【问题标题】:Auto redeploy on iOS Simulator XCode在 iOS 模拟器 XCode 上自动重新部署
【发布时间】:2012-06-01 13:30:10
【问题描述】:

当你点击运行时,有什么方法可以 [edit] 有一个新的 [/edit] 将你的应用从 xcode 重新部署到 iOS 模拟器上,而不必删除 [edit] 应用中的现有数据 [/edit] 每次时间?

【问题讨论】:

  • 为什么每次都删?如果您正在测试全新安装的行为方式(即:测试您的默认 NSUserDefault 设置是否有效......),从模拟器中删除您的应用程序才有意义。否则每次运行前无需删除应用程序。
  • 对,我的意思是说我希望它模仿全新安装,清除数据和用户设置。

标签: ios xcode deployment installation


【解决方案1】:

如果您希望它每次都以空数据开始,您可以使用 Xcode 管理器为新启动的应用程序拍摄应用程序数据快照,将快照添加到您的项目中,然后编辑您的方案并转到运行 ->选项并从“应用程序数据”弹出菜单中选择快照。这样,当应用程序启动时,它总是以相同的、可能是空的数据开始。

不过,我认为它不会清除 NSUserDefaults。

【讨论】:

  • 谢谢!这看起来像我要找的。​​span>
  • 有没有办法在不删除应用的情况下清除 NSUserDefaults?
【解决方案2】:

你不应该每次都删除它……你应该能够点击运行,它会覆盖或更新那里加载的版本。

我通常有一个调试按钮来删除所有数据并在必要时添加假数据并将它们包装在DEBUG 标志中。这让我可以控制它而无需重新启动应用程序。

- (void)viewDidLoad
{
    #if DEBUG
        // Make Button and hook it to clearAllData
    #endif
}

- (void)clearAllData
{
    // Clear the Core Data databases
    SDAppDelegate *myDelegate = [[UIApplication sharedApplication] delegate];
    [myDelegate clearAllData];

    // Clear the UserDefaults
    [[NSUserDefaults standardUserDefaults] removePersistentDomainForName:[[NSBundle mainBundle] bundleIdentifier]];

    // Run the initial Setup again
    [self setup];
}

【讨论】:

  • 我认为@sringer 意味着以擦除所有应用程序本地数据的方式部署?
  • 正确 ^ 很抱歉造成混乱:)
  • 哦,对不起。在那种情况下,我用我的 2 美分更新了我的答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-20
  • 2016-06-06
  • 1970-01-01
  • 1970-01-01
  • 2014-12-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多