使用“GDServiceClient sendTo:”方法作为附件发送文件后如何读取文件?

时间:2015-11-17 02:19:04

标签: ios good-dynamics

我正在使用两个本机iOS应用程序来实现Good Dynamic Framework应用程序动力学,现在我已成功发送消费者请求,在生产者端收到它并发送一个在消费者端收到的回复表单生产者。使用

sendTo (GDServiceClient) >>>>>>>>>>>>>>> GDServiceDidReceiveFrom
GDServiceClientDidReceiveFrom <<<<<<<<<<< replyTo (GDService).
当我尝试将pdf文件从生产者发送到消费者并在消费者端读取时,会出现问题。

我使用"GDServiceClient sendTo"方法将文件作为附件发送。好像消费者收到的文件成功了。我能看到好的

控制台Xcode日志

GTICCConnection: Number of attachments: 1
GTICCConnection: Finished reading data from all attachments 1/1. Last file size: 273459

我收到了来自附件的文件路径"Inbox/BundleID/....../myfile.pdf" 但问题是GDFileManger contentsAtPath:fileInboxPath变为零并且无法读取文件。

问题

1.任何人都可以帮我解决这个问题。有没有一种特殊的方法从GD收件箱中读取文件?

  1. 为什么GDFileManager在使用createFileAtPath创建新文件时总是需要有效的NSFilePath:它说它加密文件,文件不会在物理路径上。

1 个答案:

答案 0 :(得分:0)

我找到了。几天后我会回复一个详细的答案。直到那,

在阅读文件内容之前,我使用这样检查文件是否存在。

if ([[GDFileManager defaultManager] fileExistsAtPath:fileInboxPath]){
        NSData   *fileData = [[GDFileManager defaultManager] contentsAtPath:fileInboxPath];
        NSLog(@"Filedata: %@",fileData);
        NSString *content  = [[NSString alloc] initWithData:fileData encoding:NSUTF8StringEncoding];
    }

但是这个if条件失败了。在我注释掉这行之后

[[GDFileManager defaultManager] fileExistsAtPath:fileInboxPath]

它开始工作。