2013年11月29日金曜日

Xcode5上でiOS5のシミュレーターがインストールできたりできなかったりする理由

Xcode5がいくつかのMacに入れてあるのだけど、そのDownloadsにiOS5シミュレーターが出てきたり出てこなかったりして「なぜ?」となっていた。

X-BASIC for iOSもまだiOS5対応をしている(つもり)なので、入れたい。

で、いろいろ調べて分かった、その理由。

「OS X 10.9上のXcode5ではiOS5シミュレーターは新ストールできない」ということだった。
10.8上でならインストールできる。
また、Xcode4.6.xでもインストールできる。

ということで、iOS5でも開発が必要なら、10.8環境を残すか、Xcode4.6.xを残すしかない。iOS7までの開発を一本化したいなら、10.8を残す以外の選択肢はない。

Xcodeのキーバインド設定ファイルの位置

Xcodeの環境を別マシンに移植する際、キーバインド設定ファイルのコピーに手間取ったので覚書。

その設定ファイルは
/Users/ユーザー名/Library/Developer/Xcode/UserData/KeyBindings
の下にある、*.idekeybindingsというファイルに入っている。
*は自分の使っているバインド設定名。

Xcodeを閉じた状態でこれを別のマシンの同ディレクトリにコピーし、Xcode上で設定すれば移植できる。

LibreCalcのデフォルトフォントの変更方法

LibreCalcでデフォルトのフォントの変更に手間取ったので覚書。
2ボタンマウスの利用を前提として書いているので、1ボタンの人は適当に読み替えて。

(1)メニューバーから書式を選択

(2)スタイルと書式設定を選択
 (3)これが出てくるので標準で右クリック
 (4)変更を選択
 (5)フォントを選択し、変更する。


以後、これに従って作成される。

iOSシミュレーターでSafariが起動しなくなったりした時の解決法・・・じゃなくて原因

Xcode上でプログラムを作っていて、iOSシミュレーターで動作させようとするのに、
Safariが起動しなくなった。
具体的には、このようなコードを実行してもSafariが起動しない。

NSURL *url=[NSURL URLWithString:@"http://www.blogger.com"];
// httpがあるので自動的にブラウザが立ち上がる
if ([[UIApplication sharedApplication]canOpenURL:url]) {
    [[UIApplication sharedApplication] openURL:url];
}

最初はプログラムやURLを疑ったのだけどどうにもならなくて、結局iOSシミュレーターで「コンテンツと設定のリセット」をすることで治った。

でもその原因は何だったのか。

調べた結果これだった。

(1)iOSシミュレーター(正確にはXcode)は以下の場所にプログラムの実行コードを作成する
/Users/ユーザー名/Library/Application Support/iPhone Simulator/バージョン/Applications/
バージョンはiOS7.0.3用なら7.0.3になる。
この下にアルファベットと数字とハイフンからなるディレクトリがいくつか作られている。
なお、このディレクトリは、Buildだけでは作成されず、Run後、実際にシミュレーター上にプログラムが起動する直前に初めて作成される。

(2)このディレクトリの内、少なくとも1つはユーザーの作ったアプリケーションであるが、他に6つほど、見に覚えのないディレクトリが存在する。その内容は、以下のとおり。
    Web.app
    StoreKitUIService.app
    WebViewService.app
    MobileSafari.app
    WebContentAnalysisUI.app
    DDActionsService.app

(3)見知らぬアプリのフォルダなので、「消してしまえ」とすると、以後動作がおかしくなる。

という次第である。今回の場合、MobileSafari.appを消してしまったので上記現象が発生したと。

アプリ内で作る中間ファイルなどを確認するために、アプリのフォルダの中を見ることはよくあるのだけど、他のが必要なんて今まで気づかなかった。

・・・と言うか、このフォルダ構成、iOS7.0以降でこうなった気がする。
6.xや5.xの下にはこういうのは出来ていない。

ということで、「フォルダはむやみに消しちゃダメ」というお話。

2013年11月6日水曜日

Mavericksのバグ

Mavericks、どうやらぱっと見ではないけど、深いところにバグが多数いる模様。
とりあえず情報集約開始。

(1)WDの外付けHDDを付けていると、その内容を消してしまう可能性があるらしい。
WDからも直接警告のメイルが来た。うちもまさにそれに相当するので、まだアップデートしてないMacはアップデートを当面しない、すでにMavericksにした機体は当面起動しないことに決定。

(2)ネットワークで共有したWindows7管理下のHDDに大量(GB越え)のファイルを書き込んでいると完全にハングアップしてしまう(電源の強制OFFしかなくなる)。MoutainLionでは同じ作業しても問題なかった。

(3)どうやら動作中にかなり頻繁にネットワークにアクセスする模様。会社ではProxyサーバー経由でネットワークにつながれているのだけど、そのパスワード要求が頻繁に出てくるので気がついた。MoutainLionでは「全く」出てこない。

(4)キーチェーンのパスワードを要求してくるのもバグかもしれない
   (3)とあわせて、もうどうしようもなくなったので、MountainLionに戻した。

(5)USB-ディスプレイでディスプレイを接続すると、その上でのマウスカーソル移動が異常に遅くなる。もちろんこれはドライバ側の問題の可能性もある。また、USBディスプレイをつないでいる状態ではMissionControlによる複数画面切り替えが正常動作しない。正確には、画面は切り替えられるが、ウインドウの画面間の移動を行えない。ウインドウが表示されないから。