ブログランキング・にほんブログ村へ


iPhone/iPad用潜水艦ゲームアプリ ソナーエコー iTunesにて公開中

2015年04月18日

[iOS]アプリのdefault言語

iOSアプリで、localizationするのはまあいい。
Japanese と English を用意する。 xcode6になってから Baseってのができたから、これがdefaultって意味なんだろうと思って、試しにドイツ語環境で動かしたらばっちり日本語で動いてる。

default指定はどこかでやってやらないといけないらしい。

どこだ。

ProjectのTARGETを出して Infoのタグ。
Localization native development region
ってとこに Base と書いてやったらうまくいった。
Baseって名前があったからdefaultとして認識されると思ってた。まぎらわしい。

あと
Localization native development region

に "en"
って入ってた。入れた覚えないんだけど。なんだったんだ。
なんにせよ指定無効だったら Baseにしてくれ。Englishも用意してみてもやはり日本語が出た。
なんでそんなに日本語にする。iOS。

ーーーーー@2015.5.4

以上の記述は間違っていたことが判明。
iOS7(iOS8含む) 以降、ローカリゼーションで対応していない言語の場合、Settingsの言語リストでみて2番目以降最初に出てきた方が採用となるしようとなっていた模様。
だから上の例だと
直前に使った言語が日本語→ドイツ語だと 日本語が、
直前に使った言語が英語→ドイツ語だと 英語が
表示される。
つまりアプリデフォルト言語というものは存在しない。
なんでこんな仕様になったのかはわからないがとても使いにくい。
EnglishとJapaneseだとなにもしないと多分Englishのほうが上にあるだろうから、英語以外の外人さんの場合ちゃんと英語で出てる‥と思うんだけど、なんだか心配なんで、プログラムで対応する方法で対応した。

Localizable.strings で選ばれるデフォルトの言語を設定する

こちらのやり方が参考になった。

ただこれだと、当然だけどアプリの名前は変わらない。
次回からは日本版も英語の名前にするか‥やだなぁ
posted by みこあいさ at 15:26| iOS開発

2015年04月17日

[iOS]iTunes connect app ビデオプレビューの各サイズをimovie + ffmpegで作る

iPhone6が出たあたりから、iTune connectでアプリのスクショ以外にプレビュームービーを登録できるようになった。
一回だましだましで上げたことはあったのだけど、各サイズ用は用意できなかったので今回はそのあたりまでやってみたいなと。

まずiOS8 + Yosemite + QuickTimePlayerの録画で実際の動作画面をとる。
これをiMovieで適当に編集する。iMoiveの使い方がよくわからないで毎回適当にいじってるのだけど、「共有」で出すときに 1920x1080が選べないときがある。よくみると作った動画自体 1080HD となってないと(720HDってなってる)選べないらしい。
どうしてだかよくわかんないのだけど(撮った元動画はiPhone6なんで1334x750)ぐりぐりやってると1920x1080のmp4が出る。
これが15秒〜30秒に収まっていれば、4 inch用と 5.5inch用にはそのままアップできる。
問題は4.7とiPad。3.5はアップ自体できないみたい。

そこでffmpeg。OSXバイナリをどっかからダウンしてきてターミナルで使う。

まず4.7inch。
ffmpeg -i input.mp4 -strict -2 -r 30 -s 1334x750 -aspect 1.779 output.mp4
これで変換したものはアップできた。
ググってみるとこれの -aspect指定がないものが見つかったりするけど、それだとダメだった。サイズが違うってエラーがでた。

次にiPad。
ffmpeg -i input.mp4 -strict -2 -r 30 -s 1600x900 -vf crop=1200:900 -aspect 4:3 output.mp4
一応これでなんとかアップロードできるものが作れた。
ただし、なんか真ん中のあたりをくり抜いたみたいになってしまったけど。

まぁおいおいわかってくるでしょう。

とりあえずアップできてめでたし。

追記 2015.6.9
iPad用に変換。上下に黒い帯を入れる。

ffmpeg -i input.mp4 -strict -2 -r 30 -vf "scale=1200:675,pad=1200:900:0:112:black" -aspect 4:3 output.mp4

追記・修正 2015.10.9
ソースによるのかiMovieの更新で何か変わったのかフレームレート指定を入れないとうまくいかないことがあったので -r 30を追加。

あと、5.5/4inch用の1920x1080がそもそもiMovieでうまく出せなくて、それも変換したので念のため記録。
ffmpeg -i input.mp4 -r 30 -strict -2 -s 1920x1080 output_55.mp4

不思議なことに -aspect 1.779をつけると微妙に大きさがずれて 1921 x 1080になってアップロードできないという問題が発生。計算誤差か。-aspectを取り除いたら1920x1080で出た。
posted by みこあいさ at 11:16| iOS開発