代码之家  ›  专栏  ›  技术社区  ›  Nazmul Hasan

线程1:EXC_BAD_ACCESS(代码=1,地址=0x0)问题已生成

  •  0
  • Nazmul Hasan  · 技术社区  · 9 年前

    我正在使用Paho MQTT(物联网)和mobilefirst 7.1进行混合应用程序开发(适用于iOS、Android和windows手机设备)。我试过了 'broker.mqttdashboard.com' 对于MQTT代理,但它不适用于iOS。

    错误:

    Xcode控制台:

    libc++abi。dylib:调用了纯虚拟函数!

    main.js:

    function wlCommonInit(){
         MQTTconnect(); //connect broker with subscribe 
    }
    

    mqttService.js:

    var host = 'broker.mqttdashboard.com';
    var port = 8000;
    var topic = 'Sensor';   // topic to subscribe to
    var useTLS = false;
    var username = null;
    var password = null;
    // username = "Nazmul";
    // password = "Kp0582!";
    var cleansession = true;   
    
    var mqtt;
        var reconnectTimeout = 2000;
    
        function MQTTconnect() {
            mqtt = new Paho.MQTT.Client(
                            host,
                            port,
                            "web_" + parseInt(Math.random() * 100,
                            10));
            var options = {
                timeout: 3,
                useSSL: useTLS,
                cleanSession: cleansession,
                onSuccess: onConnect,
                onFailure: function (message) {
                    console.log("Connection failed: " + message.errorMessage + "Retrying")
                    setTimeout(MQTTconnect, reconnectTimeout);
                }
        };
    
            mqtt.onConnectionLost = onConnectionLost;
            mqtt.onMessageArrived = onMessageArrived;
    
            if (username != null) {
                options.userName = username;
                options.password = password;
            }
            console.log("Host="+ host + ", port=" + port + " TLS = " + useTLS + " username=" + username + " password=" + password);
            mqtt.connect(options);
        };
    
        function onConnect() {
    
            console.log('Connected to ' + host + ':' + port)
            // Connection succeeded; subscribe to our topic
            mqtt.subscribe(topic, {qos: 0});
    
        };
    
        function onConnectionLost(response) {
            setTimeout(MQTTconnect, reconnectTimeout);
    
            console.log("connection lost: " + responseObject.errorMessage + ". Reconnecting")
    
        };
    
        function onMessageArrived(message) {
    
            var topic = message.destinationName;
            var payload = message.payloadString;
    
            console.log( topic + ' = ' + payload)
            alert(topic + ' = ' + payload);
    
        };
    

    MobileFirst:版本7.1.0.00-20151114-1616

    xcode:版本7.2测试版(7C46t)

    iphone 6s plus

    项目上载于此处: https://github.com/nazmulkp/Mqtt-MobileFirst-Hybrid-Application

    非常感谢。

    3 回复  |  直到 9 年前
        1
  •  0
  •   phani    9 年前
    int retVal = UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    return retVal;
    
        2
  •  0
  •   Shehzad Ali    9 年前

    请验证您的appdelegate类名。是MyAppDelegate吗。如果是, 导入MyAppDelegate.h 在它上面。如果它仍然不起作用,请用此代码替换您的代码。

    int main(int argc, char * argv[])
    {
        @autoreleasepool {
            return UIApplicationMain(argc, argv, nil, NSStringFromClass([MyAppDelegate class]));
        }
    }
    
        3
  •  0
  •   Nazmul Hasan    9 年前

    这是一个编辑器没有捕捉到的空引用错误-它只在iPhone上可用的代码中运行。

    空引用错误:因为始终没有加载javascript文件。对象引发此错误。

    现在就这样工作了

    main.js:

    function wlCommonInit(){
    
          $(document).ready(function(){
               MQTTconnect(); //connect broker with subscribe         
           });
    
      }