Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Objective-C中使用网络框架(Swift中的示例)_Objective C_Swift_Networking_Imap_Network Framework - Fatal编程技术网

如何在Objective-C中使用网络框架(Swift中的示例)

如何在Objective-C中使用网络框架(Swift中的示例),objective-c,swift,networking,imap,network-framework,Objective C,Swift,Networking,Imap,Network Framework,试图通过带有“网络框架”(Swift)的IMAP协议与Google邮件服务器建立TCP连接,但我遇到了一个错误。 我从(wwdc2018)视频中获得了代码 我的控制台显示: 我在这里 错误--65554:NoSuchRecord UDPATED: 感谢@arnt,我记得主机必须是“imap.gmail.com”,现在可以正常工作了 主要目标是通过带有“网络框架”的IMAP协议与谷歌邮件服务器建立TCP连接,但在Objective-C上。我自己尝试过,我成功了!=) 因为imap.google.c

试图通过带有“网络框架”(Swift)的IMAP协议与Google邮件服务器建立TCP连接,但我遇到了一个错误。 我从(wwdc2018)视频中获得了代码

我的控制台显示:

我在这里

错误--65554:NoSuchRecord

UDPATED: 感谢@arnt,我记得主机必须是“imap.gmail.com”,现在可以正常工作了


主要目标是通过带有“网络框架”的IMAP协议与谷歌邮件服务器建立TCP连接,但在Objective-C上。

我自己尝试过,我成功了!=)


因为imap.google.com不存在,而且它真的不存在,没有bug,所以你没有这样的记录。您可能指的是imap.gmail.com,它确实存在。@arnt,天哪,非常感谢您!每次我在代码中正确地写下它,但我不知道为什么现在它如此。。。
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    let connection = NWConnection(host: "imap.google.com", port: .imaps, using: .tls)

    let myQueue = DispatchQueue(label: "test")

    connection.stateUpdateHandler = { (newState) in
        switch (newState) {
        case .waiting(let error):
            print("ERROR - \(error)")
        case .preparing:
            print("I am HERE")
        case .ready:
            print("HELLO")
        case .failed(let error):
            print("ERROR + \(error)")
        default:
            break
        }
    }

    connection.start(queue: myQueue)

    return true
}
const char *hostname = "imap.gmail.com";
const char *port = "imaps";
nw_parameters_t parameters = nw_parameters_create_secure_tcp(NW_PARAMETERS_DEFAULT_CONFIGURATION, NW_PARAMETERS_DEFAULT_CONFIGURATION);
nw_endpoint_t endpoint = nw_endpoint_create_host(hostname, port);
nw_connection_t connection = nw_connection_create(endpoint, parameters);

nw_connection_set_queue(connection, dispatch_get_main_queue());
nw_connection_set_state_changed_handler(connection, ^(nw_connection_state_t state, nw_error_t error) {
    switch (state) {
        case nw_connection_state_waiting:
            NSLog(@"waiting");
            break;
        case nw_connection_state_failed:
            NSLog(@"failed");
            break;
        case nw_connection_state_ready:
            NSLog(@"connection is ready");
            break;
        case nw_connection_state_cancelled:
            NSLog(@"connection is cancelled");
            break;
        default:
            break;
    }
});
nw_connection_start(connection);