我正在使用iOS 6和Xcode 4.5.2为几个游戏关卡创建一个.pkg文件。在为IAP内容验证Xcode .pkg时,它抱怨我在声音包中有m4a音频文件。奇怪的是它说:“应用内购买的存档...无效。该软件包在'Contents / xyz.m4a'中包含一个可执行文件。” 我知道我在包中有一些音频文件(扩展名为.m4a),但我不明白为什么它将那些称为“可执行文件”。
答案 0 :(得分:21)
尝试ls -l xyz.m4a
和chmod -x xyz.m4a
答案 1 :(得分:5)
同样的问题,但截至2013年10月28日列出的答案并未解决我的错误。我能够通过生成的存档中的chmod 444解决错误,然后重新提交以进行验证。然后它通过了验证。
其他信息:
我有一堆.mov视频,我想在ItunesConnect上作为托管内容上传。在Xcode中:File-> NewProject-> Other-> HostedContent;确保产品标识符与iTunesConnect中的标识符匹配(区分大小写),(不要添加到任何项目或工作区),然后将文件保存到项目目录外。然后,在新创建的项目中,在第一个文件夹中(具有我的应用程序内购买的名称 - 但不在Supporting Files文件夹中),我移动了所有.mov视频文件,选择“将文件复制到文件夹”选项。
* 注意 - 此步骤适用其他人在此帖子中发布的答案,但对我不起作用。
接下来,在终端中,我导航到这些视频被复制的位置。然后我将所有视频更改为仅使用此命令读取:chmod 444 ./
返回Xcode,从菜单中:Product-> Archive。组织者打开,列出新的存档。选择验证并选择ITunesConnect“应用内购买内容”。这是验证失败的地方,错误“应用程序内购买的存档无效。该软件包包含'xxxxxxx'.mov处的可执行文件”
然后我右键单击存档包,然后“在Finder中显示”。右键单击“xxxxxxx.xcarchve”文件并选择“显示包内容”。然后进入这个文件夹:products-> Library-> InAppPurchaseContent-> xxxx-nameofmycontent-xxxx->内容
存档包含我所有视频文件的副本。现在我导航到终端中的“Contents”文件夹(在终端中,键入“cd”,然后将文件夹拖到终端以自动填充目录路径),然后按Enter键。在这个目录中,我使用以下命令将所有视频文件设置为“只读”:“chmod 444 ./*”。
返回组织者,点击验证,选择由ITunesConnect标识的托管内容产品和验证成功!
希望在我的情况下这有助于其他人。
答案 2 :(得分:4)
检查包装内容。很可能你有你的构建设置,这样你就没有vaild音频文件,而是编译代码。您无法在IAP
包中编译代码。