Raptor開発者ブログ

期限:2016年月日 やること:次のアプリをリリースする 資格の勉強法、アプリ開発、はてブロのカスタマイズのことを書きます!

2台目のMacを新しく買って前のMacの設定等を引き継いだときに、大変だったこと

 
 
2月15日に、新しく買ったMacBook Proが届きました。
それに伴い、これまで使っていた古いMacの設定等を新しいMacに移行することに。
 
やり方は外部HDDに古いMacの設定等を丸ごと保存し、その設定等を新しいMacに丸ごと移すという。
Time MachineというMacアプリで設定等丸ごとバックアップできるので、それを移行アシスタントというシステムを使って移すのです。
ここまでは、検索してすぐにわかりやすいサイトがみつかるため、問題ありませんでした。

このTime Machineはこれまであまり使ったことがなかったです。
というのも、Time Machineは、毎日1時間ごとに設定を保存し続けるというもので、そこまでこまめにバックアップとる必要もないだろうと思ったので。
しかし、Macを新しくしたついでに、これからはTime Machineでバックアップすることに。

1日目はそうして移行作業だけで終わりました。
 
 

大変だったこと(キーチェーンアクセス)

f:id:raptor36:20160218182849p:plain:w200
2日目は、アプリ開発のための開発環境が正常に動いているかを確認することに。

Androidアプリに関しては、なんの問題もなく、これまで通りファイルをapk化でき、それをGooglePlayにアップロードできました。

ところが、iPhoneアプリの開発環境Xcodeで異常が。

iPhoneアプリのファイルをストアにアップロードするには、証明書が必要です(1年ごとにデベロッパーの更新をして1万円くらい払うため)。
昨日行ったTime Machineにより、古いMacの設定をほとんどすべて引き継げたのですが、証明書に関しては、古いMacの証明書を引き継げませんでした。
そのため、一旦古いMacを動かしてそこから証明書を書き出し、Googleドライブにアップロードして、それを新しいMacにダウンロードするという方法をとりました。
あとは、この証明書をダブルクリックすれば、自動でキーチェーンアクセスが起動して、証明書を引き継げるらしいのです。

ところが、肝心のキーチェーンアクセスが、はじめの1時間くらいは正常に動いていたものの、突然なんの反応もしなくなり、カーソルが写輪眼みたいな虹色のくるくるになりだしたので、一旦、強制終了しました。
すぐにもう一度キーチェーンアクセスを起動したところ、なんの反応もせず、写輪眼になるだけです。
パソコン自体を再起動すれば、たいていのエラーは解消するので、再起動も試しました。
しかし、それでもキーチェーンアクセスを開こうとすると、写輪眼になります。

検索して対処法を探したところ、こういう症状になる方もいたのですが、一旦キーチェーンアクセスをバックアップとった上で削除したら直ったというおそろしい対処法しか見つかりませんでした。
さすがにそれを試す勇気はなく、Mac到着2日目にして、途方に暮れてしまいました。
 
 
そうした中、落ち着いて考えてみると、Time Machineで古いMacのデータを移行したのと同じ要領で、正常に動いていた頃の新しいMacのデータを現在のMacに移行すればうまくいくでのはないかと気付きました。

幸い、昨日からTime Machineで1時間ごとにバックアップしていたので、キーチェーンアクセスが突然動かなくなる前の正常に動いていた時間のバックアップを使って復元しました。

それにより、キーチェーンアクセスが正常に動くようになり、古いMacの証明書も引き継げました。
 
 
これでうまくいったと思ったのですが、証明書の部分をよくみると、「この証明書の発行者は無効です」と赤字になっています。
案の定、Xcodeでストアにアップロードしようとしてもエラーになります。

証明書の引き継ぎがまだどこかおかしいのかと思い、いろいろ調べましたが、このようなエラーに困っている人は英語も含めてみつかりませんでした。

そんな中、やたらと検索にひっかかるのが、2016年2月15日でappleの証明書の期限が切れたので、それを削除して新しくインストールしてね、というもの。

Macを新しくしたのが原因だと思っていた自分には、てっきり無関係だと思っていましたが、これを削除したところ、iPhoneアプリをストアにアップロードできるようになりました!!

よりによって、新しくMacを買った日に証明書の期限が切れるなんて!
とんでもないタイミングのエラーでした。
 
 

今回大変だった原因

 
ようやくiPhoneアプリを無事アップロードでき、念のためもう一度Androidアプリの方でもアップロードできるか試したところ、proguardのエラーでアップロードに失敗しました。
今度はAndroidか、と思いましたが、再起動してもう一度アップロードしてみたところ、すんなりできたのでよかったです。
 
 
今回のデータ移行もだいぶきつかったです。

そもそもの原因は、データ移行はTime Machineを使えばカンタン、と油断していたことにあります。
基本的に、調子に乗って油断しているとどえらいことになる、ということを散々学んできたはずなのに、もう忘れていました。
 
 

Time Machine

f:id:raptor36:20160218182425p:plain:w200
とにかく、今回身にしみてわかったことは、Time Machineのありがたさです。
1日刻みのバックアップでは、1日の間にだいぶ色々いじれてしまうので、それをまたやり直すというのは想像するだけできつすぎます。
1時間刻みでバックアップって、必要だったんですね!

エラーが起こる前の時間に戻りたいという願いを叶えてくれる、まさにTime Machineです。
 
 
そして、このTime Machineの使い途がわかったのもよかったです。

よく、Xcodeとかアプリ開発環境をアップデートする方がいますが、自分の場合、アップデートして取り返しのつかないことになるのが恐ろしいのでやりません。
しかし、Time Machineがあれば、いざという時には元に戻せるので、試しにアップデートとかができるということに!
 
 
ホントにTime Machineの重要さがわかりました。
 
 
あらためて、これまでは、何か立ち行かなくなったとき、色々検索して、場合によってはstackoverflowとか日本語以外のサイトからも情報を得て、それでもダメなら諦めるしかありませんでした。
これからは、それに加えて、Time Machineで時を戻すという選択肢が増えました。
 
 

QLOOKアクセス解析