2016年11月27日日曜日

自分のiPhoneにサンプルアプリを転送しようとすると...

参考書を片手に、自分のiPhoneにサンプルアプリを転送しようとすると、以下のようなエラーメッセージが表示された。
Development cannot be enabled while your device is locked.
Please unlock your device and reattach. (0xE80000E2).
これを解決する方法を探してみたところ、これが正解だった。
iPhoneとMacの接続をはずし、iPhoneの、
設定 → 一般 → リセット → 位置情報とプライバシーをリセット
を行い、つなぎなおす。

参考URL:Xcode8、iOS10にしたら実機テストができなくなりました

2014年9月21日日曜日

ターミナルでvi

OS Xはunixでもある。Xcodeを使う前に、ターミナルでプログラミングすることも可能なことを思い出した。

アプリケーション > ユーティリティの下に、ターミナル.appがある。それをダブルクリックすれば、30年前と同じようなコマンドラインプロンプトが現れる。

その画面に向かって、以下のように入力してみる。

vi poi.c

poi.cという名前のファイルを編集するという意味だ。viとはvisual editorの略称で、unix上の伝統的なテキストエディタである。

viが立ち上がったら、まず i を入力し、テキストを入力できる状態にする。i は確か"insert"を意味していたはずだ。i は、「これから文字を入れるよ」というコマンドなのだ。

その後、以下のようにコードを入力してみる。

#include <stdio.h>
int main()
{
    printf("hello, world\n");
    return 0;
}

C言語で最初に習うコードがこれだ。カーニハン&リッチーのC言語の教科書の最初に出てくるやつだ。

ここまで入力したら、ESCキーを押して、viの入力モードから一旦出たあと、Shift+z+zでファイルを保存しながらviを終了する。

こんな呪文みたいなコマンドを、今でも指が覚えている。

コードが書けたので、次はコンパイル。コンパイルのコマンドはcc (c compiler)だ。

cc poi.c

そうすると、a.outという実行ファイルができる。これを以下のようにして実行してみる。

./a.out

すると瞬時に、

hello, world

とターミナル画面に表示される。

30年前も今も、変わらない基本がここにある、と思いたい。

2014年9月20日土曜日

プログラミングを再開してみる

日常的にプログラミングをしていたのは、2003年頃まで。もう10年以上も前のことなのか。その頃までは、Windows, MacOS, Linuxで、それぞれプログラミングを楽しんでいたものだ。

その後、自宅のMacにはXcodeをインストールしていたものの、ほとんど使っていなかったが、先日のiOS8のリリースを期にXcode6をインストールしてみて、そろそろ趣味としてプログラミングを再開してみるのもいいだろうと思い立った。昔の記憶をたどりつつ試行錯誤してみようと思う。

それにしても、Xcodeのようなプログラミング環境が、無料で使えるという時代に感慨を覚える。MacOS9までの時代(2000年頃まで)は、CodeWarriorを購入するしかなかったが、今ではAppStoreから無料でダウンロードするだけだ。ビジネスモデルの変化を感じないわけにはいかない。

MacOS9からOS Xに移行しつつあった時代(2000年代前半)、Carbon環境(OS9までのAPIをOS Xで使えるようにしたもの)でのプログラミングは必須であったが、今はすべてCocoaのフレームワークでプログラミングするようになっているようだ。OS Xになってもう10数年経っているのだから当たり前かもしれない。

プログラミング言語はどうか。MacやiOSの場合、Objective-Cがあたりまえであり、C++ですらあまり使われていないのかもしれない。

いや、そうではないのかもしれないのだが、その辺の事情というものが今ではまったくわからなくなってしまった、というのが本音である。

2000年頃、OS X向けにプログラミングする場合、GUI周りはCocoaのフレームワークを使い、その他のレイヤーではCarbonのAPIを使いながらをC++でコーディングする、という感じであった記憶がある。それが一般的であったかどうかはわからないが、MacとWindowsでコードを共有する場合、C++であれば#ifdefなどを駆使してなんとかソースコードを共有するこができた。

今の時代、WindowsとMacでソースコードを共有する場合に、Mac側でC++を使うことは普通なのだろうか。

そんなこともわからなくなってしまった自分であるが、Xcodeでのプログラミングを趣味として楽しんでみることにしよう。

まずは、"Hello, world!"を、Objective-Cで実行してみることからはじめてみようか。