0

私はiOSが初めてで、Androidの経験が豊富です。GCDWebUploaderを使用しています。その正常に動作します。

アプリがバックグラウンドにある場合、サーバーは一時停止します。iOS バックグラウンド実行の制約を認識しています。私はその行動を変えたくありません。

しかし、GCDWebServer のドキュメントで、この一時停止を無効にできることがわかりました。ここhttps://github.com/swisspol/GCDWebServer#gcdwebserver--background-mode-for-ios-appsを確認してください。具体的にはこの部分

HTTP 接続が開かれていないときにアプリがバックグラウンドになった場合、GCDWebServer はすぐに停止し、-stop を呼び出したかのように新しい接続の受け入れを停止します(この動作は ****GCDWebServerOption_AutomaticallySuspendInBackground**** オプションで無効にすることができます)。 .

このオプションをどのように設定しますか。私は試した

GCDWebServerOption_AutomaticallySuspendInBackground = "NO"

そして、明らかなエラーが発生します:

値に代入できません:「GCDWebServerOption_AutomaticallySuspendInBackground」は「let」定数です

4

1 に答える 1

3

NSDictionaryGCDWebServer インスタンスから次のメソッドを使用して、構成オプションを渡すことになっています。

- (BOOL)startWithOptions:(NSDictionary*)options error:(NSError**)error;

編集: Objective-Cのオンザフライ辞書を使用した実用的な例:

NSError*myError = nil;
self.webServer = [[GCDWebServer alloc] init];
BOOL success = [self.webServer startWithOptions:@{
               GCDWebServerOption_AutomaticallySuspendInBackground : @(NO)
               } error:&myError];

スウィフトコード

var myError: NSError?
let webServer = GCDWebServer()
webServer.startWithOptions([GCDWebServerOption_AutomaticallySuspendInBackground : false], error: myError)

ちょっとしたヒント: GCDWebServer のログ レベルを変更する場合は、静的メソッドを使用できます。

[GCDWebServer setLogLevel:4];
于 2016-06-29T13:42:39.393 に答える