そのためのコードを作者であるJohn M McIntoshさんが公開してくださっています.
John M McIntoshさんに感謝です.
http://isqueak.org/HomePage
このiSqueakのVMを利用してEtoysのイメージを動かしているのが,先日公開されました.
このソースはBert Freudenbergさんが公開してくれています.こちらでは,キーボード入力ができるようになっています.マルチタッチも可能.
ということで試してみました.
きちんと利用できるのにするためには.少し手間がかかったので,ここに記録しておきます.
いろいろと間違っていたらすみません.
必要なもの
- Mac(intel + Snow Leopard )
- Xcode(iPhone開発環境が含まれているのもの)
- iSqueakのソースコード
- PharoV10.sources.zip(iPadでEtoysを動かさないなら必要ない)
- iPadでEtoysを動かすためのソースコード(キーボード入力を可能にする人)
- Etoys(Etoys-To-Go4-Final.zip)
- iPhone Developer Program(実機で動かしたい場合には必要です.1ライセンスで100台まで動かすことが可能なので,私に連絡していただけたら,一部の方だけなら・・・.)
- iPhoneまたはiPad(実機で動かしたい場合には必要です)
- あとは根性w?
まずは,iSqueakのソースコードをダウンロードしましょう.Subversionで公開されているので,保存したいディレクトリに移動して,ターミナルで以下のように入力します.
$ svn co http://squeak.org/svn/squeak/trunk/
$ svn co http://squeakvm.org/svn/squeak/trunk/
続いてPharoV10.sources.zipをダウンロードします.
http://www.pharo-project.org/pharo-download
PharoV10.sources.zipを解凍して,PharoV10.sourcesをtrunk/platforms/iOS/vm/iPhone/ に入れます.
trunk/platforms/unix/plugins/SocketPlugin/sqUnixSocket.cを以下のように編集します.
82行目
# include <netinet/udp.h>
以下のように変更します.
ダウンロードしたiSqueak内のSqueakPureObjc.xcodeprojをダブルクリックをします(trunk/platforms/iOS/vm/ 内にあります).
「ビルドと実行」をします.問題があったら大変なので,まずはシミュレータを使って実行しましょう.
続いて,iPadでEtoysを動かしてみたいと思います.Xcodeを開いてる場合,終了します.
以下のアドレスから,Etoys4iPad-VM.zip,touchHand-bf.1.cs,touchSensor-bf.1.csをダウンロードします.
Bert Freudenbergさんに感謝
http://lists.squeakland.org/pipermail/etoys-dev/2010-June/005098.html
touchHand-bf.1.cs,touchSensor-bf.1.csは,拡張子をcsファイルとしてダウンロードしてください.
Etoys4iPad-VM.zipを解凍して,Etoys4iPad-VMディレクトリのplatforms/Mac\ OSObjC/vm/iPhone/Classes の中にあるファイルをtrunk/platforms/iOS/vm/iPhone/Classesにコピーします.
続いて,Etoys-To-Go4-Final.zipをダウンロードします.
http://www.squeakland.org/download/
Etoys-To-Go4-Final.zipを解凍しましょう.Etoys-To-Go 4.appで右クリックをして「パッケージ内容を表示」を選択します.
Contents/Resourcesからetoys.image,etoys.changes,EtoysV4.sources,fontsディレクトリをtrunk/platforms/iOS/vm/iPhone にコピーをします.
コピーしたetoys.imageをEtoys-To-Go 4.appにドラッグして起動します.
起動したら,日本語フォントを導入するかは任意です.
touchHand-bf.1.cs,touchSensor-bf.1.csをWorld内にドラッグをして読み込ませます.
etoys.imageでワークスペースを開く方法がわからなかったので,Etoysのライセンス表示で開かれるWorkspaceを利用して以下のプログラムを実行.
TouchCmdMorph new openInWorld.
表示されたMoprhは好きな一に移動させておきます.
変更内容を保存します.etoys.imageだとどのように保存するかわからないので,Workspaceで以下のコードを実行.
Smalltalk snapshot: true andQuit: true.
終了したら,コピーしたfontsディレクトリは削除しても構いません.
Xcodeを開きます.etoys.image,etoys.changes,EtoysV4.sourcesをXcodeの左側に表示されているResourcesフォルダにドロップします.
Xcodeで「プロジェクト」—「アクティブターゲット"SqueakNoOGLIPhone"を編集」を選び,「ビルド」のタブを選択します.
GCC 4.2 - プリプロセスのプリプロセッサマクロにISQUEAK_SOURCES="PharoV10"とISQUEAK_IMAGE="iPhone"を追加します.
動作させるイメージはetoys.imageですけど,追加しないと動作しません.
素敵ですね!!
よかったらお試しあれ.
私は,iPadを3.2.1にアップデートしてしまったので,iPadインストールができない状態ですorz
iOS 4.1 betaには対応しているけど,3.2.1には対応していないのはどうなんだろう・・・.
Xcode早くアップデートして欲しい.
さすがに,ここまで書くと疲れる.
ビルドしてきちんと動作しない場合は,Xcodeで「キャッシュを空」にして「全てのターゲットをクリーニング」しましょう.
他にもいったんXcodeを終了して,再度ビルドをしてみるのもいいかもしれません.
$ svn co http://squeakvm.org/svn/squeak/trunk/
続いてPharoV10.sources.zipをダウンロードします.
http://www.pharo-project.org/pharo-download
PharoV10.sources.zipを解凍して,PharoV10.sourcesをtrunk/platforms/iOS/vm/iPhone/ に入れます.
trunk/platforms/unix/plugins/SocketPlugin/sqUnixSocket.cを以下のように編集します.
82行目
# include <netinet/udp.h>
以下のように変更します.
# ifndef TARGET_OS_IS_IPHONE
# include <netinet/udp.h>
#endif
ダウンロードしたiSqueak内のSqueakPureObjc.xcodeprojをダブルクリックをします(trunk/platforms/iOS/vm/ 内にあります).
「ビルドと実行」をします.問題があったら大変なので,まずはシミュレータを使って実行しましょう.
続いて,iPadでEtoysを動かしてみたいと思います.Xcodeを開いてる場合,終了します.
以下のアドレスから,Etoys4iPad-VM.zip,touchHand-bf.1.cs,touchSensor-bf.1.csをダウンロードします.
Bert Freudenbergさんに感謝
http://lists.squeakland.org/pipermail/etoys-dev/2010-June/005098.html
touchHand-bf.1.cs,touchSensor-bf.1.csは,拡張子をcsファイルとしてダウンロードしてください.
Etoys4iPad-VM.zipを解凍して,Etoys4iPad-VMディレクトリのplatforms/Mac\ OSObjC/vm/iPhone/Classes の中にあるファイルをtrunk/platforms/iOS/vm/iPhone/Classesにコピーします.
続いて,Etoys-To-Go4-Final.zipをダウンロードします.
http://www.squeakland.org/download/
Etoys-To-Go4-Final.zipを解凍しましょう.Etoys-To-Go 4.appで右クリックをして「パッケージ内容を表示」を選択します.
Contents/Resourcesからetoys.image,etoys.changes,EtoysV4.sources,fontsディレクトリをtrunk/platforms/iOS/vm/iPhone にコピーをします.
コピーしたetoys.imageをEtoys-To-Go 4.appにドラッグして起動します.
起動したら,日本語フォントを導入するかは任意です.
touchHand-bf.1.cs,touchSensor-bf.1.csをWorld内にドラッグをして読み込ませます.
etoys.imageでワークスペースを開く方法がわからなかったので,Etoysのライセンス表示で開かれるWorkspaceを利用して以下のプログラムを実行.
TouchCmdMorph new openInWorld.
表示されたMoprhは好きな一に移動させておきます.
変更内容を保存します.etoys.imageだとどのように保存するかわからないので,Workspaceで以下のコードを実行.
Smalltalk snapshot: true andQuit: true.
終了したら,コピーしたfontsディレクトリは削除しても構いません.
Xcodeを開きます.etoys.image,etoys.changes,EtoysV4.sourcesをXcodeの左側に表示されているResourcesフォルダにドロップします.
Xcodeで「プロジェクト」—「アクティブターゲット"SqueakNoOGLIPhone"を編集」を選び,「ビルド」のタブを選択します.
GCC 4.2 - プリプロセスのプリプロセッサマクロにISQUEAK_SOURCES="PharoV10"とISQUEAK_IMAGE="iPhone"を追加します.
動作させるイメージはetoys.imageですけど,追加しないと動作しません.
ここまでが終わったら,ビルドと実行をしましょう.最初はシミュレータを使ってビルドすることをおすすめします.
起動すると,画面がおかしいので,command + ← をして画面を横にします.
横になるときちんと表示されます.
command + → で画面を縦にするとキーボードが表示されます.
仕様で画面を縦にしないと表示されません.
TouchCmdMorphを押しながら,pなどをするとprint itができます.
素敵ですね!!
よかったらお試しあれ.
私は,iPadを3.2.1にアップデートしてしまったので,iPadインストールができない状態ですorz
iOS 4.1 betaには対応しているけど,3.2.1には対応していないのはどうなんだろう・・・.
Xcode早くアップデートして欲しい.
さすがに,ここまで書くと疲れる.
ビルドしてきちんと動作しない場合は,Xcodeで「キャッシュを空」にして「全てのターゲットをクリーニング」しましょう.
他にもいったんXcodeを終了して,再度ビルドをしてみるのもいいかもしれません.
0 件のコメント:
コメントを投稿