2013-10-17

古いiOSデバイス用アプリ開発

iOS 7が登場し、スマートフォンのCPUも64ビット化されようかという今、そう、いまだから、いまさら役に立たない第1世代 iPod touch(iOS 3.1.3) 対応アプリ開発法を忘れないうちにメモ。 ひとことでまとめると、

OS X Mountain Lion 10.8.5 + Xcode 4.4.1を使えば開発可能

である(※古い iPhone SDK と Device Support を追加しておくこと)。

ただし、Xcode 4.4.1標準のプロジェクトテンプレートから生成されるプロジェクトを、そのままビルドしただけでは iPhone 3G/iPod touch 1st generation のような旧式デバイスで動くアプリは作れない。注意すべきポイントがいくつかある。

2013-08-08

HTMLをテキストに変換する

HTMLデータをプレーンテキストに変換する方法。w3mコマンドを使う。w3mはテキストベースのWebブラウザーだが、フィルターとしてHTMLからTEXTへの変換にも使える。

$ cat input.html | w3m -T text/html -dump > output.txt

w3mコマンドの引数にURLを指定することで、ネットからHTMLデータを取得してプレーンテキストに変換することもできる。1行を80文字とする例。

$ w3m -dump -cols 80 http://www.example.com/ > output.txt

入力ファイル名を指定してもよい。ついでに出力する文字コードをShift JISにする例。

$ w3m -dump -o display_charset=SJIS input.html > output.txt

w3mはMac OS X標準のコマンドではないので、MacPortsなどを使ってインストールすること。

2013-08-03

完了したジョブを消す方法

OS X Mountain Lionで印刷後、「完了したジョブ」リストの内容を消去しようと試みたのだが、あれ? 消せないではないか。

はて、昔(Leopardくらいまで?)は削除できていたように思うのだが……

いつまでも印刷履歴が残ってしまうのはイヤだ。

アップルに問い合わせたところ2013年8月3日時点では「GUIから削除する方法はない」そうである。

でもって消す方法だが、この完了したジョブリストは /var/spool/cups/ ディレクトリーに格納されているファイルに基づいて表示されているので、このディレクトリー内のファイルを削除してやれば表示されなくなる。

$ sudo sh -c 'rm /var/spool/cups/*'

「プリントシステムをリセット...」して消すという方法もあるが、これでは再度プリンターを登録し直さなくてはならない。

2013-07-23

コマンドライン引数の書式

コマンドライン引数の書き方メモ。

ショートオプション

  • オプションはハイフン(-)で始まる
  • 引数を取らないオプションはハイフンの後にまとめて書ける。「-abc」は「-a -b -c」と等価である。
  • オプション名は単一の英数字である。
  • 特定のオプションは引数を必要とする(例えば ld コマンドの -o オプションは引数として出力ファイル名が必要)。
  • オプションとその引数を分離する空白はオプション。「-o foo」と「-ofoo」は等価である。
  • オプションは通常、オプション以外の引数より前におく。
  • 引数「--」(連続するハイフン)はオプションの終了を表す。続く引数は、ハイフンで始まっていてもオプションとはみなされない。
  • 引数「-」(単独のハイフン)は、慣習的に標準入出力を使った読み書きを指定するために用いられる。
  • オプションは任意の順序で複数回指定できる(どう解釈されるかはプログラムによる)。

ロングオプション、GNUツールに見られる長い名前のオプション。

  • ロングオプション名は「--」(連続するハイフン)で始まり、英数字とハイフンで構成される。
  • 入力時に一意に識別できる範囲まで、オプション名を省略できる。
  • 引数は「--name=value」のように指定する。

2013-07-15

リモートディスクを取り出す方法

Blu-ray Disc(ブルーレイディスク)の時点で光学式ドライブを見限っているアップルちゃんだが、最近のMacにはDVDドライブすら搭載されなくなった。

確かになくてもほとんど困らない。それでも、まだ、たま〜にDVD-ROM/CD-ROMを読みたくなることはある。

そんなときのために、ウチではMac mini Serverに付いているDVDドライブを共有している。Mac OS Xの「DVD または CD 共有」機能を使えば簡単に実現できて便利である(この機能は OS X Server でなくても使える)。

2013-07-07

ユーザーをグループに追加する方法

Macを使っていてユーザーをグループに参加させようとしたとき、素のクライアント版 OS X では、ハテ? どうするんだっけと思ったことはないだろうか?(OS X Server を購入しているならGUI操作で簡単にできることだが)

2013年7月7日時点でAppleCareサポートに電話で確認した限りでは、「クライアント版 OS X を使ってGUI操作でユーザーをグループに追加する方法として正式に案内できるものはない(コマンドラインを使う操作はAppleCareのサポート外)」だそうである。

2013-02-06

起動可能なSDカードを作成する

Macのメンテナンスやリカバリー、OSの再インストールに便利なブート可能なSDメモリーカードの作成方法。 Mac mini Server(Late 2012) + OS X Mountain Lion 10.8.2 での話。

