2
我正在开发iPhone应用程序。我正尝试通过Gmail服务器发送包含smtp的URL。我使用CFNetwork框架。有时,邮件没有问题发送,但很多时候我在该行EXC_BAD_ACCESS得到一个异常EXC_BAD_ACCESS如果exc_bad_access同时向cfnetwork写入输出流
(CFWriteStreamCanAcceptBytes(outputStream))
1类:HSK_CFUtilities
CFIndex CFWriteStreamWriteFully(CFWriteStreamRef outputStream, const uint8_t* buffer, CFIndex length)
{
CFIndex bufferOffset = 0;
CFIndex bytesWritten;
while (bufferOffset < length)
{
if (CFWriteStreamCanAcceptBytes(outputStream))
{
bytesWritten = CFWriteStreamWrite(outputStream, &(buffer[bufferOffset]), length - bufferOffset);
if (bytesWritten < 0)
{
// Bail!
return bytesWritten;
}
bufferOffset += bytesWritten;
}
else if (CFWriteStreamGetStatus(outputStream) == kCFStreamStatusError)
{
return -1;
}
else
{
// Pump the runloop
CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0.0, true);
}
}
return bufferOffset;
}
2类:SKPSMTPMessage的方法parseBuffer
case kSKPSMTPWaitingSendSuccess:
{
if ([tmpLine hasPrefix:@"250 "])
{
sendState = kSKPSMTPWaitingQuitReply;
NSString *quitString = @"QUIT\r\n";
DEBUGLOG(@"C: %@", quitString);
if (CFWriteStreamWriteFully((CFWriteStreamRef)outputStream, (const uint8_t *)[quitString UTF8String], [quitString lengthOfBytesUsingEncoding:NSUTF8StringEncoding]) < 0)
{
error = [outputStream streamError];
encounteredError = YES;
}
else
{
[self startShortWatchdog];
}
}
我想知道你能不能给我一个提示?我将不胜感激任何帮助 。谢谢你,最好的问候。
你设法解决?我有同样的问题。 – Kalaichelvan
@Kalaichelvan:是的,我管理,请检查我的答案这个问题,希望它可以帮助你。 :) – Nico