MailCore 2 fetchMessagesOperation 在模拟器上有效,但在设备上无效

问题描述 投票:0回答:1

我有一个类,它创建 MailCore 会话,然后解析消息。我可以在运行 ios17 的模拟器上完美运行它。但是,当我在手机上运行它时,执行 fetchMessagesOperation 时它会冻结。我知道它配置正确。我还注意到这种情况发生在多个不同的(非模拟器)设备上。模拟器环境和硬件环境有什么不同会导致这种情况?下面的相关代码(它在“消息检索”之前冻结):

    init() {
        session = MCOIMAPSession()
        
        session!.hostname       = self.hostname
        session!.port           = 993
        session!.username       = self.username
        session!.password       = self.password
        session!.connectionType = .TLS
    }
    
    func getEmailText(completion: @escaping CompletionString) {
        print(#function)
        
        guard let session = self.session else { return }
        
        let uids = MCOIndexSet(range: MCORange(location: 1, length: UInt64.max))
        
        if let fetchOperation = session.fetchMessagesOperation(withFolder: folder, requestKind: .headers, uids: uids) {
            fetchOperation.start { error, fetchedMessages, vanishedMessages in
                print("Messages retrieved")
                if let error = error {
                    print("Error downloading message headers: \(error.localizedDescription)")
                } else if let messages = fetchedMessages {
                    ...
                }
            }
        }
    }
swift ios-simulator mailcore2 ios17 mailcore
1个回答
0
投票

尝试添加:

        session.isVoIPEnabled = false
© www.soinside.com 2019 - 2024. All rights reserved.