2

サーバー(S3)と通信する必要のあるiPhoneアプリを作成しています。ただし、このコードを実行すると、次のようになります。

- (void)submit
{
    dispatch_queue_t Q = dispatch_queue_create("Formula Submit", NULL);
    dispatch_async(Q, ^{
        NSMutableArray *formulas = [[NSArray arrayWithContentsOfURL:[NSURL URLWithString:@"https://urlremoved.com"]] mutableCopy];

        if (!formulas)
        {
            formulas = [[NSMutableArray alloc] init];
        }

       [_data addEntriesFromDictionary:[[NSDictionary alloc] initWithObjectsAndKeys:self.explanationTextView.text, @"explanation", nil]];

        [formulas addObject:_data];

        AmazonS3Client *s3 = [[AmazonS3Client alloc] initWithAccessKey:@"Access Key Removed" withSecretKey:@"Secret Key Removed"];

        S3PutObjectRequest *por = [[S3PutObjectRequest alloc] initWithKey:@"File Name Removed" inBucket:@"Bucket Name Removed"];
        por.contentType = @"application/octet-stream";

        NSData *plistData = [NSPropertyListSerialization dataFromPropertyList:formulas format:NSPropertyListBinaryFormat_v1_0 errorDescription:nil];

        por.data = plistData;
        [s3 putObject:por];
    });

    [self dismissModalViewControllerAnimated:YES];
}

コンソールに次のエラー/警告が表示されます。

void _WebThreadLockFromAnyThread(bool), 0x20150be0: Obtaining the web lock from a thread other than the main thread or the web thread. UIKit should not be called from a secondary thread.

このメッセージは、アプリのパフォーマンスにはまったく影響を与えていないようです。明らかな問題はなく、S3に正常にアップロードされます。

基本的に、このメッセージを消す方法があるかどうか疑問に思っています。

4

0 に答える 0