1

libmoquitto を使用した iOS アプリの開発に問題があります

私のコードで AppDelegate.swift

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, MosquittoClientDelegate{

    var window: UIWindow?
    var client: MosquittoClient?

    func didPublish(messageId: UInt) {
        println( "didPublish \(messageId)" )
    }
    func didReceiveMessage(mosq_msg: MosquittoMessage!) {
        println( "didReceiveMessage [ \(mosq_msg.mid)-\(mosq_msg.topic) ] \(mosq_msg.payload)" )
    }
    func didDisconnect() {
        println( "didDisconnect" )
    }
    func didConnect(code: UInt) {
        println( "didConnect \(code)" )
        if code == UInt(MOSQ_ERR_SUCCESS.value){
            client?.subscribe("sample", withQos: 1)
        }
    }
    func didSubscribe(messageId: UInt, grantedQos qos: [AnyObject]!) {
        println( "didSubscribe" )
    }
    func didUnsubscribe(messageId: UInt) {
        println( "didUnsubscribe \(messageId)" )
    }

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {        
        client = MosquittoClient(clientId: "qq")
        client?.host = "stick.coffee"
        client?.port = 1883
        client?.delegate = self
        client?.connect()
        return true
    }
}

これは、アプリが終了したときを除いて、私が思うように機能します。

アプリが終了しても receiveMessage が欲しい。

背景にはいくつかのモードがあることがわかりました。

  • オーディオと AirPlay
  • 場所の更新
  • ボイスオーバーIP
  • ニューススタンドのダウンロード
  • 外部アクセサリ通信
  • Bluetooth LE アクセサリを使用
  • Bluetooth LE アクセサリとして機能
  • バックグラウンド フェッチ
  • リモート通知

私に最適なモードは何ですか? または、このスタブの例はありますか?

4

1 に答える 1