Ios CoreData:升级应用程序时返回零的字段

Ios CoreData:升级应用程序时返回零的字段,ios,core-data,Ios,Core Data,我正在使用CoreData并经历以下情况: 我通过应用商店安装我的应用。该版本是使用iOS 6 SDK构建的。 我运行应用程序,它用CoreData存储一些东西。 然后我通过TestFlight升级了应用程序,使用iOS 7 SDK完成了一个新的构建,其行为不是预期的,似乎NSManagedObject字段返回nil我知道这不会有任何区别,但我使用valueForKey:访问它。 想要知道发生了什么,我卸载了这个应用,从应用商店再次安装,然后运行从Xcode提交给TestFlight的版本来调试

我正在使用CoreData并经历以下情况:

我通过应用商店安装我的应用。该版本是使用iOS 6 SDK构建的。 我运行应用程序,它用CoreData存储一些东西。 然后我通过TestFlight升级了应用程序,使用iOS 7 SDK完成了一个新的构建,其行为不是预期的,似乎NSManagedObject字段返回nil我知道这不会有任何区别,但我使用valueForKey:访问它。 想要知道发生了什么,我卸载了这个应用,从应用商店再次安装,然后运行从Xcode提交给TestFlight的版本来调试它。我第一次运行应用程序时看到valueForKey:返回nil,但第二次我按照相同步骤从应用程序商店安装并安装,然后使用Xcode运行时,问题就消失了。从这一刻起,如果我遵循最初的步骤sapstore->TestFlight,它总是按照它应该的方式工作,那么valueForKey:call不再返回nil。奇怪

所以,假设这在我的设备上是固定的,但是一个从未使用Xcode运行应用程序的团队成员遇到了上述问题

我曾尝试在提交给TestFlight时设置持久存储选项,如注释,但没有帮助-我的队友仍然遇到问题


以前有人有过类似的问题吗?知道这个问题的原因吗?

如果不在Xcode中运行应用程序,在调试版本中,您将无法不费吹灰之力地调试这个问题


无论是谁开发应用程序,都应该在调试模式下运行它,并可以观察控制台、设置断点等来解决问题。

感谢您的回答Marcus。我遇到的问题是,这个问题只发生在从TestFlight安装时。你认为sqlite持久存储中的iOS 7更改可能是我的问题的原因吗?如果只是在运行试飞构建时发生,那么我建议从Xcode运行构建配置,安装应用商店,然后运行Xcode构建并观察控制台。它将为你提供解决这个问题所需的信息。问题是,这种情况只发生在我队友的设备上。在我的应用程序中,我通过Xcode运行该应用程序,然后从设备中删除该应用程序,它可以正常工作。。。这是一个非常奇怪的问题。似乎从Xcode运行应用程序解决了问题,即使在我删除应用程序后,从应用程序商店和TestFlight安装。幻影设备错误让我发疯。如果您可以将他们的设备插入Xcode,您应该能够从设备中获取整个应用程序包,然后尝试在其他设备上重播。幸运的话,它会给你一个提示。如果你能让他们的设备至少插入Xcode,你可以试着在他们的控制台上寻找一些提示。