iTunesのApp Storeでカテゴリページが表示されない

プログラミングとは関係のないタイトルですが、
MelodyMemoのリリースを確認したくて、タイトルの現象に遭遇。

Mac OS X 10.7
iTunes 11.0.5

この環境で、iTunesを起動しApp Storeを眺めようとしたところ、
トップページは表示されますがカテゴリを選ぶと真っ白ページになるじゃありませんか。

実は、日本以外のStoreを見たことがありまして、どうもその時を境に
問題が発生しているのではという気がしたので
画面右下の丸い国旗マークをクリックし、一旦別の国にして
再度日本に戻したところ、無事表示されました。

一瞬焦りましたが、めでたしめでたし。

自分で拡張子を定義し、メール添付経由でファイルを受け取る

自分のAppで独自のファイル形式を使っているとき、拡張子も独自のものにしていると思います。

メールの添付ファイルを開くときなど、他のAppから自分のアプリへ「送る」「開く」
をしてもらえるようにする方法です。

まずは、(App名)-Info.plistを開きます。

Infoplist

「Document types」と、「Exported Type UITs」を追加します。
Document Content Type UTIs、Identifier … 独自のファイル形式を指す、システムでユニークな名前を指定する(ドメイン形式を逆にしたものが推奨されるとのこと)
public.filename-extension … 拡張子をシステムに宣言する

fileextension

ここまでできたら、ビルドして実機で実行すると、
インストールとともに、システムに拡張子が登録されます。

メール添付などでこの拡張子のファイルを「送る」と、
自分のAppが選べるようになります。

この後、UIDocumentInteractionControllerの仕組みを通じて
自分のAppで受け取るコードを追加していきますが、
それについては以下のページを参照してみて下さい。

参考ページ:
iOSの中で、アプリケーション同士が連携するためのしくみ
UIDocumentInteractionControllerによる、アプリケーション間のファイル受渡し
iOSでユーザ拡張子を定義する方法

XcodeでiOSデバイスを選択できないかNSInvalidUnarchiveOperationExceptionが発生する

プロジェクトのターゲットOSが最新のときは、旧OSを使用したiOSデバイスを対象にしたビルドや実行はできません。

デバイスで実行したいときは、プロジェクトのターゲットOSを下げる必要があります。
xcode1

また、デバイスで実行すると以下のエラーが発生することがあります。

Terminating app due to uncaught exception ‘NSInvalidUnarchiveOperationException’, reason: ‘Could not instantiate class named NSLayoutConstraint’

これは、Storyboardの設定が旧OSでサポートされていないのが原因です。
xcode2

具体的には、「Use Autolayout」のチェックを外す必要があります。

xcode4

これで実行できるはず。