Author Archives: yamada

晴れときどきMacRubyインストール

0
Filed under Mac, Ruby
Tagged as , , , ,

MacRubyというツールで、Xcode+Rubyという環境でMacアプリを簡単に作れるらしいので、ちょっとどれほどのものか、とりあえずテストプロジェクトのビルドまでをやってみました!
作業環境は、Mac OS X 10.7.3、Xcode 4.3.2、MacRuby 0.10 です。
最近のMacRubyは、Intel 64bitのMac OS X 10.6以上、という環境でないと動かないので注意。

参考サイト

いくつかのチュートリアルページを見て、設定も簡単そうなので、試してみました。

ここを読む限り、簡単に出来そうで始めたわけです。
が!最新事情はちょっと変わっていて、ちょっとハマったので、下記にその解決策も書いておきます。

なにはともあれダウンロード

まず、公式サイト(http://www.macruby.org/)より、インストーラ(.zip)をダウンロードします。

インストーラパッケージ「MacRuby 0.10」をダブルクリックしてインストール。

完了したら、ターミナルで下記のようにコマンドの存在を確認できます。

Xcode 4.3対応

チュートリアルページを見てもこれで完了のハズですが、Xcodeで新規プロジェクトのダイアログを開いても、MacRubyが出てきません

あれ?と思っていろいろ考えてみたら、Xcode 4.3でフォルダ構成がガラっと変わったことを思い出しました。
Xcode 4.2.x までは、 /Developer というフォルダにすべてが入っていたのですが、4.3からは、Xcode.app内に移動したのです。

で、探ってみたら、やはりMacRubyインストーラは/Developer フォルダにいろいろと入れているので、これを移動します。
Finder上でやってもうまくいかないところが出てくるので、ターミナルでsudoコマンドで実行しましょう。
MacRubyがインストールしたのは、/Developer/ 以下の Library、Examplesというフォルダと、binの3つのフォルダ。
まずは下記のように、Library、Examplesフォルダをコピーします。

1
2
$ sudo cpmac -r /Developer/Library /Applications/Xcode.app/Contents/Developer/
$ sudo cpmac -r /Developer/Examples /Applications/Xcode.app/Contents/Developer/

もう一つのbinフォルダですが、この中に入っているのはrb_nibtoolというシンボリックリンク一つです。
シンボリックリンクをそのままコピーすると問題が出てくるので、改めてシンボリックリンクを作成します。
rb_nibtool ですが、 /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/bin/rb_nibtool へリンクが貼られていたので、そのようにシンボリックリンクを作成します。
※このシンボリックリンクがうまく貼れないと、Xcode上で、xibファイルを見るときにXcodeが落ちたりします。

1
$ sudo ln -s /Library/Frameworks/MacRuby.framework/Versions/0.10/usr/bin/rb_nibtool /Applications/Xcode.app/Contents/Developer/usr/bin/

以上でインストール完了です!
改めてXcodeを開いてみると、下図のようにMacRuby Applicationのテンプレートが追加されています!

テストプロジェクトのビルド

ちょっとテストなので、ドキュメントベースでもなく、CoreDataも使わない設定でプロジェクトを作ります。

プロジェクトが作られたら「⌘+R」でそのままビルド、実行できました!

さて、何しよう!?

関連エントリ:exerb

Windowsでも、CUIアプリ(.exe)なら簡単に作れます。
というエントリを以前書いていたので、改めて紹介。

.rbファイルをコンバートし、.exeにする、というものです。
最新版は2011年12月末にリリースされているので、その後もきちんとメンテされているようですね!
オープンソースプロジェクトでメンテナンスって一番重要だと思うので、とても評価できるプロジェクトだと思います。


[AD]

↓ヒレガス氏の著書。結構評判いいらしい。

Mac OS X Cocoaプログラミング 第三版

著者/訳者:Aaron Hillegass アーロン ヒレガス

出版社:ピアソン桐原( 2009-11-01 )

定価:¥ 4,410

Amazon価格:¥ 4,410

単行本 ( 479 ページ )

ISBN-10 : 4894714469

ISBN-13 : 9784894714465


↓英語だけど、比較的新しい著書なので内容は参考になりそうですね!

MacRuby: The Definitive Guide

著者/訳者:Matt Aimonetti

出版社:Oreilly & Associates Inc( 2011-11-03 )

定価:¥ 3,234

Amazon価格:¥ 2,503

ペーパーバック ( 223 ページ )

ISBN-10 : 1449380379

ISBN-13 : 9781449380373


gumroadにアップしてみた:ハガキ宛名印刷の手順

0
Filed under ウェブサービス
Tagged as , , ,

ハガキ宛名印刷について調査し、まとめたPDFがあるのですが、これをどうやって配布しようかと考えて、とりあえずgumroadにて販売してみます!

ハガキ宛名印刷の手順説明書
ハガキ宛名印刷の手順説明書(サンプルデータ付)250円

https://gumroad.com/l/Qnw

内容について

売っているのは、エクセルとかの表計算ソフトでまとまっている住所録を参考に、ハガキ宛名印刷をするまでの流れを説明するスクリーンショット満載のチュートリアルドキュメント(PDF)です。
Microsoft Office、OpenOffice.orgの2通りのやり方を紹介しています。
Microsoft Office編では、Excelのデータ(.xls)を読み込み、OpenOffice.org編では、OpenOffice.org Calcのデータ(.ods)を読み込みます。
サンプル住所録、サンプルテンプレートも入っていて、とりあえず試してみることが出来ます!

お試しくださいー!

gumroadについて

値段を自由に設定できるのはいいですねー。通貨も自由!
ファイルをアップデートしなおしてもURLは変更しないし便利ですね。

ストレージはAmazonを使っているようですが、場合によっては、アプリとかプロジェクトファイルのバックアップとして使えるかも、とか思いついてしまった。
gumroadの規約とか読み込んでないけど、プログラムとか動画のプロジェクトファイルをアップして、高めの値段を設定しておいて。
とか、どうなんだろ?
そんな危なっかしいことするなら普通にDVDとかに焼くか…。

他の売り場

iBooksも考えたのですが、iPadでしか見られないし、iBooksで有料にすると他で売っちゃいけない規約だし。
しょうがないけど、ちょっと厳しいなぁ、と思う。
他のコンテンツがあったら売ってみたいと思います。


[AD]

↓OpenOffice.orgのマクロ(Basic)について、とは、珍しい!

OpenOfficeマクロプログラミング―「Writer」「Calc」「Base」…OOoをBasicで便利に! (I・O BOOKS)

著者/訳者:宍戸 輝光

出版社:工学社( 2009-10 )

定価:¥ 1,890

Amazon価格:¥ 1,890

単行本 ( 159 ページ )

ISBN-10 : 4777514706

ISBN-13 : 9784777514700


↓ルパン三世のBlu-ray。「ルパン8世」パイロット版とか、「ルパン三世 3DCG」パイロット版も入っている!

ルパン三世 Master File [Blu-ray]

販売元:バップ( 2012-03-28 )

定価:¥ 8,190 ( 中古価格 ¥ 4,979 より )

Amazon価格:¥ 6,574

時間:200 分

2 枚組 ( Blu-ray )


QuickDialog:iOSアプリの設定画面をもっと簡単に!

0
Filed under iOS SDK
Tagged as , , , , , ,

iOSアプリで設定画面、と言えば、いわゆる「設定」アプリのような画面なのですが、いざ作るとなると結構面倒なのです!
「設定」アプリ内ならまだしも、アプリ内であの画面をつくろうとすると、、。
そこで便利なライブラリが今回紹介するQuickDialogというオープンソースライブラリ!

ライセンスは商用利用が可能なApache License Version 2.0です。

しかし、断念。。

ある程度プロジェクトに組み込んでから気づいたのですが、このライブラリを使うにはARC(Automatic Reference Counting)必須なのです!
個人的にまだARCに手を出していない上に、既に組み込み済みの他のオープンソースライブラリが逆にARC非対応だったりするので、この制限は厳しい。。
ということで、結局今回は、QuickDialogの使用は諦めました
ですが、便利そうなのは間違いないので、別プロジェクトでチャンスがあれば是非使ってみたい。

参考サイト

↓このライブラリ、プロジェクトに組み込むのがちょっと面倒だったのですがこのQ&Aが参考になりました。


[AD]

↓ARC勉強するならこの書籍!↓

エキスパートObjective-Cプログラミング -iOS/OS Xのメモリ管理とマルチスレッド-

著者/訳者:坂本 一樹

出版社:インプレスジャパン( 2011-11-18 )

定価:¥ 2,100

Amazon価格:¥ 2,100

単行本(ソフトカバー) ( 224 ページ )

ISBN-10 : 4844331094

ISBN-13 : 9784844331094


↓面白そうな!読み物系らしいので、リラックスして読んでみたい。

情熱プログラマー ソフトウェア開発者の幸せな生き方

著者/訳者:Chad Fowler

出版社:オーム社( 2010-02-26 )

定価:¥ 2,520

Amazon価格:¥ 2,520

単行本(ソフトカバー) ( 200 ページ )

ISBN-10 : 4274067939

ISBN-13 : 9784274067938


PullToRefresh:「引っ張って更新」のためのライブラリ

0
Filed under iOS SDK
Tagged as , , , , ,

「テーブルをグイッと引っ張ったらデータをリロード」…もう誰もが当たり前だと思っているこの操作をUITableViewControllerに追加してくれるのがPullToRefreshライブラリです。

商用利用にも安心のMITライセンス

プロジェクトに追加する

まずは、いつものように、Gitで取得。

1
git clone git://github.com/leah/PullToRefresh.git

次に必要な下記のファイルをコピーして、自分のプロジェクトに追加します。

  • PullRefreshTableViewController.h
  • PullRefreshTableViewController.m
  • arrow.png

最後に、必要なFrameworkとして、QuartzCore framework を追加します。

使い方、カスタマイズ

自分のプロジェクト内では、UITableViewControllerの派生クラスとして作られているPullRefreshTableViewControllerクラスを派生させて使います
既にUITableViewControllerを使っているプロジェクトなら、ほんとうに簡単に機能追加ができます
読み込みのためのセルに表示されているメッセージ系は、下記のようにそれぞれプロパティが用意されているのでこれを使い変更できます。

1
2
3
@property (nonatomic, copy) NSString *textPull; // for "Pull down to refresh…"
@property (nonatomic, copy) NSString *textRelease; // for "Release to refresh…"
@property (nonatomic, copy) NSString *textLoading; // for "Loading..."

肝心のリフレッシュ処理ですが、PullRefreshTableViewController.m では下記のようなrefreshメソッドが定義されており、引っ張った後の処理はこれをオーバーライドして定義します。

1
2
3
4
5
- (void)refresh {
    // This is just a demo. Override this method with your custom reload action.
    // Don't forget to call stopLoading at the end.
    [self performSelector:@selector(stopLoading) withObject:nil afterDelay:2.0];
}

別のライブラリ

@xcatsanさんが、実装している同様のライブラリも紹介しておきます。
どうやって実現しているかの詳細な説明があり、ためになります。

「Cocoaの日々」、いつも参考にしています!

特許について:GJ! Loren Brichter

このライブラリを試しているときには気にしていなかったのですが、引っ張ってリロード、という操作方法は「Tweetie」というTwitterクライアントアプリで初めて実装され、その際に特許をとられているそうです。

ただ、特許保持者のLoren Brichterはこの操作方法を他の開発者が使うことは禁止しない、と明言しています。


素晴らしい!!!


[AD]

↓WordPressとの連携とか、GPSとか、チューニング、デバッグ方法まで、素晴らしいノウハウが詰まっている良書!

iPhoneアプリネットワーク+GPSプログラミング

著者/訳者:橋本 佳幸

出版社:秀和システム( 2009-11-19 )

定価:¥ 2,940

Amazon価格:¥ 2,940

単行本 ( 279 ページ )

ISBN-10 : 4798024244

ISBN-13 : 9784798024240


↓バージョンが古く見えるけど、特に問題なく分かりやすい書籍です。

iPhone SDK 3 プログラミング大全 実践プログラミング (MacPeople Books)

著者/訳者:木下 誠

出版社:アスキー・メディアワークス( 2009-09-08 )

定価:¥ 2,940

Amazon価格:¥ 2,940

大型本 ( 416 ページ )

ISBN-10 : 4048679910

ISBN-13 : 9784048679916