如何更改应用程序的捆绑 ID 和应用程序名称

Lan*_*ria 1 xcode plist ios cocoapods firebase

我正在开发一个 iOS 应用程序Swift。我已经下载了我的FirebaseGoogle Plist 文件,我目前正在我的应用程序中使用Firebase AuthFireDatabase模块。我想将我的应用程序和 bundleID 的名称从 Firebase“Special Sauce”中的当前名称(bundleID .com.specialsauce.Special Sauce)更改为新的 Firebase 名称“Sauce”,bundleID 为.com.pizza.Sauce .

如何使用我当前的FirebaseGoogle Plist 文件和最初安装的所有Firebasepod(我曾经Cocoapods安装Firebase)来实现这一点?

Lan*_*ria 6

我找不到在 Firebase 中更改应用程序名称的方法,因此我删除了 Firebase Google Plist 文件并使用我想要的首选名称启动了一个新应用程序。我还必须更改实际的 iOS 应用程序名称和 bundleID。

在开始之前,请确保您在副本上执行此操作,并且您有原件的备份,因为如果出现任何问题,您将得到解决。您还需要确保在更改名称之前知道哪些 Pod 最初包含在您的项目中,因为您将在第 6 步中将它们全部删除并在第 8 步中重新添加它们。

开始的目标是将我的应用程序的 bundleID 从com.specialsauce.Special Sauce更改为com.pizza.Sauce这会自动为我提供我想要的名称。步骤 1-4 仅在 Xcode 中更改应用程序的名称和 bundleID。如果您也想在 Firebase 中更改它们,请按照第 5 步及其后...

如果我的应用程序的 bundleID 是com.specialsauce。Special Sauce我想将最后一部分(应用程序的实际名称)更改为com.specialsauce。Sauce第一步是如何更改最后一部分:更改Special Sauce为 just Saucewhich 也会给我一个新的应用程序名称。

  1. 我按照这些 100% 有效的 youtube 说明更改了应用程序的名称和 bundleID 的最后一部分

现在我的应用程序的 bundleID 是com.specialsauce.Sauce并且应用程序在 Xcode 中的新名称是“Sauce”。

如果我想将中间部分从com. specialsauce.酱com。pizza.Sauce这第二步和第三步是如何改变中间部分:specialsaucepizza

  1. 我转到应用程序所在的主项目文件夹,打开它,右键单击蓝色的.xcodeproj文件在此处输入图片说明

(不是白色的 .xcworkspace cocoapod 文件),选择Show Package Contents 在此处输入图片说明

然后双击打开白色的project.pbxpoj文件在此处输入图片说明

在此处输入图片说明

(不是 project.xcworkspace 文件)。

  1. 进入那里后,我按“command + f”搜索具有旧名称(specialsauce)的任何内容并将它们更改为我的新名称(pizza)。我保存 (command+s) 并在一切更改后关闭文件。

我的应用程序的新 bundleID 现在是com.pizza.Sauce

假设您的所有文件都在同一路径中(例如 mainFolder/XcodeProjectName/allYourFiles),您不应该看到任何红色的项目文件。但是,由于名称更改,您的 Pod 文件将变为红色,您必须删除它们并重新安装,我在第 6 步中对此进行了解释。

  1. 如果您从developers.apple.com 获得iOS 证书(即消息传递证书),您可能会在项目导航器中看到一些红色错误文件。如果您的项目中有yourAppsName.entitlements证书,则由于名称更改,您将不得不将其删除。转到您的项目导航器 > 单击Blue Icon最顶部 > 中控台左侧的Targets(不是项目)> 选择Build Settings> 在搜索框中输入code_signing,您会看到Code Signing Entitlements出现 > 转到右侧它,点击whateverName/yourAppName.entitlements然后删除它。在删除它之前,您可以按左侧的代码签名权利,您将看到一个向下箭头,按它会显示调试和发布,其右侧具有相同的whatName/yourAppName.entitlements。删除第一个后,所有 3 个都应该消失。

  2. 为了在 Firebase 中更改我的应用程序名称和 bundleID,我打开了我的 Xcode 项目,找到了 Firebase Google Plist 文件并将其从项目中删除。我删除了它,因为它仍然具有旧名称。第 7 步,您将另一个文件拖回。顺便说一句,无需构建,因为一旦删除该文件,您将无法再连接到 Firebase。

在开始第 6 步并从 Podfile 中删除 pod 之前,您需要将它们复制并粘贴到某处,因为在生成新的 Podfile 后,您将不得不在第 8 步中再次添加它们。此外,这非常重要,如果您使用 Xcode 8.3.3 中的旧 pod 文件,但您在 Xcode 9 中更改了 bundleID,则必须查找并安装与您的项目相关的当前 Xcode 9 pod。我之所以这么说,是因为这最终让我试图将旧的 Pod 从 Xcode 8.3.3 重新安装到 Xcode 9.1 时头疼不已。

  1. 在进行上述更改之前,我必须删除所有仍与原始应用程序名称/bundleID 相关联的 pod 文件。我打开终端,导航到我的项目所在的同一文件夹,然后按照特定顺序执行这些步骤以删除所有旧的 cocoapod 文件。我将把我用于这些说明的链接放在下面。

    $ sudo gem install cocoapods-deintegrate

    $ sudo gem install cocoapods-deintegrate cocoapods-clean

    $ rm -rf ~/Library/Developer/Xcode/DerivedData

    $ pod解体

    $豆荚清洁

    $ rm Podfile

    $ pod cache clean --all

运行完所有命令后,cocapods 就从我的系统中完全清除了,但是每次我尝试构建项目时,我都会收到这些奇怪的 3 条崩溃日志。结果我不得不重新安装我删除的所有可可豆荚。

  1. 在我这样做之前,我去 Firebase 并使用新的项目名称和新的 bundleID 启动了一个新应用程序,下载了新的 .plist 文件,并将其拖回项目中。

  2. 然后我打开终端,导航到我的应用程序所在的文件夹,执行“pod init”,打开 Podfile 并粘贴我从第 6 步中删除的所有 pod,运行“pod install”,然后一旦完成,我按下构建一切都很好。

我在 Xcode 和 Firebase 中更改了我的 iOS 应用程序的名称和 bundleID!

这是我在上面运行的命令的链接,用于从我的应用程序中擦除所有 cocoapod 文件。请记住,一旦它们消失,您仍然会遇到构建错误,因为您必须再次使用“pod init”和“pod install”重新安装 pod

可可豆分解

如何从项目中删除可可豆荚

在第二个链接中,我使用DevGangsta的答案删除了 pod 文件。获得最高票数的第一个答案对我不起作用。

更新

在调试器中更改 bundleId 后,您可能会看到某些数据模型的奇怪名称,例如yourAppName.-temp-caseinsensitive-rename. 您正在专门寻找这个确切的短语-temp-caseinsensitive-rename

按照这个答案修复它或这个答案\

确保clean build在此更新步骤后执行(shift + cmmd + k)。出于某种原因,资产文件夹会定期出现丢失,但是一旦我进行了干净的构建,一切正常