Bundle Identifier Changed 核心数据丢失

Posted

技术标签:

【中文标题】Bundle Identifier Changed 核心数据丢失【英文标题】:Bundle Identifier Changed Core Data Lost 【发布时间】:2015-06-14 14:25:31 【问题描述】:

我将一个项目从 Objective-C 更改为 Swift,并在执行此操作时创建了一个全新的项目。我在 AppStore 中有一个应用程序,想发送更新而不是发布新应用程序。

我了解更新应用程序时我的 Bundle Identifier 需要相同。在准备发布应用程序时,我更改了我的 Bundle Identifier 以匹配我在 AppStore 中的应用程序 - 因为我开始使用一个新项目 - 在此过程中我的核心数据文件似乎丢失了。如果我更改了我的 Bundle Identifier,我如何保持对 Core Data 的访问?

【问题讨论】:

【参考方案1】:

我花了一段时间才弄清楚,但这是我解决问题的方法。

    在 Build Settings -> Packaging -> Product Name 下将您的产品名称更改为所需的产品名称。这会将您的 Bundle Identifier 更改为所需的名称。

    通过选择 Product -> Clean 来清理您的项目。

    在项目导航器中选择您的 CoreData 模型,然后在 Inspector 选项卡中选择“Data Model Inspector”。将类下的项目名称更改为新的类名。因为我不知道空格,破折号,所以我被困在这里。全部替换为下划线。可以看到我的 Product Name 是 FLO-Cycling,CoreData 类是 FLO_Cycling。

    如果您已在任何地方导入了 Swift 桥接头文件,请确保对其进行更新。

我希望这可以帮助某人。

保重,

乔恩

【讨论】:

对我不起作用。此外,Xcode 不断删除类名中的句点。 您应该使用下划线替换句点。

以上是关于Bundle Identifier Changed 核心数据丢失的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 8 PRODUCT_BUNDLE_IDENTIFIER

修改 Xcode 的 project.pbxproj 中的 PRODUCT_BUNDLE_IDENTIFIER

如何在 Xcode 中更改 $(PRODUCT_BUNDLE_IDENTIFIER)?

[iOS]修改开发者中心Bundle Identifier的一些配置

两个应用程序可以具有相同的 Bundle Name,但不同的 Bundle Identifier 吗?

iOS开发-36Bundle Identifier的中文字符变成-的问题