YUKAI / konashi-ios-sdk

konashi iOS SDK
http://konashi.ux-xu.com
Apache License 2.0
89 stars 37 forks source link

JavaScript bindings #47

Closed 0x0c closed 9 years ago

0x0c commented 9 years ago

iOS SDKのJavaScriptCoreを使ったObjective-CとJavaScriptのインタフェースの足並みを揃えるための実装です。JavaScriptCoreを使用しています。

TesAllFunctionのStoryboardが新しくなってしまいました。動作に影響はありませんでした。

mash commented 9 years ago

Konashi+LegacyAPI.mがなくなっちゃってるので、 最新のdevelopに追従するようにしましょう。

0x0c commented 9 years ago

Konashi+LegacyAPI.mKonashi.mに統合しました。 これはKonashiJavaScriptBindins protocolに準拠した時ワーニングが出てしまうためです。

mash commented 9 years ago

KonashiJavaScriptBindings及びKonashiJavaScriptBindings2プロトコル の2つがあるのはなんででしたっけ?2つ必要なのであれば後者は名前がいけてないですね...

0x0c commented 9 years ago

2つあるのは、NSData型を渡せないから文字列として渡すメソッドを作ったのですが、KonashiJavaScriptBindingsと混ぜると、Konashiクラスに宣言されてないとワーニングが出るので分けました。 合体できるかちょっと試してみます。

0x0c commented 9 years ago

プロトコルを合わせると Konashi.mで Method 'i2cWriteString:address:' in protocol 'KonashiJavaScriptBindings' not implemented Konashi+JavaScriptBindingsで Category is implementing a method which will also be implemented by its primary class と出てしまい、分けざるをえないようです。 また、uartWrite:だとJSから文字を渡した時、ヌル文字が後ろについてうまく送信できませんでした。 KonashiJavaScriptBindings2で定義しているものはJavaScriptで動くように新たに用意したメソッドなのですが、プロトコルの名前はどのようにするのがわかりやすいでしょうか?

0x0c commented 9 years ago

KonashiJavaScriptBindings2はKonashiJavaScriptBindingsに移して、KonashiJavaScriptBindingsのメソッドをKonashi.mに移すという手もあります。

mash commented 9 years ago

そうですね、ちょっとこれで意図通り動作するのかはわかりませんがこんなふうに移動させてしまえばいいのでは https://gist.github.com/mash/a4e598321349fb302dba

0x0c commented 9 years ago

修正しました。 動作も確認済みです。 よろしくお願いいたします。

mash commented 9 years ago

JavaScriptCore関連部分は自分も使っていないので正直レビューできていませんが、、 よいと思います。 ありがとうございます!

0x0c commented 9 years ago

修正しました。ご確認ください

mash commented 9 years ago

よいと思います!

0x0c commented 9 years ago

ありがとうございます。