0

Objective-C についての知識はほとんどありませんが、Cordova (PhoneGap) を使用して Web アプリを作成しており、InAppBrowser プラグインによって送信されたヘッダーを操作する必要がありました。

リクエストと共に送信するカスタム ヘッダーを取得できました。NSURLRequest を NSMutableURLRequest に変更し、次のようなカスタム ヘッダーを設定しました。

NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:url]; 
[request setValue:@"test" forHTTPHeaderField:@"Accept-Encoding"];

次の問題は、javascript からヘッダーを渡すことでした。パラメータにオプションを追加しました。パラメーターは、ヘッダーを操作できる場所に到達する前に、いくつかの関数 (またはメソッド?) 間で渡す必要があります。いくつかの関数を介してそれらを渡すことができました.NSLogは、JavaScriptから送信した正しい値をまだ表示していますが、最後のハードルに落ちました. 最終関数に追加のパラメーターを渡すことができません!

ここにこのコードがあります:

[self.inAppBrowserViewController navigateTo:url withHeaders:headers ];

次のように定義された navigateTo 関数を呼び出します。

- (void)navigateTo:(NSURL*)url withHeaders:(NSString*)headers
{
    NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:url];
    [request setValue:@"test" forHTTPHeaderField:@"Accept-Encoding"];
    if (_userAgentLockToken != 0) {
        [self.webView loadRequest:request];
    } else {
        [CDVUserAgentUtil acquireLock:^(NSInteger lockToken) {
            _userAgentLockToken = lockToken;
            [CDVUserAgentUtil setUserAgent:_userAgent lockToken:lockToken];
            [self.webView loadRequest:request];
        }];
    }
}

私が抱えている問題は、navigateTo を呼び出す行で次のエラーが表示されることです。

4

1 に答える 1

1

CDVInAppBrowserViewController.h でメソッドを次のように宣言します。

- (void)navigateTo:(NSURL*)url withHeaders:(NSString*)headers;
于 2013-07-24T12:57:52.617 に答える