我找不到在 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 更改为 Sauce,这也会给我一个新的应用名称。
- 我遵循了这些 youtube 指示,这些指示 100% 有效change app's name & last part of bundleID
现在我的应用程序的 bundleID 是 com.specialsauce.Sauce 并且 Xcode 中应用程序的新名称是“Sauce”。
如果我想将中间部分从 com.specialsauce.Sauce 更改为 com.pizza.Sauce 这第二步和第三步是如何更改中间部分:specialsauce to pizza。
- 我去了应用程序所在的主项目文件夹,打开它,右键单击蓝色的.xcodeproj文件
(不是白色的 .xcworkspace cocoapod 文件),选择 Show Package Contents
然后双击打开白色的project.pbxpoj文件
(不是 project.xcworkspace 文件)。
- 在那里,我按“command + f”搜索任何具有旧名称(特殊酱)的东西并将它们更改为我的新名称(披萨)。我保存(command+s)并在所有内容更改后关闭文件。
我的应用的新 bundleID 现在是 com.pizza.Sauce
假设您的所有文件都在同一路径中(例如 mainFolder/XcodeProjectName/allYourFiles),您不应该看到任何红色的项目文件。但是,由于名称更改,您的 Pod 文件将变为红色,您必须删除它们并重新安装,我在第 6 步中进行了说明。
-
如果您从 developers.apple.com 获得 iOS 证书(即消息传递证书),您可能会在项目导航器中看到一些红色错误文件。如果您的项目中有 yourAppsName.entitlements 证书,那么由于名称更改,您将不得不将其删除。转到您的项目导航器 > 单击最顶部的 Blue Icon > 在中控台左侧确保您在 Targets(不是项目)下 > 选择 Build Settings > 在搜索框中输入 code_signing 并你会看到Code Signing Entitlements 出现> 转到它的右侧,单击whateverName/yourAppName.entitlements,然后将其删除。在删除它之前,您可以按左侧的代码签名权利,您会看到一个向下箭头,按下它将显示调试和发布,并在右侧具有相同的 whateverName/yourAppName.entitlements其中。删除第一个后,所有 3 个都应该消失。
-
为了在 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 时非常头疼。
-
在进行上述更改之前,我必须删除所有仍与原始应用的名称/bundleID 相关联的 pod 文件。我打开终端,导航到我的项目所在的同一文件夹,然后我按照特定顺序按照这些步骤删除所有旧的 cocoapod 文件。我会将用于这些说明的链接放在下面。
$ sudo gem install cocoapods-deintegrate
$ sudo gem install cocoapods-deintegrate cocoapods-clean
$ rm -rf ~/Library/Developer/Xcode/DerivedData
$ pod 解体
$ pod clean
$ rm Podfile
$ pod 缓存清理 --all
运行完所有命令后,cocapods 就从我的系统中彻底清除了,但每次我尝试构建项目时,我都会收到这些奇怪的 3 个崩溃日志。事实证明我必须重新安装我删除的所有可可豆荚。
-
在我这样做之前,我去了 Firebase 并使用新的项目名称和新的 bundleID 启动了一个新应用,下载了新的 .plist 文件,并将其拖回项目中。
-
然后我打开终端,导航到我的应用所在的文件夹,执行“pod init”,打开 Podfile 并粘贴到我从第 6 步中删除的所有 pod,运行“pod install”,然后运行完成,我按下构建一切都很好。
我在 Xcode 和 Firebase 中更改了我的 iOS 应用的名称和 bundleID!
这里是我上面运行的命令的链接,用于从我的应用程序中擦除所有 cocoapod 文件。请记住,一旦它们消失,您仍然会遇到构建错误,因为您必须使用“pod init”和“pod install”再次重新安装 pod
cocoapods deintegrate
how to remove cocoa pods from a project
在第二个链接中,我使用了 DevGangsta 的答案来删除 pod 文件。票数最高的第一个答案对我不起作用。
更新
在调试器中更改 bundleId 后,您可能会看到一些数据模型的奇怪名称,例如 yourAppName.-temp-caseinsensitive-rename。您正在专门寻找这个确切的短语-temp-caseinsensitive-rename
关注this answer 进行修复或关注this answer\
确保在此更新步骤之后执行clean build (shift + cmmd + k)。由于某种原因,资产文件夹会定期出现丢失,但是一旦我进行了干净的构建,一切正常