5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

milkcocoaAdvent Calendar 2014

Day 19

@nObisukeさんの記事を参考にSwiftで人生初のmilkcocoaを使ってまるで、クックパッドのつくれぽみたいなことして今、ハマってる。

Last updated at Posted at 2014-12-19

#前々からmilkcocoaが気になってた。。。

![スクリーンショット 2014-12-19 1.34.29.png](https://qiita-image-store.s3.amazonaws.com/0/15812/8ca337bd-6a61-6c74-af47-2045a1327610.png "スクリーンショット 2014-12-19 1.34.29.png")


milkcocoaよりも前にリアルタイム通信が行いたいという理由で、
webRTC
を試みましたが、


OSSだとサーバーが必要なこと
敷居が思ってた以上に高かったこと
WebRTCプラットホームを提供しているtokboxのSDKを使ってみるもイマイチよくわからなかったこと
tokboxの無料期間は30日までであること

などの理由で断念。。。

そんな時に@nObisukeさんの記事が!

![スクリーンショット 2014-12-19 1.44.43.png](https://qiita-image-store.s3.amazonaws.com/0/15812/c6dc4eb9-6f5d-d3c8-632b-a558162920c6.png "スクリーンショット 2014-12-19 1.44.43.png")

そしてこの記事の最後に、

スクリーンショット 2014-12-19 1.45.57.png

を便りにmilkcocoaさんに直談判!

以下、メール内容

はじめまして。

この度、@n0bisukeさんによるSwiftのアドベントカレンダーにて
MilkcocoaとSwiftの記事を拝見し、私も使用させて頂きたく、
メールを送付させて頂きました、@g08m11と申します。

急な依頼となってはしまいますが、もし、よろしければ
iOS SDKのβ版を使用させて頂けたらと存じます。

お忙しいとは存じますが、ご連絡のほど、宜しくお願いいたします。

以上になります。
宜しくお願いいたします。

###その結果、幾つかのお願いがあったものの使用許可を頂くことができました!

(現時点でMilkcocoaはJavascript向けのSDKが公開されていて、Webアプリケーションには活用出来ます。今回はまだ公開されていないSwift用のSDKをβテストな形で使わせて頂きました。)

###長くなりましたが早速、試してみる。

環境

  • Mac OS X 10.9
  • Xcode6.1.1
  • Milkcocoa Javascript SDK 0.2.8
  • Milkcocoa iOS テストユーザー(iOS SDKは開発途中なので「テストユーザ用クライアント版」)

Web側

tukurepoSample.html
<!doctype html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <title>simple chat!</title>
    <script src="http://cdn.mlkcca.com/v0.2.8/milkcocoa.js"></script>
    <script>

        var milkcocoa = new MilkCocoa("https://io-ci1s1iu9p.mlkcca.com/");
        var iosDS = milkcocoa.dataStore('ios');

        function clickEvent(){
            iosDS.send({msg:'hello! iOS! I am JS'});
        }

        iosDS.on('send',function(data){
            console.log('receive:',data.value.msg);
        });
    </script>
</head>
<body>
<button name="button" onClick="clickEvent()">send!</button>
</body>
</html>

Swift側

スクリーンショット 2014-12-19 2.10.48.png

スクリーンショット 2014-12-19 2.10.59.png

スクリーンショット 2014-12-19 2.11.13.png

スクリーンショット 2014-12-19 2.12.23.png

スクリーンショット 2014-12-19 2.12.31.png

ViewController.swift

import UIKit
import Milkcocoa

class ViewController: UIViewController {
  let milkcocoa = Milkcocoa(url:"https://io-ci1s1iu9p.mlkcca.com")
  
  override func viewDidLoad() {
    super.viewDidLoad()
    let dataStore = milkcocoa.dataStore("ios")
    
    dataStore.on("send", { data in
      println(data.value["msg"].asString!)
    })
    
    dataStore.send(["msg":"hello! JS! I am iOS"])
  }
  
  override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
  }
  
}

実行結果

現在はエラー中の状態です。。。

スクリーンショット 2014-12-19 13.58.20.png

スクリーンショット 2014-12-19 13.58.28.png

問題が解消した際には更新していこうと思います。
おそらく僕のXcodeの設定が悪いのかなと。

現在の状態

tukurepo-Bridging-Header.h

#import "Milkcocoa-Swift.h"
#import "Milkcocoa.h"

スクリーンショット 2014-12-19 14.01.30.png

アドベントカレンダーに似つかわしくない内容で大変、申し訳ありませんが、ご助言お待ちしております!

追記

こちらはiPhoneシュミレータではなく、実機だと動くとの回答を
milkcocoaさんから頂きました。
これからSwiftでmilkcocoaを利用される方は実機で確認すると問題ないかと
思います。

5
6
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?