1

ドロップボックスを統合したアプリを開発しています。ログインは正常に行われ、dropBox にフォルダを作成することもできます。しかし、ファイルを読み込もうとするとエラーが発生します

次のエラーが表示されます

error making request to /1/files_put/dropbox/Info.plist - Error
Domain=NSURLErrorDomain Code=-1021 "The operation couldn’t be
completed. (NSURLErrorDomain error -1021.)" UserInfo=0x6859bc0
{destinationPath=/Info.plist,
sourcePath=/Users/bcod/Library/Application Support/iPhone
Simulator/5.0/Applications/0E1EE43C-8F6B-40FA-8696-D3992DA2DCE5/DBRoulette.app/Info.plist}

フォルダーを作成しているときに、このエラーは発生しません。

4

2 に答える 2

7

iPhone の iOS 5.0 でも同じ問題がありましたが、iPhone 6.1 シミュレーターはエラー メッセージを表示せずに動作しました。

DropboxSDK / DBRestClient.m、特に uploadFile:toPath:fromPath:params の最後の行を調べ、DBRequest にカテゴリ「ExBody」を実装して、connection:needNewBodyStream メソッドを追加しました。

#import "DBRequest+ExBody.h"

@implementation DBRequest (ExBody)

#pragma mark NSURLConnection delegate methods

- (NSInputStream *)connection:(NSURLConnection *)connection needNewBodyStream:(NSURLRequest *)req {

    NSString * sourcePath = [userInfo objectForKey:@"sourcePath"];
    NSLog(@"%@ needs newBodyStream!", sourcePath);
    return [NSInputStream inputStreamWithFileAtPath:sourcePath];
}

@end

これは私にとってはうまくいきました。このメソッドは、iOS6 ではなく iOS5 で呼び出されます。

于 2013-04-25T10:05:05.447 に答える
4

エラー -1021 はNSURLErrorRequestBodyStreamExhaustedエラーです。

ドキュメントによると、デリゲート メソッドがありません。

NSURLErrorRequestBodyStreamExhausted
ボディ ストリームが必要であるが、クライアントが提供しない場合に返されます。これは、ボディ ストリームを使用して POST 要求を送信するが、NSURLConnection デリゲート メソッド connection:needNewBodyStream を実装しない iOS 上のクライアントに影響します。OS X v10.7 以降で利用できます。

于 2013-04-20T06:12:00.757 に答える