アップルが配布している「OS X 復元ディスクアシスタント」アプリケーションを使用する方法が正攻法だが、こいつで作成されるディスクは今ひとつ使いにくい(おまけに、このアプリケーションMac内蔵のSDカードスロットには書き込めない)ので、これとは別の方法をひとつ。

2013-01-23

Macでも利用できるヘルスケア製品

業務連絡です。先日、話題に上ったパソコンと連携できるヘルスケア製品についてお知らせします。

ウェルネスリンク WellnessLINK というオムロンヘルスケアがやっているサービスがあって、そのWebサイトでいろいろ面白そうな機器が紹介されています。

血圧計、体重体組成計、歩数計、活動量計、体温計、睡眠計などが利用できます。

この手のものには珍しくWindowsだけではなくMac OS Xにも対応していると書かれています。スマートフォン対応ともありますが、あいにくAndroidだけでiPhoneには対応していません。これは、機器との通信にNFCを使っているためと思われます。Bluetooth LEとか使ってくれれば良かったのに。

2013-01-21

ターミナルからスリープを禁止

ターミナルで、実行に長い時間がかかるコマンドを走らせるとき、途中でMacがスリープしてしまうのを防ぐ方法。

OS X Mountain Lion 10.8には caffeinate というコマンドが用意されているようだ。長時間作業に先立って、

$ caffeinate &

としておくと、caffeinateコマンドが実行されている間はスリープしない。caffeinateに引数として実行したいコマンドを渡すという使い方も可能。この場合、指定したコマンドの実行が終わるまでスリープを禁止することができる。

$ caffeinate -dis &

とすれば、ディスプレイのスリープも禁止、システムがアイドル状態になることもなく、脇目も振らずに働いてくれる。

2013-01-12

Qt4.8.4インストールメモ

Qt 5.0.0 のリリースを記念して Qt 4.8.4 インストール方法をメモしておく。

Qt5ではMinGW版がなくなってしまった(?)のと、いままで作ったプログラムがそのままではビルドできない場合があるようなので、MinGWが使えるQt4開発環境の構築方法を忘れないうちに書き残すことにした。

Qtアプリケーション開発では、コンパイラ・ツール(MinGW/g++) + フレームワーク(Qt Library) + IDE(Qt Creator) の3つのコンポーネントを組み合わせて利用する。

以下、Windows 7 SP1上へのインストール手順。Linux(Ubuntu)なら sudo apt-get install qtcreator みたいな感じで済んじゃうし、Macへのインストールは、これといって悩むようなことはないので特記事項なし。

コンパイラ・ツールのインストール

MinGWはMinGW and MSYS Projectsのサイト http://www.mingw.org で配布されている。MinGWに詳しい人は本家からダウンロードするんだろうが、私は面倒なのでQt SDKに同梱されているMinGW 4.4を使っている。

Qt SDK 1.2.1はNokiaのサイト http://www.developer.nokia.com/Develop/Qt/Tools/ で配布されている。ダウンロードにはNokia accountが必要。

インストール時の注意点:

  • モバイル系のSDK(Harmattan, Symbian)など不要なものがいろいろ含まれているので「Please select the type of installation:」ラジオボタンでCustuomを選んで外す。
  • Select Components 画面で、「Deselect All」して一旦全てのチェックを外してから、「MinGW 4.4」だけチェックすればよい(Qt Creatorのチェックは外せないのでそのまま)。
  • インストール後、Qt Creatorを起動してはいけない。ここでインストールされるQt Creatorは古いので使わない。

※もし、SDKに含まれている古いバージョンのQt Libraryが使いたければ、追加しても良い。

Qt Library 4.8.4のインストール

Qt LibraryはQt Project(コミュニティ)サイト http://qt-project.org/downloads で配布されている。

インストール時の注意点:Qt SDKに同梱されているMinGWを使うので、MinGWのパス指定を C:\QtSDK\mingw に変更すること(デフォルトは C:\MinGW になっている)。

Qt Creator 2.6.1のインストール

Qt Creator(IDE)もQt Libraryと同じくQt Projectサイトで入手できる。

インストール後、次のように設定

  1. 「ツール」>「オプション…」メニューを選ぶ。
  2. 「ビルドと実行」>「コンパイラ」タブで「MinGW」を追加する。 C:\QtSDK\mingw\bin\g++.exe
  3. 「ビルドと実行」>「Qtバージョン」タブでqmakeのパスを追加する。 C:\Qt\4.8.4\bin\qmake.exe
  4. 「ビルドと実行」>「キット」タブで、コンパイラ(MinGW)とQtバージョン(Qt 4.8.4)を設定する。

このインストール方法は、もう情報が古くなってしまって使えない(Nokiaは、もはやQt SDK 1.2.1を配布していない)。

Qt 4.8系の最終バージョンである Qt 4.8.7 環境を構築する方法については「Qt4.8.7インストールメモ」を参照。