iOS 6 (iPhone 5 A6)用のビルドでリンクエラーとなる場合の対処方法

xcode 4.5 で開発しているアプリをビルドすると以下のエラーが出力された。

リンクしているライブラリが A6 アーキテクチャに対応していないのが原因とのこと。
リンクしているのはソースがあるライブラリばかりではないので、とりあえず、以下で対応する。

(エラー内容)
file is universal (3 slices) but does not contain a(n) armv7s slice: /Users/xxxxx/Documents/workspace/xxxxx/(リンクしているライブラリ名)/lib/xxxxx.a for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)

(対処方法)
プロジェクト設定 [TARGETS]-[Build Settings]
Valid Architectures
“armv7 armv7s” を “armv7” とする (ライブラリが対応できるまで (^_^.))

当然といえば当然だが、時間に余裕がないときに直面するとビビるな。

UDID の書式がシュミレータ バージョンによって変わる件

今後、UDID を利用した処理というのは推奨されないことは理解してますが、過去のアプリでは結構使っちゃってますよね。
先日、UDID を利用したコードで、バージョン違いのシミュレータの動作が違うという現象に遭遇し、少しはまったのでメモしておきます。

6.0 シミュレータで UDID を取得した場合 (英小文字。ハイフンがない)
1122bfxxxb4xxx4b33xxx44xxx55xxxa00000000
 
5.1 シュミレータ (英大文字。ハイフンあり)
1122BFXX-XB4X-XX4B-33XX-X44XXX55XXXA
書式:8桁-4桁-4桁-4桁-12桁

UDID をそのまま比較するという処理がある場合、比較できません。(ノД`)

iTunes と iPhone の同期ができない場合の対処方法

10.8.2 にバージョンアップ後、iTunes と iPhone を同期しようとすると mac の動作が停止する(厳密には一定時間後に少し動作して、また停止する。その際、入力を一切受け付けない。)という状態になってしまった。(ノД`)

しょうがないので、考えられる対処をいろいろ試してみた。
iPhone の電源断、リセットを行ったが効果なし。
復元も行ったが、コレ、結構時間がかかりますね。
iPhone で 30 GBくらいの容量を利用しているとデータの復旧を行うのも大変です。
iPhone を工場出荷状態にして(工場出荷時の OS には戻らないようだ。OS のアップデートを行っていれば、その OS の初期状態へ戻される。)各種、設定を復元して、アプリ、音楽、ムービーの動画を行わなくてはならない。
これらのファイルのサイズが大きければ、当然データのコピーに凄い時間がかかります。
また、一度インストールし、その後、削除したアプリなんかも復元されていてそれらのアプリを削除したりで、また余計な手間がかかります。

というわけで、色々試しましたが、以下の方法で、取りあえず iTunes と iPhone の同期ができない問題は解決できました。

iTunes:「iPod Photo Cache」フォルダについて

以下、上記サイトより引用 —–
iPhoto または Aperture のアルバムから同期している場合は、次の手順で、デフォルトの iPhoto ライブラリまたは Aperture ライブラリの場所にある「iPod Photo Cache」フォルダを見つけます。

1. Finder で、「移動」メニューの「ホーム」を選択します。
2. ホームに移動したら、「ピクチャ」フォルダを開いて、「iPhoto Library」ファイルを探します (Aperture の場合は、「Aperture Library」 になります)。iPhoto ライブラリや Aperture ライブラリを別の場所に移動している場合は、まず Finder でその場所に移動します。
3. 「control」キーを押しながら「iPhoto Library」または「Aperture Library」ファイルをクリックして、ショートカットメニューから「パッケージの内容を表示」を選択します。
4. 次のウインドウで、「iPod Photo Cache」フォルダを見つけてゴミ箱にドラッグします。重要:ライブラリパッケージ内のその他のファイルを削除または変更しないでください。その他のファイルを削除または変更すると、データが失われる可能性があります。
5. Finder ウインドウを閉じます。

—–

たぶん、iPod Photo Cache フォルダ配下の Photo Database がおかしくなったようです。
→ 上記フォルダ配下にはいろいろファイルがありますが、更新日時より Photo Database ファイルが問題だったんだと判断してます。
根拠はありませんが。。。笑

また、しばらく様子を見てみます。
あー mac でこんなつまらない問題に見舞われたこと無かったんだけどなぁ〜

では!

(追記)
問題対処の見方を少し変えれば、もう一度アップデートをかけてみるというのも手かも知れない。
→ 適切かどうか分からない問題対処を一つ一つ試すのは大変なので。。。(^_^.)
OS X Mountain Lion 統合アップデート v10.8.2

iOS 6 のカレンダーで曜日の表示位置が改善されている件

一時期話題になってましたが、カレンダーの曜日位置がずれているのがいつ改善されるのか?ずっと気になってたんですよね。
意外に気にならないって人も多かったりして驚きだったんですが、結構気になりますよね。
今回のアップデートで以下の様に対処されていました。

良かった。(^_^.)

iOS 5 のカレンダー

iOS 6 のカレンダー

あと、今回のバージョンアップは結構 UI なんかも模様替えされてて、気分が変わって良いですね。
こんな機能もついてました。。。笑 ちょっとしたことだけど、楽しい。。。(^_^.)

ですが、今回のアップデートでは iPhone と mac の同期でトラブルに見舞われて少し大変な思いをしました。
アップデート時期は、iPhone、mac と同時にいくつかのソフトウェアもアップデートさせるんで少し大変なんだよなぁー