2014年2月2日日曜日

アプリ内課金のコンテンツアップロードでexecutableなんちゃらと怒られる

iPhoneのアプリ内課金では、非消耗型プロダクトのコンテンツデータをAppleのサーバーにホスティングしてもらうことができます。
テストで作ったコンテンツファイル(.pkg)をXcodeのオーガナイザーでvalidateしたところ妙なエラーが出ました。


エラーメッセージは以下のような感じです。
The package contains an executable at 'Contents/test.wav'.
test.wavというのは、pkgファイルに含めたテキトーなサウンドファイルです。
エラーメッセージを読むと、このファイルに実行コードが含まれてるみたいな意味にとれますが、そんな筈はないので悩みました。

悩んだ時はStack Overflowに頼れというわけで、以下にヒントがありました。
いつもありがとうございます!m(_ _)m


こちらによると、test.wavファイルのアトリビュートに x 、つまり実行可能属性が付加されているからダメだったということです。
試しにターミナルで当該ファイルを ls -la とかしてしてみると、test.wavファイルにしっかり実行可能属性が付いてました。

ターミナルからchmodコマンドで実行可能属性を削除してやります。
> chmod -x test.wav

そして、コンテンツ用プロジェクトを再Archiveしてvalidateすると、問題無くパスする事ができました。

関連記事

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...