我的iOS应用程序名称中有一个加号。由于这个原因,捆绑包无效。需要帮助解决。

9

我在这里找到了几个非常相似或相同的帖子,但它们似乎都没有得到完全解决。

我的应用程序在我的设备上运行良好,没有构建错误。我正在尝试提交应用程序以获得批准,但出现以下错误:“此捆绑包无效。info.plist文件中由CFBundleExecutable报告的可执行文件名称可能不包含以下任何字符..... +”。因此,我打开了我的info.plist文件,并将info.plist文件可执行文件名称从宏${EXECUTABLE_NAME}更改为我的应用程序名称,而不包括+。我进行了新的存档,但然后出现错误,提示“codesign failed with exit code 1”。

在另一个帖子中,我读到只需更改目标名称,从中删除+,并将info.plist文件保留可执行文件名称的宏,重新启动Xcode,然后再次进行存档即可。那样让我可以进行存档,但我在iTunes Connect中收到了相同的错误。

我一整天都在解决这个问题,但找不到解决方法。请问有人可以指点我正确的方向吗?谢谢您的任何帮助。

5个回答

9

1
首先,感谢您的帮助!我阅读了您提供的线程,然后返回Build Settings中编辑了产品名称,并在我的info.plist文件中设置了Bundle Display Name。它成功构建并且在归档后成功上传到iTunes Connect。我的唯一担心是,通过这样做,我是否更改了应用程序名称,因为它将出现在应用商店中(祈祷顺利-第一个应用提交)。 - d.altman
1
您的应用名称将会在App Store中以iTunes Connect显示的方式呈现。 - eonil
@d.altman,我也遇到了同样的问题。你在Info.plist中设置的“Bundle Display Name”标题是什么?在构建设置中的产品名称是什么? - Satyam
@Satyamsvv 很抱歉回复晚了。Bundle Display Name 和 product_name 都是“My App+”。 - d.altman
谢谢,这对我很有帮助,当我尝试在应用程序名称中使用“+”时。 - Kirill Husiatyn

2
有几种不同的方法可以实现这个目标,但这似乎是最简单/最快的方法。
  • 首先改变“产品名称”,使其不包含任何特殊字符 - 如何更改产品名称
  • 接下来,我在我的 Info.plist 中将“Bundle display name”(CFBundleDisplayName) 和“Bundle name”(CFBundleName) 更改为硬编码,而不是引用 ${PRODUCT_NAME} 变量。
  • 如果您已经在 iTunesConnect 中创建了应用程序和分发配置文件,则还应更改 Info.plist 中的“Bundle identifier”- 将其硬编码为您在 iTunesConnect 中输入的任何内容,而不是 xxx.${PRODUCT_NAME:rfc1034identifier} 变量(如果在更改之前尝试构建存档,则会显示 iTunesConnect 包标识符的错误消息)
  • 最后,构建您的应用程序,苹果公司就不应该在验证时抱怨这个字符。由于硬编码的 bundle keys,当您在设备上运行时,您的应用程序仍然应该在主屏幕上显示“+”符号。

清除您的模拟器和设备。

  • 如果在此之后构建 iOS 模拟器无法工作(显示“错误:无法附加到进程 ID 0”信息),则前往“iOS 模拟器”菜单栏并单击“重置内容和设置…”
  • 如果此后在您的设备上运行无法正常工作,则从您的 iPhone/iPad 中删除该应用并再次运行

我在 Info.plist 中保留了可执行文件名称,因为默认引用 ${EXECUTABLE_NAME} 变量包含了 ${PRODUCT_NAME} 和其他几个变量,我不想去修改它们。

感谢 Nathan Welch 的答案成为这篇教程的基础。


1

双击目标并选择构建设置选项卡。搜索产品名称并将其更改为没有加号。如前所述,info.plist中的捆绑显示名称可以与加号相同。


0

你必须重新构建。在构建完成后,不能篡改捆绑包。


1
谢谢您的回复。我已经重新构建了,但是在那里我收到了“codesign failed…”错误。我忘记加上这一点了。 - d.altman

0
1.This bundle is invalid : Make sure your using bundle id is available or deleted by some one and also open the distribution provision profile is created for app store status is valid or invalid.

2. ${EXECUTABLE_NAME} : please provide your app name with + in plist 

3. codesign failed with exit code 1 : see this link and do like https://dev59.com/WW445IYBdhLWcg3wdqOO

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接