为什么我在尝试安装临时构建时出现"could not be added to your itunes library because it is not a valid app"错误?



我最近把我的Mac升级到Lion,还有Xcode 4。

在Build Settings中,我将"Release"的"Code Signing"设置为"iPhone Distribution",这与我们的Ad-Hoc配置文件(我们过去在雪豹/Xcode 3上使用过)相匹配。

我已经删除了旧的津贴文件(因为它显然不再被Xcode 4使用)。

在Scheme部分,我已经将Archive设置为使用Release版本。

我正在构建Product> Archive.

我通过进入organizer并单击Share保存文件,然后确保选择相同的Ad-Hoc配置。

我将生成的IPA文件发送给我的老板,他之前已经安装了这个应用程序。当他试图安装它时,他收到消息"[appname]无法添加到您的itunes库,因为它不是一个有效的应用程序"。

我已经尝试了我能想到的每一种设置组合,但我们就是不能让它工作。我在谷歌上只发现过两次这个错误——一次是来自一个手机越狱的人,另一次是在一篇文章的评论中,有人有同样的问题,但是没有回应。

任何帮助都将非常感激。

Edit:同样的事情发生在试图将IPA拖到创建它的Mac上的iTunes上!(

Edit2:只是采取了另一个(几乎相同的)项目,并尝试构建没有"现代化"的项目,或选择Xcode中的任何新选项(图标,启动图像,方向等),这个构建工作。我将用这个来完成我在原始应用中做的每一件事,测试每一步。希望应该能够隔离哪一步是打破编译的应用程序!

(也贴在苹果开发论坛)

我相信我已经追踪到这个…它似乎是间歇性地发生的,所以它需要一些时间(我会重新生成它,回滚更改,确认它有效,然后重新应用更改,以便它再次工作!)。

然而,经过多次清理/重新启动/等。,我相信这与目标设置中的"构建"版本有关(现在有两个版本字段,"版本"one_answers"构建")。如果"Build"为空,则会出现此错误。

不幸的是,改变这个值似乎不能正确地重建,所以有时如果你改变它,然后存档,你仍然得到以前的值。在存档前手动清理似乎可以解决这个问题。

该值以CFBundleVersion的形式写入plist文件。

最近我在使用TestFlight服务的Ad-Hoc安装中遇到了一个问题,日志中的消息没有太大帮助:

Jul 25 12:52:39 MyiPad installd[477] <Error>: 0x10059c000 init_pack_state: Archive we've been requested to install is 0 bytes. That can't be a valid ipa.

经过多次测试,我发现这个问题和问题是一样的,Build字段是空的(这个答案拯救了我的一天:-))

所以,如果其他人在TestFlight上有这个问题,我希望我的答案允许找到这个页面更容易;-)

我也面临着同样的问题。在做了一些研究之后,我发现了以下答案:

  • App VersionBuild version不应为空白。
  • 不要在我的应用包名称中使用特殊字符
  • 我的配置文件也没有问题。

调试后发现我的方案名称和信息中存在名称不匹配。列表文件名。在我的项目中,我有三个方案,像a,b,c,只有一个a-info。plist文件。我正在为不同的方案创建IPA,如'b'。

在您的场景中,如果您创建了多个方案,请检查您的Info。plist名字。该名称必须与您的方案名称相同(您正在为其创建IPA)。

的例子。方案名称是"myScheme",然后是您的信息。plist文件名为'myScheme-Info.plist'.

希望这对你有帮助。

我得到了同样的消息("不是一个有效的应用程序")。在我的情况下,我是ftp构建应用程序到一个web服务器,然后我将能够OTA提供它。在放置文件之前,我没有切换到二进制模式,所以.ipa文件在此过程中损坏了。我花了大半个晚上才弄明白那个愚蠢的错误。

ok…做一件事…打开info.plist . .转到bundle identifier并更改bundle identifier的名称。它必须是独一无二的……比如"com.yourcompany"。然后创建并尝试安装ipa..应该可以

我在研究一个类似的问题时遇到了这个问题,所以即使情况不相同,我也会在这里回答,因为其他人会搜索相同的错误消息。

我有一个特别的应用程序,开发团队的每个人都可以很好地安装,除了一个人,他从iTunes得到了错误:

X不是一个有效的应用

他已经能够安装这个应用程序的早期版本。重新构建应用程序,更改版本号和更改构建号都没有效果,他仍然无法安装,但其他人可以。

我通过创建一个全新的Xcode项目来修复它,要么复制文件,要么将文件的内容从旧项目复制粘贴到新项目中,然后重建应用程序并以与旧项目完全相同的方式签署它。它工作。

我在尝试为一个旧项目(一年前由前开发人员构建)的adHoc发行版创建.ipa时遇到了类似的问题。在谷歌上做了大量的研究,并遵循了上面的解决方案,但由于某些原因,我没有成功。

点击这个链接之后-在这里。通过将.plist文件替换为现有的工作项目(显然是相关的图标/包显示名称/标识符),并用当前的.plist名称重命名。

我真的花了大约3-4小时来解决这个问题。希望它能帮助到一些人。

环境是本地——iOS应用程序。

添加……"应用程序需要iPhone环境"在你的信息。plist或如果添加给它的值"YES"。检查"Build"one_answers"Version"一般不是空的....希望这将工作

导入项目内容到一个新的项目为我解决了这个问题。

对于我来说,我们试图做一个非常老的应用程序的企业构建,从iOS 5。

确认配置文件和其他一切都很好,调试构建工作正确,我注意到普遍的共识是围绕信息的问题。plist文件。

我比较了信息。与另一个应用程序进行列表,果然,

Application requires iPhone environment = NO

基本上这个键需要始终设置为YES对于iOS应用程序,无论它是iPhone, iTouch还是iPad…

可能不局限于每个人的关键,但要确保信息。Plist看起来很像工作中的应用程序。

Bundle version
Bundle versions string, short

应该始终存在!

right..但我猜它与早期的bundle标识符冲突(这是因为你升级了Xcode)。您是否尝试更改现有的包标识符名称并安装?我也有同样的问题,浪费了3-4天…我改变了现有的bundle标识符名称,它工作了。此外,你可能想要检查Bundle名称和Bundle版本是否存在于info中。plist

相关内容

最新更新