我正在使用 iOS 6 和 Xcode 4.5.2 为几个游戏关卡创建一个 .pkg 文件。在验证 IAP 内容的 Xcode .pkg 时,它抱怨我在声音包中的 m4a 音频文件。奇怪的是它说:“应用程序内购买的存档......无效。包包含'Contents/xyz.m4a'的可执行文件。” 我知道我在包中有一些音频文件(扩展名为 .m4a),但我不明白为什么将这些文件称为“可执行文件”。
3 回答
尝试ls -l xyz.m4a
并chmod -x xyz.m4a
同样的问题,但截至 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 ./*”。
回到 Organizer,点击 Validate,选择由 ITunesConnect 识别的托管内容产品,然后 Validation Success!
希望这可以帮助其他人在我的情况下。
检查包装内容。很可能您的构建设置没有有效的音频文件,但已编译代码。您不能在IAP
捆绑包中编译代码。