为什么Settings.bundle导致iTunes说我的iPhone应用程序无效?

时间:2011-10-20 02:52:35

标签: iphone xamarin.ios itunes monodevelop

好的,过去几个月我一直在使用MonoTouch和MonoDevelop开发iPhone应用程序。在这段时间里,我已经能够将应用程序部署到我的手机上进行调试/测试,并且还能够为我的雇主编写Adhoc版本进行试用。这一切都很好......直到本周。

我发出的最新版本不会进入iTunes并因以下错误而失败:

The app "Payload.ipa" could not be added to your iTunes library because it is not a valid app.

所以基本上你的通用“有些不对,但我不会告诉你究竟是什么”错误。

我的初步调查似乎表明问题可能在于包含特殊字符的应用名称,但由于我很长时间没有更改应用名称,这不是问题。我确实在info.plist中添加了一个捆绑版本,但是删除它并没有解决问题。

然后我查看了输出文件夹中的文件,我注意到现在包含了Settings.bundle(我添加了一个名为Config.plist的文件来存储应用程序使用的一些设置)。在MonoDevelop中,我改变了选项,使其成为“内容”和“始终复制”,正如我所遵循的指南所建议的那样。当通过MonoDevelop在模拟器或手机上运行应用程序时,这非常有效。但当我将应用程序打包为.ipa文件时,iTunes表示该应用程序无效。如果我删除Settings.bundle iTunes接受它。

我已经读过设置“内容”时不需要“始终复制”选项,但即使选项设置为“不复制”,Settings.bundle文件仍会出现在输出(bin)文件夹中。< / p>

我还想过,也许我必须将名称更改为Root.plist,因为这是示例使用的内容,也许是预期的。但是再次更改名称并没有什么不同。

所以我只是想知道是否有其他人遇到过这个问题,你是如何解决它的?

2 个答案:

答案 0 :(得分:0)

好的,经过一些麻烦,我使用TestFlight将应用程序部署到我的手机上(我无法在我的开发机器上使用iTunes进行同步)。

即使使用TestFlight,使用Payload中包含的Settings.bundle部署应用也不会安装在手机上。但是我决定在没有该文件的情况下尝试查看该应用程序是否可以在没有它的情况下工作,并且让我感到意外。

这有点烦人,因为以前只是将输出目录中的所有文件复制到Payload目录都运行正常。我仍然不确定为什么在存在Settings.bundle时出现问题,或者如果不需要它,为什么会出现问题。

答案 1 :(得分:0)

我遇到了同样的问题,经过几个小时的调查,我发现“settings.bundle”的资源分叉丢失了,因为我在FAT32分区上创建/修改它。您应该在OSX分区上创建settings.bundle或修复资源分支。