07/10/26 13:43:31 4KSSejwH0
RubyCocoa に関するスレです。
Ruby関連スレッドに書くべきか,
Xcode,Cocoa関連スレッドに書くべきか、
迷わないように。
一応見ておく
RubyCocoa Wiki
URLリンク(limechat.net)
RubyCocoaでCocoa本
URLリンク(pub.cozmixng.org)
2:名称未設定
07/10/26 13:59:46 IAiLJerZO
余裕で2ゲット!
〇∧〃
/ >
< \
でもそんなの関係ねぇ!
でもそんなの関係ねぇ!
ちょろすぎてつまんねー
〇∧〃
/ >
< \
でもそんなの関係ねぇ!
でもそんなの関係ねぇ!
3:名称未設定
07/10/26 14:00:07 4KSSejwH0
アプリケーションの終了方法で迷ったので,報告
(終了ボタンを押したらQuitする場合を想定)
def myQuit(sender)
p 'quit'
exit
end
のときはのログです
[Session started at]
"quit"
2007-10-26 13:22:56.452 test[643] UIcontroller#myQuit: SystemExit: exit
/Users/mini/Documents/RubyCocoa/test/build/Release/test.app/Contents/Resources/UIcontroller.rb:56:in `exit'
/Users/mini/Documents/RubyCocoa/test/build/Release/test.app/Contents/Resources/UIcontroller.rb:56:in `myQuit'
/Users/mini/Documents/RubyCocoa/test/build/Release/test.app/Contents/Resources/rb_main.rb:22:in `NSApplicationMain'
/Users/mini/Documents/RubyCocoa/test/build/Release/test.app/Contents/Resources/rb_main.rb:22
reins はステータス 0 で終了しました。
def myQuit(sender)
p 'quit'
exit!
end
のときはのログです
[Session started at 2007-10-26 13:24:48 +0900.]
"quit"
reins はステータス 1 で終了しました。
4:名称未設定
07/10/26 14:03:04 4KSSejwH0
>>3
1番目はRuby的に標準的だと思いますが,変なログが出ちゃう。
2番目は終了ステータスが気になる。
それで,いろいろ調べまくったあげく3番目
def myQuit(sender)
p 'quit'
OSX::NSApplication.sharedApplication.terminate(self)
end
のときのログです
[Session started at]
"quit"
reins はステータス 0 で終了しました。
3番目はOSX::NSApplication...がRubyらしくない。
理想はexitで何事もなく終了というのがいいのだけど
5:名称未設定
07/10/27 16:00:19 G80shHQe0
>>3-4
3番目の方法にしてください。
Cocoaアプリケーション中ではNSApplicationが
GUIアプリに必要ないろいろなことを管理してくれます。
rubyのexitを呼び出すと、NSApplicationの後片付けが正常に
行われずにアプリが終了してしまいます。
6:名称未設定
07/10/27 16:42:40 Xu7LtmZg0
exit
を上書きしちゃえばいいんじゃね?
7:名称未設定
07/10/27 20:16:04 Yesj7zqy0
PyObjC もよろしく
8:4
07/10/28 10:17:07 fq7gCK800
>>5
サンクスです。
Ruby/Tkを使わずにGUIをつける以上,
仕方のないトレードオフってところですかね。
ま,1行ですむから,知ってしまえばどうってことないのですが。
exitを上書きするメリットは極めて小さそうだし。
9:名称未設定
07/10/28 11:31:01 pz+mf1Yr0
RubyCocoaでCoreDataを扱うサンプルはありますか?
URLリンク(journal.mycom.co.jp)
を参考にして簡単なデータベースはできた。
問題は,データの追加・削除をいちいち手動でしなければならない。
データが大量だと事実上無理。
そこでRubyスクリプトで追加・削除・変更ができないものかと。
(例えばCSVデータを基にとか)
直接データベース部分(.xml)をいじるのは,ちょっとまずいかなという感じがして。
10:名称未設定
07/10/28 14:58:50 8eIyZp5A0
>>9
iTunesのライブラリをCoreDataにつっこむサンプルを書いてみました。参考にどうぞ。
#!/usr/bin/ruby
require 'osx/cocoa'
include OSX
require_framework 'CoreData'
# input/outout files
mom_path = 'tunes.mom'
in_path = File.join(ENV["HOME"], 'Music/iTunes/iTunes Music Library.xml')
out_path = File.join(Dir.pwd, 'tunes.xml')
# prepare models and context
mom = NSManagedObjectModel.alloc.initWithContentsOfURL(NSURL.fileURLWithPath(mom_path))
raise "cannot read model!" unless mom
coordinator = NSPersistentStoreCoordinator.alloc.initWithManagedObjectModel(mom)
coordinator.addPersistentStoreWithType_configuration_URL_options_error(NSXMLStoreType, nil, NSURL.fileURLWithPath(out_path), nil, nil)
moc = NSManagedObjectContext.alloc.init
moc.setPersistentStoreCoordinator(coordinator)
# append itunes library items
itunes_lib = NSDictionary.dictionaryWithContentsOfFile(in_path)
itunes_lib['Tracks'].each do |track_id, track|
entry = NSEntityDescription.insertNewObjectForEntityForName_inManagedObjectContext('Track', moc)
entry.name = track['Name']
entry.album = track['Album']
end
# save
moc.commitEditing? && moc.save(nil)
11:9
07/10/29 10:19:06 O6HtIOM10
>>10
どうもです。参考になりそうです。
あとは,Object-Cの _AppDelegete.m,_AppDelegate.hと
Rubyスクリプトをプロジェクト内で,どうやって混在させるのか(できるのか)
がんばってみます。
12:9
07/10/29 10:37:44 O6HtIOM10
Cocoa-Ruby Core Data Application
というプロジェクトに気付きました。
これで良さげです。どうも
13:名称未設定
07/10/30 15:28:52 4yId97LW0
スクリプトでosx/cocoaをrequireしたとき(irbでも)
ruby[740] WARNING: multiple libruby.dylib found: '/opt/local/lib/libruby.dylib' and '/usr/lib/libruby.1.dylib'
ruby[740] RBCocoaInstallRubyThreadSchedulerHooks: warning: rb_set_cocoa_thread_hooks is linked from a different library (/usr/lib/libruby.1.dylib) than ruby_init (/opt/local/lib/libruby.dylib)
のエラーが出ます。/usr/lib/libruby.1.dylibを単純に削除していいものか
アドバイスお願いします。
ruby 1.8.6 (2007-03-13 patchlevel 0) [powerpc-darwin8.9.0]
でMacPortsのインストールです。
なので/opt/local/bin/rubyにあります。
RubyCocoaはソースからだったかバイナリパッケージだったからか
失念しました。
14:名称未設定
07/10/30 16:00:06 siax1pTW0
>1
なぜRubyCocoaなのか?PyObjCスレこそ建てるべきではなかったのか?
PythonとRubyの言語戦争になるのかもしれないが、、、
15:名称未設定
07/10/30 17:18:36 IVgA8VM10
PyObjを別に建てればいいだけの話だろ。一緒にしても良かったと思うが。
16:名称未設定
07/10/30 19:55:16 3wNJSWwn0
どっちのスレも伸びなさそうだけど
17:名称未設定
07/10/30 20:08:54 JMdRWnBC0
複数の言語系が一つのスレの中で入り乱れるよりは、
RubyCocoaでのスレとして発展して欲しいと思うので<
Rubyとpythonは別々にで一票。
Camel Bonesも欲しいとこだけど、需要がないのかな。
今回、cocoa環境に入らなかったのはちょっと残念。
18:♪
07/10/30 20:27:34 WaDTJnBB0
オレは駱駝の骨でがんばってみる.
19:名称未設定
07/10/31 12:17:21 ccssBaBL0
>>13
system の ruby 関連のファイルを消すのは危険。
インストーラーとかで内部で ruby を読んでたりするから ...
>>17,18
CamelBones は単純に間に合わなかったと開発者がいってた気がする
まあ Apple の開発者があまり興味を持ってなかったのかな ...
20:13
07/10/31 12:34:08 b1nta+dw0
>>19
やっぱり危険ですよね。
ということはエラーを見て見ぬ振りをしてやり過ごすか
ゼロからインストールし直すか。
MacPortsでRubyCocoaの最新がインストールできると
いいのだけど,,,願わくば1.0
21:名称未設定
07/10/31 12:47:11 ccssBaBL0
あきらめて leopard 買えば?
22:名称未設定
07/10/31 22:14:01 N+fTnPlN0
>>13
エラーではなく警告なので、そのままでも動作にさほど支障はないと思います。
(ファイルの削除はやめたほうがよいかと...)
状況としては、RubyCocoaフレームワークがリンクしているlibrubyがおかしいようですね。
(1)macportsからrb-cocoa(0.12.0 Leopardと同じ)をインストールする
(2)環境変数 LD_LIBRARY_PATHを設定して/opt/local/lib を最優先させるようにする
(3)コマンドinstall_name_toolでRubyCocoaフレームワークのリンクしているlibrubyを変更する
のいずれかで対応できると思います。
RubyCocoaのバージョンは
ruby -rosx/cocoa -e 'puts OSX::RUBYCOCOA_VERSION'
で確認できます。
23:名称未設定
07/11/01 12:31:13 WKiLYeaB0
ib_actionを書かなくても,ib_outlet中に書いてあれば
エラーになりません。
ib_actionは,不要なのでしょうか?単に読みやすさのためだけ?
例えば,
class MyObject < OSX::NSObject
include OSX
ib_outlet :myField
ib_action :myButton
def myButton(sender)
@myField.setStringValue("こんにちは")
end
end
を
class MyObject < OSX::NSObject
include OSX
ib_outlet :myField, :myButton
def myButton(sender)
@myField.setStringValue("こんにちは")
end
end
としても同じになります。
ちなみに,逆のib_actionだけはエラーになります。
24:名称未設定
07/11/01 22:02:21 1zjd+64a0
Ruby知らんのだけど、
Cocoa/Objective-Cにおいて、IBActionはvoidと等価。
だからRubyではib_actionなくてもいいんじゃない?
25:名称未設定
07/11/02 00:51:46 XqXDUdmm0
>>23
ib_outletは指定した名前のインスタンス変数とsetterを作成するだけで、
rubyのattr_writerとまったく同じです。
ib_actionは
ib_action do |sender|
# perform action
end
のように、Rubyっぽく(?)ブロック記法で書くことができます。
defでメソッド定義するならば不要です。
ただ、ib_outletやib_actionの記法を使うとツールでnibファイルと同期したり
ということができるようになるそうです。
使っていないので詳しくないのですが、Leopardのnibではこのツールが
うまく動かないことがあると聞いています。
26:名称未設定
07/11/02 05:25:57 oLkWuIlT0
,-=;,
{__7!
〔_ラレ ,、_,-‐y; おめでとう!
`y"l rヲレへシ'" 2007年不具合OS!!
iト-ヘ、 (_;フイ r;_/iレソ
l 'ヽ ル || し ン′
ヽ ヽ レ' ||! >>ジョブズ 人_フ
V ヽ, | |.| r‐-、=‐-、 _/ /
ヽ ヽ, ト = }{i y=‐'~Y__ 〉 / /
`i 、, ヽ, }- ルハjト'`_ント∠-r'" シ´
V `;| i∨  ̄~7 ン〈___/
V丶 | リ >, ( <_/ ,_
ヾ { ソ レ ン ;_ン'" ,r"<rn ゞミヽ
ゝ、ゝ = 〃ソノ__/ / y'"J | \` ヽ
rn, rfレ`ー-=-‐''~ ̄ /`7 `、| ヽ-'ヽ
rJllル7 rnh; l´ ´'リ ,rn / r'ン==ト、!__ V ヽ
〉__ソ ヾヽ``ij'l 〉 /、,ハjjj し'l mhレ' /f" |リレ7,,m〉 | |
| { rfjn ,;'V _ン',/ //〉r>,、__//リリ ト 〈 }'=‐' ソ 〉トii,_/ j
.| i _,-;ゝ_ソ {' ' 'V V /'ハ~ ' ノヽ ヽ,;ヾ レ'⌒jー'-ン Λ'ー'~ヽ, /
! V;;;ゞ''~ ̄ヽ_〉_j,;| ヽ/レ_>' ラ';;/;-‐-{〉⌒|! / / 〉"
27:名称未設定
07/11/02 15:02:52 YdX2mYeQ0
Core Dataで,各行(レコード?)のデータそれぞれの処理を考えてます。
@managedObjectContext.registeredObjectsとするとNSCFSetが返ってきます。
例えば返り値をArrayにしてイテレータで処理するみたいにイメージしているのですが,
NSCFSetに含まれているはずの各行に応じたオブジェクトを,どうやって取得すればよいのかが解りません。
どうぞよろしく
28:27
07/11/02 15:46:15 YdX2mYeQ0
URLリンク(palm.mods.jp)
を参考にしました。
29:名称未設定
07/11/03 01:36:04 1PfPcUJH0
>>27
NSSet(NSCFSet)のallObjectsというメソッドで同じ内容のNSArrayを得ることができます。
NSArrayはRubyのArrayクラスと同じようにeachが使えるようになっているので
@managedObjectContext.registeredObjects.allObjects do |entry|
# 1件ずつの処理
end
と書けます。
30:29
07/11/03 01:37:39 1PfPcUJH0
ごめんなさい、each抜けてました
@managedObjectContext.registeredObjects.allObjects.each do |entry|
# 1件ずつの処理
end
です。
31:名称未設定
07/11/03 15:07:48 mzlMzrSe0
PerlObjCBridge ってのがはいってるのをみつけたけど、
これって Tiger のときからあった?
man ページの日付は 2007-2-9 だから Tiger のはじめからはついてなかったのかな?
スレ違いだったら失礼
32:名称未設定
07/11/03 16:04:23 8o/9SHHU0
>>31
URLリンク(www.apple.com)
スクリプティングブリッジと関係あるんじゃないですか?
なので,多分Leopardからだと思う。
AppleScriptの代わりにRubyOSAが使えるっていう噂はどうなったのだろう?
標準で使えるなら,Rubyで他のアプリを操作できるものを作れるってことだから,
かなり楽になるかも
33:名称未設定
07/11/03 17:11:29 x0ahP+Zd0
この辺か。
URLリンク(developer.apple.com)
難しすぎてよー分からん。
34:名称未設定
07/11/04 01:58:09 hRwgY5Fp0
そのページよりは
URLリンク(developer.apple.com)
のほうがよみやすいとおもう
URLリンク(developer.apple.com)
のあたりにサンプルスクリプトがのってるよ
35:名称未設定
07/11/05 10:16:35 1SVboA+P0
>>32
33,34のページを読むと,Scripting BridgeとRubyOSAとは一応別。
Scripting BridgeはRubyCocoaの方法で,使えるみたい。
ま,結局Objective-Cの書式をちょっと細工しなければならないので,
むちゃくちゃ長いメソッド名になって,読みづらいけど,
それでも,Leopardであれば、そのまんま使えるって感じ。
RubyOSAはライブラリをインスコする必要あり。
書式的にはよりRubyっぽいかな。
でもLeoprd以降は,あえてインスコしてRubyOSAを使うメリットが下がったような...
RubyCocoaと同じ作法だということで,RubyのScripting Bridgeはこのスレでもいいんじゃない?
PerlObjCBridgeはどこぞでやってくれ
36:名称未設定
07/11/05 15:08:43 7kihdIt/0
>>30
ありがとうございます。レスが遅くなりがちですが,
なにぶん,初心者で消化するのに時間がかかってるもので,
ご勘弁を^^;
さらに質問です。
テーブル(NSTableView?)で選択されてるレコードに処理を施したいと考えてます
(例えば選択されたNSManagedObjectについてputs obj.valueForKey(:name).to_sみたいに)
NSArrayControllerクラスを扱えばよいはずですが,MSManagedObjectContextに応じた,インスタンスをどう作ればよいのか解りません。(ていうかこの理解のでいいのだろうか?)
どうぞよろしく。
37:名称未設定
07/11/06 20:37:35 VT9fW9NU0
>>36
もうテーブルビューに内容を表示しているのであれば
NSManagedObjectContext->NSArrayController->NSTableViewという順にデータが
渡されるようにInterface Builder上で構成していると思います。
そのNSArrayControllerをアウトレットなどでコードから見えるようにすれば
よいのではないでしょうか。
38:名称未設定
07/11/12 17:06:37 xE1AYe8N0
Rubyで作れるのはアプリケーションだけ?
コマンドラインのスタンダードツールとか
何かの(ファイルメーカとか?)プラグインとかはいまのところ
Rubyでは無理?
インタプリタだから仕方ないのかもしれないけど
39:名称未設定
07/11/13 13:51:57 FqkHEGEu0
URLリンク(edotprintstacktrace.blogspot.com)
を参考にしてるのですが,
NSTableのインスペクタを表示できないのです。何かこつがありますか?
どうしてもNSTableViewかNSScrollViewしか表示できないんです。
NSTableViewのインスペクタ中にも"Controller Content Parameters"
というのはないです。
(Action Invocation, Avalability, Font, Table Content, Parametarsしかないです)
40:名称未設定
07/11/13 21:21:16 8AvKxq5C0
>>38
コマンドラインツールだったら、普通にRubyで作れるんじゃないか?
プラグインに関してはよく分からない。
41:名称未設定
07/11/13 22:35:43 xpZPKGhq0
>>38
コマンドラインツールはLeopardならサンプルが
/Developer/Examples/Ruby/RubyCocoa/Scripts
に入っています。期待されているものとちょっとちがうような気もしますが..
プラグインはCocoa/Objective-Cで書けるものなら作ることができると思います。
ただ、以下の点に注意が必要です。
・スレッド関係のパッチの当たったRubyでないと不安定になります。
LeopardのRubyではパッチ適用済みです。
・Ruby 1.8はプロセスで複数のインタプリタを持つことができません。
複数のRubyCocoaプラグインがあるときクラス名など名前空間に注意してください。
以前にTextMateのプラグインを作りたいという要望があって、バンドルが作成できるよう
対応したはずです。
42:名称未設定
07/11/13 22:48:19 xpZPKGhq0
>>39
NSTableというクラスはありません。
リンク先ではおそらくNSTableViewのことを指していると思います。
Controller Content ParametersはNSArrayControllerのインスペクタにあります。
43:名称未設定
07/11/17 13:49:09 2mus8QxE0
RubyCocoaに関する初心者向けの情報が少なすぎ...
Rubyは解るけどObj-Cは解らん,でもCocoaを使いたい
っていう人向け、がないんだよね。
Obj-C解ってるよ,へぇRubyでも使えるようになったんだ,じゃ使ってみようかな,
っていう人向け、はそこそこあるんだけど。
44:名称未設定
07/11/17 16:44:57 boskS6O+0
だってRubyCocoaってそういう人たち向けに作られたものだし。
45:名称未設定
07/11/17 18:38:02 rMOsv6rN0
>>43
Objective-C で解説された Cocoa の本を買って、
Objective-C の部分を適宜 Ruby に脳内変換すればいいだけ。
URLリンク(pub.cozmixng.org)
46:名称未設定
07/11/18 06:38:44 xb1Ii9wH0
>>43
Ruby わかってるひとは Obj-C の文法わかるまでに一時間かかりません
とくに Leopard で GC on にすれば。
正直普通に Obj-C を勉強するほうがはやいとおもわれ。
そのほうが文献おおいし。
あとはふつうに ADC にある Obj-C で Cocoa のチュートリアルとか読めば ok
47:名称未設定
07/11/18 06:43:54 xb1Ii9wH0
というか、>>43 がきにしているのは、言語としての Obj-C そのものというより、
Cocoa の作法のことなのかという気がしてきた。
target/action とか、IBOutlet とか、delegate とかそういうことか。
たしかにそういう概念を RubyCocoa つかって解説したのはみたことないなぁ ...
う~む。
まあ Obj-C 怖くないからやってみろ。C 系といっても malloc いらないし。
48:名称未設定
07/11/18 13:44:45 htLN6FJS0
Cでよく躓くところってmallocじゃなくね?
49:名称未設定
07/11/18 14:07:41 N7BrJO440
もともとRubyでずーっと仕事やってきたけど、Objective-C楽しいよw
50:名称未設定
07/11/18 14:18:22 xb1Ii9wH0
>>48
Ruby しかしらないひとにとって何が問題なんだろう?
ポインタ演算とか?Obj-C はまあオブジェクトはポインタだけど、
C 的なポインタ演算は滅多にしないよね。
NSString は unicode で char* みたいな問題もないし ...
51:名称未設定
07/11/19 07:11:19 OGCWE6a+O
試しにコード書いてみたら、
全然Rubyらしくないコードになってワロタw
MacでやるならObj-Cが一番ってことだな。
52:名称未設定
07/11/20 00:05:20 1gnj21oG0
Obj-Cがベストだね。
でも,>>43の気持ちもわからなくもない。
PythonやRubyでも使えるようにしたのは,
裾野を広げる意図があった筈。
PやRを使うのに,Obj-Cを習得しなければならないなら,
効率は悪いっしょ?P使いやR使いが即戦力になるってのは,
Obj-Cの教育費を払わなくてていいからね。
ツーことでRubyCocoa版HMDTみたいなのがあっても,
いいんじゃね
53:名称未設定
07/11/20 00:11:05 MoGJif+l0
質問があります。
私はRubyもObjective-Cも素人です。
Image I/Oの機能を使ってみようとしたのですが、
require_frameworkの指定の仕方がうまくないのか
思ったように使えません。
恐らく、Objective-Cの方の
#import <ImageIO/ImageIO.h>
に対応する何かがあるのだと思うのですが、
探しきれませんでした。
「プロジェクトに追加」でApplicationServices.frameworkを追加して、
OSX.require_framework 'ApplicationServices'
OSX.require_framework 'ImageIO'
などを指定してみましたが、うまくありませんでした。
どのような宣言をすれば良いのでしょうか。
(oc_import.rbをCoreGraphicsの例に習って(内容を理解しきれず)書き換えて
p KCGImageStatusComplete
で値が出る所までは来ましたが、これはスマートじゃないよなぁと…。)
54:名称未設定
07/11/20 11:25:48 uQFO4pIX0
バインディングでお尋ね
NSArrayController InspecterのBindingsで
Controller Content Parameters中のSelectionIndexes をバインドしたいのです
が、Bindチェックボックスがイネーブルになりません。
Bind toにはAppDelegateを選択してます。Xcodeがはじめから用意したクラス。
ためしに新たにインスタンスMyObjectを作成してもみましたが,だめでした。
Shared User Defaultsだとバインドできるのですが,全然目的が違うので,代用になりません。
何か,見落としがあるのでしょうか?ご教示願います。
55:名称未設定
07/11/20 15:47:15 gY7LRHQR0
Xcode 2.5(OSX 10.4.11)をインストール後
RubyCocoa-0.12.0-OSX10.4universal.dmgをダブルクリックしてインストールしましたが
「ファイル」→「新規プロジェクト」でCocoa-Ruby Applicationが出てきません。
なにか他に手順が必要なのでしょうか?
56:名称未設定
07/11/20 22:46:58 eb7SDfk00
XCode 3.0でRubyCocoaのサンプルアプリを作って実行しようとしたのですが、動きません。
「ビルドして進行」を押すと、下に
Simple App exited with status 1. The Debugger is still running.Use 'Restart' to debug again.
とでできます。
コンソールを見ると
/Library/Frameworks/RubyCocoa.framework/Resources/ruby/osx/objc/oc_wrapper.rb:17:in `ocm_send': AppController#ib:action: - methodSignature is nil.
などというメッセージが出てきます。
同じ現象になった人いますか?
57:名称未設定
07/11/20 23:14:18 orruJM3j0
>>56
/System/Library…でなく、/Library…なところをみると
TigerでRubyCocoaを入れて
そのままLeopardに移行してきたとかですかね。
(私の時のメッセージは覚えてませんが、
というかコンソール見てなかった)
私の場合はTigerで入れた奴が悪さしてるぽくて
(恐らく/Library/Frameworks…な奴ら)、
取り敢えずそれを破棄したら
LeopardのXcode3.0で動作がまともになったことはあります。
が、どういう破棄の仕方が正しいのか良く分かりません。
58:53
07/11/21 00:25:21 3rNKU+Zk0
ImageI/Oを使う件ですが、
oc_import.rbとにらめっこして
OSX::NSBundle.bundleWithPath,
OSX.load_bridge_support_signatures
辺りを使う事によって
p KCGImageStatusComplete
で0を吐き出す所まではたどり着けました。
もちっと精進してみますです。
59:56
07/11/22 00:04:01 w5uE4B2n0
>57さん
ビンゴです。TigerでRubyCocoaを入れてLeopardにアップグレードしました。
/Library/Frameworks/Ruby.frameworkをリネームしたら、うまく動作しました。
ありがとうございました。
60:名称未設定
07/11/22 00:34:47 uOZy8n7N0
>>55
Xcode 2.5でテンプレートの場所が変わったようです。
/Library/Application Support/Apple/Developer Tools/Project Templates/Application/Cocoa-Ruby Application
などがプロジェクトテンプレートとしてインストールされます。
それらのファイルを
/Library/Application Support/Developer/2.5/Xcode/Project Templates/Application/Cocoa-Ruby Application
などと移動すれば利用できると思います。
61:60
07/11/23 11:30:05 YqFwUebX0
>>55
Xcode2.5用のプロジェクトテンプレートのインストーラを用意しました。
お手数ですが、これもダウンロードしてインストールしてください。
新規プロジェクトでRubyCocoaのものを選択できるようになるはずです。
URLリンク(sourceforge.net)
のRubyCocoa-0.12.0-Xcode2.5-Templates.dmgです。
62:名称未設定
07/11/25 10:28:57 C31mkAz20
>>61
ありがとうございます。
無事確認できました。
63:名称未設定
07/11/26 23:54:31 +os7QjeM0
0.13.0に上がったみたいよ
はやくgemsでアップデートできるようになるといいなぁ
64:名称未設定
07/12/13 23:58:29 5V/68Lyl0
Python勉強中の俺が颯爽と保守
65:名称未設定
07/12/18 20:08:30 n9tTjHhr0
質問です。
PyObjC 1.3.7 for Python 2.3を現行のTigerにインストールしました。
IDEはXcodeを使用しています。
新規プロジェクトからPyObjC Applicationを選択し、
アプリケーションをビルドすると、実行形式がPPCとなってしまいます。
実行形式がUniversal Binaryとなるように修正するにはどうすればよいでしょうか?
出力されたMy Application.appのInfo.plistを見ると
py2appの項目がバージョン0.2.1になっていますが、これが何か関係あるのかどうか・・・
よろしくおねがいいいたします。
66:名称未設定
07/12/18 23:23:47 UJxqUidi0
>>65がスレ違いなのは>>64のせい
67:名称未設定
07/12/18 23:34:35 8K1Hiphd0
>>65
じゃあ責任を取って回答するか
URLリンク(alienghic.livejournal.com)
68:名称未設定
07/12/19 13:04:39 tljKMRq20
Pythonで唯一羨ましいのは、パイという響きだけだね。
69:名称未設定
07/12/19 20:32:19 mGgB9Fs20
>>65
どうもありがとうございました。
>>66
PyObjCはマイナーなのでRubyCocoa陣営の仲間に入れてやってはもらえませぬか
たぶん専用スレ建てても保たないだろうと思います。
70:名称未設定
07/12/19 22:52:50 SHi/TgGR0
昔からPythonがどうにも好きになれない俺としては…まぁ良いけど
ここに書いても Python な人は来ないと思うぞ。
71:名称未設定
07/12/20 10:45:16 9C5JmvhT0
江島健太郎 / Kenn's Clairvoyance
MacにRailsをゼロからインストールする一番簡単な方法
URLリンク(japan.cnet.com)
Leopardには初めからRails入ってるけど、それに触れないのはなぜ?
72:名称未設定
07/12/20 11:30:04 FbrUaxRs0
本人に言えよw
73:名称未設定
07/12/20 21:38:21 aGMEnGl20
>>江島健太郎 / Kenn's Clairvoyance
この程度の人にでも、記事が書けるのか?!
74:名称未設定
07/12/20 22:32:41 zTvXEaKn0
公開してからあわてて書き換えたみたいだなー
UPDATE がいろんなところに。。。
75:名称未設定
07/12/24 16:26:54 31ZcAf380
>>73
そりゃ、だれだって記事くらい書けるよ。
おまえには無理だろうけどなw
76:名称未設定
07/12/25 18:43:44 vLQk/yyw0
記事っていうかブログっていう体裁になってるけどね
77:名称未設定
07/12/28 00:29:10 dtTo/BSh0
>>73
>この程度の人にでも、記事が書けるのか?!
修辞疑問文。意味は「この程度の人は、記事を書く
べきでナイ」
cf. Who knows? ==> Nobody knows.
78:名称未設定
07/12/28 07:12:33 ncpRqPb6O
羞恥age
79:名称未設定
07/12/28 07:13:34 ncpRqPb6O
まぁ年末年始にはよくあることだ
80:名称未設定
07/12/28 08:01:40 sb5vhpU10
XcodeをつかってPyObjCのアプリケーションのビルドと自動実行までできた~(^o^)/
新規カスタム実行可能ファイルの設定がミソだった。
81:名称未設定
07/12/29 07:43:03 Vazt03qm0
うんうんよかったね
みんな初めはそうだよ
82:名称未設定
07/12/29 11:30:18 nRUO5dQz0
>>80
おそらく,似たような初心者がゴマンといるから,
そのミソとやらを書いておくと,このスレも健全に延びて行くぞよ。
83:80
07/12/29 14:03:36 2P2X6WmH0
>>82
Objective-Cアプリの様に、ビルド&ランを一発で行える環境がほしかったんです。
新規カスタム実行可能ファイルメニューから
My PyObjC.xcodeproj/build/Debug/My PyObjC.app
のようにビルドされたアプリを選択すれば、自動実行できました。
84:名称未設定
08/01/07 11:08:05 6p5pFbow0
保守
85:名称未設定
08/01/14 16:13:39 kxCMZM750
NSFormのフィールド数を増やすのを調べるだけで2時間かかったワロタ
optionキーで延ばすのかよwww
86:名称未設定
08/01/15 02:01:41 nkNypgn80
mac はオプションキーおしながらなにかするといろいろ
変な機能があったりするので
無意味に option おしてみるのがオヌヌメ
87:名称未設定
08/01/15 22:19:02 Si5XKA8H0
>>
88:名称未設定
08/01/26 08:42:33 EROT7D7p0
RubyCocoaでMac版Winnyを作れそうですね。pynyからソース引っ張ってきて。
89:名称未設定
08/01/26 09:28:32 42x0AZNA0
pyny というなら PyObjC のほうではないかと ...
というかプロトコルが割れてるんだから別にどんなプログラミング言語でも
好きなようにつくればいいのではと思われる
90:名称未設定
08/02/05 07:12:55 V59gPv4tO
Io保守Language
91:名称未設定
08/02/06 20:59:41 68HZpCuTO
ドキュメントにPagesフォーマットがあってワロタ
92:名称未設定
08/02/10 16:41:54 2GbGFtPY0
Java一筋永谷園だったおいらからすればRubyCocoaは別世界です
C言語で挫折したせいもあって、Obj-CはCの中でも簡単とはいえ、ちょっと引いてしまう
93:名称未設定
08/02/10 21:30:37 H10pNU8z0
「Cの中でも」って表現はエンジニアとしてやばい気がする
94:名称未設定
08/02/10 23:36:07 Ttqe3MTD0
そもそも C言語で挫折云々という話にエンジニアも何もないような。
95:名称未設定
08/02/11 00:01:59 9y1algFN0
スレ違い・・・
96:名称未設定
08/02/17 15:34:58 cXaOS69U0
URLリンク(limechat.net)
ここみてるんだがTigerでXcode2.5なんだが、ライブラリパレットにあたるのがどれかわからない。
ぐぐってもみつからなかったようなので教えてくれ。先にすすまない。
97:名称未設定
08/02/17 22:49:08 URAWBCpB0
要するに、AppControllerのインスタンスをnibに追加したいってことでいいのかな?
手元の環境をすべてLeopardにしちゃったから手元で確認できないんだけど、確か
以下のような感じだったかと。
1. InterfaceBuilderの.nibを表示しているウィンドウ上で、Classesタブを選択
2. クラスのリストが表示されるのでNSObjectを選択
3. メニューバーのClassesからSubclass NSObjectを選択
4. 新しくサブクラスが作られるのでクラス名を適当に変更
5. outletやactionが必要なら適当に追加
6. メニューバーのClassesからCreate Files for XXX(自分で付けたクラス名)を選択
7. メニューバーのClassesからInstantiate XXX(自分で付けたクラス名)を選択
このあたりは2.5と3.0で大きく変わっちゃったところだね。
手元で確認できないうえに、2.5でRubyCocoa使ったこと無いから嘘書いてたらご
めん。
98:名称未設定
08/02/29 15:03:31 dMubfKRY0
アップグレード時のトラブルです
OS 10.4.11/Xcode2.5 でRubyCocoa-0.13.2-OSX10.4universal.dmg
をダウンロードし、
アップデートでインストールしました(以前のヴァージョンは忘れました)
Xcode起動後新規プロジェクトを作ろうとすると、
ruby関連の物が一覧に出てきません。
インストーラpkgの中を見てみて、
postflightという物がインストール作業をしている物でしょうか?
ここには
srcfile = File.join('/Library/Ruby/Site/1.8/universal-darwin9.0', 'rubycocoa.bundle')
とあって、実際Archive.pax.gzを展開した中身もuniversal-darwin9.0の様です。
darwin9.0は10.5だった様な気がするので、このあたりが原因でしょうか?
正常にインストールされたなら、なにがどこにあるべきか、
など分かる方いらっしゃいましたら御願いします。
99:名称未設定
08/02/29 15:12:56 dMubfKRY0
追記irbでsitearchdirはこうなりました。
irb(main):001:0> require 'rbconfig'
=> true
irb(main):002:0> p Config::CONFIG['sitearchdir']
"/usr/lib/ruby/site_ruby/1.8/powerpc-darwin8.0"
=> nil
ファイルは一応それらしい所にあるようです。
% ls -al /usr/lib/ruby/site_ruby/1.8/powerpc-darwin8.0/
total 80
drwxr-xr-x 3 root wheel 102 Feb 28 22:12 .
drwxr-xr-x 8 root wheel 272 Feb 28 22:08 ..
-r-xr-xr-x 2 root admin 37308 Feb 14 03:40 rubycocoa.bundle
% ls -la /usr/lib/libruby*
-rwxr-xr-x 1 root admin 2022544 Aug 10 2007 /usr/lib/libruby-with-thread-hooks.1.dylib
lrwxr-xr-x 1 root wheel 42 Jan 11 14:52 /usr/lib/libruby.1.dylib -> /usr/lib/libruby-with-thread-hooks.1.dylib
-rwxr-xr-x 1 root wheel 740408 Jan 11 14:47 /usr/lib/libruby.1.dylib.original
lrwxr-xr-x 1 root wheel 15 Dec 9 2006 /usr/lib/libruby.dylib -> libruby.1.dylib
100:名称未設定
08/02/29 20:39:43 4/6yJ8Dp0
>>98
プロジェクトテンプレートがまちがった場所にインストールされています。
/Library/Application Support/Developer/3.0
の3.0を2.5に変更してください。
もしくは、0.13.0を一度インストールしてから0.13.2で上書きしてください。
Archive.bomでdarwin9.0にインストールされたrubycocoa.bundleを
postflightでdarwin8.0に移動します。
ですから、rubycocoa.bundleは正しい場所にインストールされているはずです。
101:98
08/03/01 12:18:59 H9eXm3CC0
>>100 ありがとうございます 空爆後の処理だけしか見てなかったという事ですね。
名前を2.5にしたらひとまず選択肢に現れてくれました。これから勉強です。
>>96 同じ所で前回つまずいて投げたのを思い出した。
今回もう一度挑戦するにあたり、もう少し調べてみた。
rubyだけでGUIアプリが作れるかなと思ったけど、GUIアプリ作った事無い初心者かつ10.4という
状態ではさすがに少しはobjective-Cもかじらないとチュートリアルさえ理解できないみたい。
アップルの日本語チュートリアルは既にxcode3.0になってしまっているので、
URLリンク(homepage.mac.com)
ここのBecome An Xcoder がまだ2.5(?)対応のうちに素早くダウンロードする事をおすすめ。
102:名称未設定
08/03/03 09:09:02 22NAIdX+0
>>97 を参考に10.4/Xcode2.5でのチュートリアル補足
1. InterfaceBuilderの.nibを表示しているウィンドウ上で、Classesタブを選択
2. クラスのリストが表示されるのでNSObjectを選択
3. メニューバーのClassesからSubclass NSObjectを選択
4. 新しくサブクラスが作られるのでクラス名を適当に変更(チュートリアルに従うならAppControllerとシル)
5. outletやactionが必要なら適当に追加
5-1. MainMenu.nibウインドウClassesタブを選択。AppControllerを選んだ状態でインスペクタを表示する
(コマンド+シフト+i)
5-2. インスペクタ窓の一番上のポップアップメニューでAttributesを選択
5-3. OutletとActionというのがあるのでOutoletを選択し、下のAddをクリック。
5-4. アウトレットの名前をwindowとする。
6と7は順番がどうあるべきか分からなかったので、このように
7. メニューバーのClassesからInstantiate XXX(自分で付けたクラス名:ここではAppController)を選択
6-1. そうするとMainMenu.nibウインドウがInstancesタブに変わるので、もう一度Classesを選び直す
6-2. AppControllerが選ばれている事を確認し、
7. Create Files for XXX(自分で付けたクラス名:ここではAppController)を選択
7-1. なんかどこに保存するか聞かれるが、とりあえずそのままChooseしておいたらいいと思う。
8. MainMenu.nibウインドウのInstancesタブに変更してリンクを貼る作業
8-1. ctrlを押しながらAppControllerからwindowにドラッグ
8-2. インスペクタが出てきて、さっき設定したoutletsが選べるようになっているので、それをConnect
確認方法は知らない。
103:名称未設定
08/03/03 09:25:00 22NAIdX+0
>>102 続き
コントローラクラスの編集は、Xcodeに戻って、AppController.rbを選んで行う。
(AppController.hやAppController.mではない)
104:名称未設定
08/03/03 14:22:14 22NAIdX+0
>>102 Create Filesがいらないステップなのか?無くても動いた。
あと、QuartzComposer のデモを動かしてみる、の項は
10.4ではqtzファイルの場所が違うので黒い窓が出るだけで動かない。
"/Developer/Examples/Quartz Composer/" +
"Compositions/Graphic Animations/Cube Replicator.qtz"
を
"/Developer/Examples/Quartz Composer/Motion Graphics Compositions/Cube Replicator.qtz"
にしたら動いた。
105:100
08/03/04 00:00:21 u69cuqPq0
10.4用の修正版インストーラ用意しました(人柱用)。2.1MB。
試した人がいたらレポートいただけるとうれしいです。
問題が見つからなければ、これでリリースします。
URLリンク(rubycocoa.sourceforge.net)
106:名称未設定
08/03/04 16:58:56 4iRHsMRO0
>>104 チュートリアル終了(googleサーチ以外)
色々初心者がいくつか思った事などとりとめも無く。
計算機のselectedItem.titleはtitleOfSelectedItem でも大丈夫だった。
@xText.stringValue.to_s.to_fが@xText.stringValue.to_fでも大丈夫だった。
インクリメンタルサーチでちょっと詰まった
"テキストフィールドから AppController に Ctrl+ドラッグして、delegate アウトレットで"
が、なぜアウトレットなのか。
はじめは計算機の要領でアクションにdelegateを作ってそれにつないだら、
一応動くけど、エラーも出てきた。
Could not connect the action delegate: to target of class AppController
など。
どうもinterfacebuilderの作業がおかしいようだと、付けたり外したり。
件の文章に気がついてもタイポではないかと思ってアウトレットの方は見てなかった。
結局delegateとは何ぞやとググったら、なぜかこれはアウトレットでつなぐ物らしいと。
かつ、はじめから用意されているではないかと。
初心者にはこの辺が難しいのかもしれない。
アップルのチュートリアルもぼちぼち見ていこうかな。
>>105 PowerBookG4/OS 10.4/Xcode2.5/RubyCocoa-0.13.2の状態からインストールしました。
新規プロジェクトから適当に作ったもの、およびサンプルのMiniBrowserをビルドしてみましたが、
特に問題は見当たらないようです。
107:100
08/03/06 22:14:44 cUB9Ocp/0
>>105
ありがとうございます。0.13.2.1リリースしました。
108:100
08/03/06 22:15:10 cUB9Ocp/0
おおっと >>106 ね。
109:名称未設定
08/03/07 07:22:48 AnQeBV7G0
チュートリアルのサイトも最新版に合わせて更新してほしいな
古すぎてそのままやっても動かん。。。
110:名称未設定
08/03/08 00:43:31 RSFfiKEf0
Objective-CベースのRuby実装「MacRuby」が登場
URLリンク(journal.mycom.co.jp)
Leopard以降はこっちが主流になっちゃうのかな
111:名称未設定
08/03/08 03:48:22 HzyekJdN0
>>110
Leopardに標準搭載されることはないと思う。
もし搭載されるなら10.6からだろう。
でも、これが標準搭載されたら、もう、MacRuby以外で
書く理由がまったくなくなるよな。すごすぎるよ。
112:名称未設定
08/03/08 10:19:23 C91wOQWN0
>>111
なぜ「MacRuby以外で書く理由がまったくなくなる」のかを
このヘタレめにお教え下さい。
113:名称未設定
08/03/08 12:23:07 BHvX3Mle0
>>109 なにっ、あれでも古いのか?
こっちは新しすぎて苦労した。
チュートリアル書く人も、
新しい、いや古過ぎる、と言われて大変だな。
どこでどうなったとか書いてくれたら、
チュートリアル各人とか、
ほかに同様に詰まった人とかも助かるかもしれない。
まあ、めんどくさいというのなら無理に勧めないが。
114:名称未設定
08/03/09 10:05:24 8yztwNJP0
>>111
速度面ではObjective-CやC++を使うメリットはまだまだあると思うが。
115:名称未設定
08/03/09 10:34:31 qByZEO6i0
111 は単に RubyCocoa と MacRuby を比較したのでは?
116:名称未設定
08/03/09 11:23:17 8yztwNJP0
そっか、それなら納得。
117:111
08/03/10 05:56:24 BzdH52Du0
>>114
低レベル言語(ってObjective-Cを呼ぶのはかなり無理があるが)で書くことによって
速度を稼げるタイプのコードがどのくらいあり、それがどれくらい重要かによるよな。
フレームワークの中はネイティブコードなので、MacRubyを使うデメリットは
Rubyコードの実行とRubyからの呼び出しのオーバーヘッドがどのくらい負担になるか
で、おれは多くのアプリでそれは誤差の範囲だろうと思って>>111を書いた。
LimeChatという素晴らしい例もあるしね。あれは一部Objective-Cで書いてあるけど、
速度を稼ぐためではなく、単にRubyCocoaで書けないからだと思うので、MacRuby
が標準搭載されたら、全部MacRuby化もあるんじゃないか。
MacRuby以降は、どうしても速度が必要な計算アルゴリズムだけをObjecte-Cで書いて
バンドルして使うってのが当たり前になるんじゃないか、と。
118:名称未設定
08/03/10 09:49:58 PooR7Pns0
正規表現が標準搭載でないことを除けば、
Obj-C で充分書きやすいとおもうのは僕だけ?
情けないながら Ruby つかいこなしてないけど。
119:名称未設定
08/03/10 11:18:58 PwZtS3JJ0
書きやすいかどうかってのは人によるという結論しか導けないと思うけど、
パフォーマンスを追求するハイエンドのアプリを作るプロとしての意見なら、
なにかこれって言う物があるかもしれないね。
120:名称未設定
08/03/10 23:32:46 vOd+TKMH0
好きなほうを使えばいいんじゃないでしょうか。今までのように混ぜることもできるし。
パフォーマンスに関して言えば、int/float/structのような非idについては
オブジェクト変換のオーバーヘッドはそこそこ残るはず。BridgeSupportもまだ残る。
でも、117が言うように多くのアプリでは問題にはならないと思う。
10.6に搭載されるにはそれより前にRuby1.9.1がリリースされていないと
難しいんじゃないかなあ。
121:名称未設定
08/03/11 20:59:37 BfH1dqPu0
ObjectiveC++が最高よ
ただNSValueにC++のクラスが入れられないのが不満かな
122:名称未設定
08/03/12 23:04:04 /i3s+ldu0
Pythonからもなんかキター!
URLリンク(www.moongift.jp)
URLリンク(code.google.com)
微妙…
さっき知ったんだけど、iTunesStoreのTechnologyに
Sowtware How-Toなんてのがあんのね。
ScreenCastとかもあるし結構勉強になりそう。
123:名称未設定
08/04/05 23:47:55 wRC4Vu8S0
mdimporterをRubyで書けたら便利だなーと思って探してたら、
こんなページを発見。
URLリンク(www.yoshidam.net)
ソースを見てみたけど、要するにCにRubyインタプリタを
組み込むときと同じ手順になるわけですね。
ただ、定型的なコードとはいえ、やっぱりごちゃごちゃ
してしまう。MacRubyでも基本的には同じことなんだろうか?
124:名称未設定
08/04/22 23:24:14 dmGLgzUY0
保守
125:名称未設定
08/06/07 09:06:51 nS4tuohSO
昨日、初めてRubyCocoaやってみたけど手軽さに感動しました。
ただ、やってみて気になったこと。
1.命名規約
メソッドや変数名の命名はRuby流の単語間アンスコ区切りではなく
Cocoa流の単語間大文字の方がよさそう?
2.PureRuby+Cocoaバインディング
PureRubyで書かれたモデルをCocoaバインディングしようと思ったのですが
NSObjectを継承していないとバインディングできないので
それ用のアクセサを持つクラスを別に定義。
NSObjectを継承するため、元クラスが継承できずに1個1個アクセサを定義。
コントローラから値を取得、設定するよりもコーディング量が多くなってしまった。
(アクセサだけど)
→Cocoaバインディングで楽したいならPureRubyは諦めるべき?
間違ってるよとか、こうすれば良いよとか
アドバイスがあれば是非ともお願いします。
126:名称未設定
08/06/07 22:47:32 C/yRQREs0
そんなあなたにMacRuby
127:名称未設定
08/06/07 22:59:05 0WlrN7Iu0
>>125
1.
どっちでもいいんじゃないでしょうか。
自分はInterface Builderで利用するアクションのメソッドなどはCocoaスタイルにして
ほかは気分次第にしています。
けっきょくRubyとCocoaの両方のクラスが混在する以上は、両方のスタイルのメソッドが
コード中に出てくるのは仕方ないとあきらめ気味。
2.
NSKeyValueBindingCreationとNSKeyValueObservingを実装すれば
Pure Rubyのクラスでも動作すると思います。が、ちょっと手がかかりますね。
アクセサについてはNSObject継承のラッパクラスで、Rubyの委譲モジュール(forwardable)を
使うと自分でアクセサを定義するよりはスマートに書けるんじゃないかと思います。
URLリンク(jp.rubyist.net)
思うだけで試していないので、あとでやってみて報告しますね。
128:125
08/06/08 00:42:21 cj+xwaaJO
>>126
MacRubyが凄いらしいというのは聞いたことあるのですが、CocoaもRubyも今週触り始めたばかりなもので。
余裕があったら試してみます。
>>127
1.命名規約
PureRubyなソースはRubyスタイル、それ以外はCocoaスタイルでいくことにしました。
2.Cocoaバインディング(PureRubyラッパー)
ラッパークラスでforwardableのdef_deldgatorを使ってアクセサを定義してみました。ここでメソッド名もCocoaスタイルからRubyスタイルへ変換しています。
setValue_forKeyでビューに値も表示されたのでCocoaバインディングも動いているようです。
但し、PureRubyでの計算結果をsetValue_forKeyで値を設定し直す必要がありましたが。
ありがとうございます!
129:名称未設定
08/06/08 00:47:17 xdlwDwXd0
RubyCocoa って ruby 1.8.x が対象なんだよな?
1.9.x系でCocoa使いたかったらMacRuby使えという理解で良いんだよね?
130:125
08/06/08 01:41:18 cj+xwaaJO
MacRuby見てきました。
かなり良さげですね。
今からやるとしたらRubyCocoaは捨ててMacRubyの方がオススメですか?
RubyやCocoaと戯れて遊ぶのが目的なので、仕事ではないです。
Ruby1.9やMacRubyの完成度ってどんなものなんでしょうか。(ていうか以前Ruby1.9がコンパイルできずにMacPortsへ逃げたクチです)
今から試しに入れてみます。
131:125
08/06/08 12:08:43 cj+xwaaJO
MacRuby0.2触ってみました。
MacRuby自体がRuby1.9.0をベースに作られているのでRuby1.9.0の
インストールは不要。
XcodeにMacRuby Applicationが追加され、サンプルも付いてます。
RubyCocoaで作ったスクリプトをMacRuby用に書き換えて
Cocoaバインディングを試そうとしたのですが。
OajectController.contentにアクセサを定義したモデルを設定しても
何故かアクセサが無視され、一番最後に初期化したインスタンス変数の
内部を捜しにいってしまう…。
現時点ではまだRubyCocoa使った方がよさそうですかね。
132:127
08/06/11 22:24:50 xnYHbiB20
>>128
あー、そりゃあsetValue_forKeyが必要ですね。考え至らずすみません。
133:名称未設定
08/06/12 00:12:26 MQ7uPTHt0
システム環境設定のスピーチ内の
声を選ぶときのリスト内の男性などの薄い色で書かれているものは
Interface Buillder のライブラリのどれを使っているのでしょうか
134:名称未設定
08/06/14 20:46:51 dNycpHBz0
1.所属するNSMenuをsetAutoenablesItems:YESしてNSMenuItemにsetEnabled:NOする。
2.NSMenuValidationで当該NSMenuItemオブジェクトについてNOを返す。
135:名称未設定
08/06/14 20:47:26 dNycpHBz0
間違えた。
1.所属するNSMenuをsetAutoenablesItems:NOしてNSMenuItemにsetEnabled:NOする。
でも2.推奨。
136:名称未設定
08/06/14 21:00:42 2EUD2BOn0
>>134-135
回答ありがとうございます。
早速実装してみました。
また別の質問なのですが
NSSpeechSynthesizer のsetRateで話す速度を設定したいのですが
環境設定のスピーチで設定できるしゃべる速度はどの範囲ですか?
よろしくお願いします。
137:名称未設定
08/06/14 21:47:50 m7rgqH2K0
>>136
それくらいは自分で試せば良いんじゃないの?
138:名称未設定
08/06/20 01:40:36 OPI2O2si0
次
スレリンク(mac板:85番)
139:名称未設定
08/07/06 02:31:53 qyBoLZXU0
sage 禁止
140:名称未設定
08/07/06 11:56:21 gQSlcM460
age
141:名称未設定
08/07/16 07:33:14 I7YB0jxQ0
age
142:名称未設定
08/07/28 23:23:21 NL8Skhv90
age
143:名称未設定
08/08/02 12:22:41 kC204Xtv0
RubyCocoaは使ってはいけない
MacRubyの登場でCocoa-Javaの香りがしてきた
なるべくObjectiveCに慣れて、次に備えるべし
144:名称未設定
08/08/02 23:07:19 c8ErBqo10
RubyOSAの質問していいですか?
Mac OS X Leopard (10.5.4) に、
sudo gem install rubyosa で RubyOSA 0.4.0 をインストールしましたが、
適当なスクリプトを実行すると Bus Error で落ちます。
たとえば、
irb -rubygems
>> require 'rbosa'
=> true
>> itunes = OSA.app('iTunes')
/Library/Ruby/Gems/1.8/gems/rubyosa-0.4.0/lib/rbosa.rb:530: [BUG] Bus Error
ruby 1.8.6 (2008-03-03) [universal-darwin9.0]
Abort trap
ググったらlibxml-ruby関連でも同じように Bus Error が起こるという
情報を見つけたので、sudo gem update して全部の gem をアップデート
してみましたが、症状は変わりません。何かご存知の方いらっしゃいましたら
ご教示いただければ幸いです。
145:名称未設定
08/08/06 01:19:42 uf+eVgCO0
>>144
再現しました(10.5.4 intel)。
libxml-rubyを古いもの(0.3.8.4)にしたら動きました。
とりあえず利用するだけなら
sudo gem install libxml-ruby --version 0.3.8.4で古いlibxml-rubyを入れておいて
lib/rbosa.rbのrequireしているところをgem 'xml/libxml', '= 0.3.8.4'に書きかえればよいかと。
146:144
08/08/07 07:26:19 0mECmV+F0
>>145
ありがとうございます。RubyOSAが使えるようになりました。
Excel 2008の操作に使えそうです。
147:名称未設定
08/08/13 19:17:35 2ggRDotU0
Cocoaで音声ファイルを再生するアプリケーションを作成したいのですが
どのようにすれば良いのでしょうか
簡易トーン・ダイヤラーの様な物を作りたいので携帯のボタンを押したときの
様にピッピッとボタンを押すたびに再生できる物が良いのですが。
148:名称未設定
08/08/14 00:53:57 I3mEPq/b0
NS::Soundと言うのが見つかりました
ありがとうございました。
149:名称未設定
08/08/26 00:49:11 z5yBxHke0
保守
PyObjCプロジェクトで、IBで作ったアクションを.pyにD&Dすると、
RubyCocoa用のメソッドに展開された。ヒドイヨハゲ。
150:名称未設定
08/08/28 04:10:01 r5ZlX/2+0
もし既出だったらすいません
お絵描きチャットをしたいのですが
いっつも回線が切断しましたという表示が出て始めることすら出来ません
エチャできてる人いたらどうしたらいいか等おねがいします
151:150
08/08/28 04:24:27 bPoAiUfmO
スミマセン。スレタイ読んでませんでした。
ちょうど回線も切断されているので、吊ってきます。
ちなみに使っているブラウザもURLもOSが何かすらも分かりません。
152:名称未設定
08/08/28 11:29:23 1s0ch5sa0
むしろ、どうやってここにたどり着いたか興味がある。
153:名称未設定
08/08/28 15:32:09 CbY6oV4O0
非常に趣深い。
>>152の言う通りなぜここに来たか知りたい。
OSとブラウザがわからないのはある意味理解できるけど、
その流れでURLがわからないってどういうこと?
っていうかこれらの用語がわかる人間は普通何を使ってるかわかるよねw
と、盛大につられてみました。
154:名称未設定
08/09/01 22:15:54 +kfzKA2m0
NSData.writeToFileのパラメータの指定方法がわかりません。
writeToFile:options:error:をwriteToFile_opstions_errorと書き換えて
filepath = OSX::NSString.stringWithString('/Users/homedir/test.pdf')
mask = Object.new
errorPtr = String.new
data.writeToFile_options_error(filepath, mask, errorPtr)
エラー
/System/Library/Frameworks/RubyCocoa.framework/Resources/ruby/osx/objc/oc_wrapper.rb:50:in `ocm_send': Cannot convert the argument #2 as '^@' to Objective-C (OSX::OCDataConvException)
from /System/Library/Frameworks/RubyCocoa.framework/Resources/ruby/osx/objc/oc_wrapper.rb:50:in `method_missing'
from test.rb:23
としました。
URLリンク(www.oomori.com)
を参考にしたのですが,
options: (unsigned int) maskの意味が解説を読んでもわかりません。
(「詳細は"Constants"にあります」とかいてるけど,その"Constants"ってどこ?状態)
optionsとerroはどのように指定すればいいですか?
155:名称未設定
08/09/01 23:29:47 Si43t95v0
>>154
filepath = '/Users/homedir/test.pdf'
mask = OSX::NSAtomicWrite
result, error = data.writeToFile_options_error(filepath, mask)
resultとerrorには
正常終了なら true, nil
エラーなら false, NSErrorオブジェクト
が返ってきます。
optionsの意味はXcodeについてるCocoaのマニュアルでも読んでくれ
156:154
08/09/02 21:17:30 B1hHzE6L0
>>155、サンクスです。
別の部分で意図した結果が得られません。環境は10.5
#!/usr/bin/ruby
require 'osx/cocoa'
OSX.require_framework "WebKit"
app = OSX::NSApplication.sharedApplication()
app.setDelegate(OSX::NSObject.alloc.init)
window = OSX::NSWindow.alloc.initWithContentRect_styleMask_backing_defer([100, 100, 300, 300], 15, 2, 0)
window.orderFrontRegardless()
webview = OSX::WebView.alloc.initWithFrame(window.contentView.frame)
window.contentView.addSubview(webview)
url = OSX::NSURL.alloc.initWithString('URLリンク(www.apple.com)<)
も試したけど,やっぱり真っ白け,,,
NSViewのdataWithPDFInsideRectは何か挙動がかわったのでしょうか?
157:名称未設定
08/09/02 22:14:20 agEX2R6R0
・NSApplicationをrunしてイベントループまわしてやらないとウインドウは描画されません。
・WebViewの読み込みは非同期なのでdelegateなどで終了を通知してもらうか、てきとうな秒数待つようにする必要があります。
・RubyCocoaのサンプルにdarkroom.rbという、ウェブをPNGとして保存するスクリプトがあるので参考にどうぞ。
158:154
08/09/02 23:52:49 B1hHzE6L0
>>157、サンクスです。
が、参考にしようとしたdarkroom.rbがエラーです。
2008-09-02 23:48:36.099 ruby[3309:10b] *** Assertion failure in -[WebHTMLView lockFocus], /SourceCache/AppKit/AppKit-949.33/AppKit.subproj/NSView.m:4755
2008-09-02 23:48:36.101 ruby[3309:10b] ActiveReload::DarkRoom::Processor#webView_didFinishLoadForFrame: OSX::OCException: NSInternalInconsistencyException
- -[WebHTMLView(0x5d2660) lockFocus] failed with window=0x5bf860, windowNumber=-1, [self isHiddenOrHasHiddenAncestor]=0
/System/Library/Frameworks/RubyCocoa.framework/Resources/ruby/osx/objc/oc_wrapper.rb:50:in `ocm_send'
/System/Library/Frameworks/RubyCocoa.framework/Resources/ruby/osx/objc/oc_wrapper.rb:50:in `method_missing'
./darkroom.rb:99:in `capture_and_save'
./darkroom.rb:95:in `webView_didFinishLoadForFrame'
/System/Library/Frameworks/RubyCocoa.framework/Resources/ruby/osx/objc/oc_wrapper.rb:50:in `ocm_send'
/System/Library/Frameworks/RubyCocoa.framework/Resources/ruby/osx/objc/oc_wrapper.rb:50:in `method_missing'
./darkroom.rb:62:in `shoot'
./darkroom.rb:52:in `initialize'
./darkroom.rb:109:in `new'
./darkroom.rb:109
/System/Library/Frameworks/RubyCocoa.framework/Resources/ruby/osx/objc/oc_wrapper.rb:51: [BUG] Segmentation fault
ruby 1.8.6 (2008-03-03) [universal-darwin9.0]
<NSWindow: 0x5bf860>Abort trap
159:名称未設定
08/09/03 00:27:31 hS6p5Zfo0
>>158
Appleのは直ってないのか。。。
修正済みのがリポジトリにあるのでそちらを使ってみてください。
URLリンク(rubycocoa.svn.sourceforge.net)
160:名称未設定
08/09/10 07:18:05 KwINyegI0
MacRuby 0.3
161:名称未設定
08/09/10 22:26:50 n+/OMfLx0
>>160
macirbするとエラーが出るんですが…。
ググってみると、LANG=C macirb で大丈夫みたいだけど。
162:名称未設定
08/10/08 08:03:24 jCJuvFef0
age
163:名称未設定
08/10/20 01:18:51 j6j9nf8z0
ADC—Developing Cocoa Applications Using MacRuby
URLリンク(developer.apple.com)
164:名称未設定
08/11/26 05:43:26 CKOAGFoqi
保守
165:名称未設定
08/11/30 03:40:24 Nmq4wNui0
ageなきゃ落ちるよ
166:名称未設定
08/11/30 06:34:32 ylAtvlHZi
age
167:名称未設定
08/12/04 20:16:13 cmdrcErwO
>>166
?
∧∧
(´・ω)
_|⊃/(___
/ ヽ_(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
168:名称未設定
09/01/16 21:51:15 abaDZpaE0
保守
169:にゃあ
09/01/31 06:59:06 vTQa9G9W0
いまだ!169ゲットォォォォ!!! オマンコベロベロナメダーチンチンナメテー
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (´´
∧∧ (´⌒(´
↑⊂(゚ー゚*)≡≡≡(´⌒;;;≡≡≡
⊆⊂´ ̄ ⊂ソ (´⌒(´⌒;;
 ̄ ̄ ̄ ズザーーーーーッ
170:名称未設定
09/03/05 09:50:42 jN1vhbjs0
rubi-!
171:名称未設定
09/03/07 15:17:10 MSy2d4tM0
開発環境のおともとしてCocoaReplを使いたいと思うのですが
起動したときにまいかい以前入力した物がでていて困ります
これはどのようにすれば良いのでよすか?
すこし気になるのが試しにRubyCocoaのサイトからダウンロードしてきた
Exampleファイルから起動したときでもでてきます。これはもしかして自動的に
なにかのファイルをひらいているのでしょうか?
よろしくおねがいします
172:名称未設定
09/03/07 18:27:48 rzw/mIwv0
ホームディレクトリの.cocoarepl_scratch.rbをひらいてるのでしょう。
ReplController.rb の awakeFromNib の下から2行目にある
load_scratch
の行を削除するかコメントアウトせよ。
ついでに、いちいち保存されるのがいやなら show_result の最初の
store_scratch
も削除しとけ
173:171
09/03/07 20:04:33 MSy2d4tM0
ありがとう御座います。!!
174:名称未設定
09/03/07 21:34:41 MSy2d4tM0
RubyCocoaでDockのアイコンをクリックしたら:
アプリケーションが隠れていたら表示、ウィンドウが閉じていたら新規作成とするには
どのようにすれば良いのでしょうか?
URLリンク(blog.cocoa-study.com)
こちらのページを参考にいかのような物をウィンドウ表示を担当するコントローラクラスに
かいてみたのですがnibファイルを開いても反映されません
ib_action :applicationOpenUntitledFil do |sender|
@window.NSApplication.makeKeyAndOrderFront(nil)
end
よろしくおねがいします。
175:174
09/03/07 21:46:44 MSy2d4tM0
クリーニングしてみた所
反映はされました、しかしInterfaceBuilderでクラスからひっぱってWindowにつなげても
これは選択肢にでませんでした。どのようにすれば良いのかよろしくおねがいします。
176:名称未設定
09/03/08 01:43:30 rBsRDVjQ0
>>174
とりあえず ...UntitledFile ね。最後の e を忘れている。
返り値も ib_action じゃなくて bool 。
あと、これはアクションメソッドじゃないので、
クラスのアウトレット @window に対応する Window を IB で
つなげばいいだけです。
ドックのアイコンをクリックしたら、Cocoa のシステムが
自動的に app delegate の
applicationOpenUntitledFile:
を呼びます。だからあなたはそれを実装するだけです。
177:名称未設定
09/03/09 22:53:48 28xfUO3i0
MacRuby 0.4
URLリンク(www.macruby.org)
178:名称未設定
09/03/26 07:00:35 DZj12hiH0
class AClass < OSX::NSObject
def AClass.initialize
puts "+(void)initialize"
end
end
AClass.initializeはランタイム側から
呼んでもらえないんでしょうか?
179:名称未設定
09/03/26 12:26:18 UUCg7QO00
>>178
うん、呼ばれません。なぜかというと AClassクラス自体はObjective-Cのオブ
ジェクトじゃないからです。そのかわりに
class AClass < OSX::NSObject
puts "AClassをロード中"
end
こういうふうに書いとくと、このコードがRubyにロードされたときに実行され
るので、initialize にまあまあ近いタイミングで実行されるよ。
180:名称未設定
09/03/26 16:00:36 ZtaxedWsi
>>178
MacRubyだと、Rubyのオブジェクトは全部Objective-Cのオブジェクトなので、そのinitializeも呼ばれるはず
181:名称未設定
09/03/26 19:09:12 DZj12hiH0
>>179, 180
なるほど、私の勉強不足でしたが納得です。
にしてもRubyCocoa楽しいですね。
ありがとうございました。