9

過去 2 日間解決しようとしていた非常に奇妙な問題があります... 5.1 SDK を使用して、Xcode 4.4 および iOS 5.1 シミュレーターで完全に正常に動作するコードがありました。Xcode 4.5 と 6.0 SDK に更新した後、私のコードは iOS 5.1 シミュレーターで動作しなくなりました... iOS 6.0 シミュレーターでは完全に動作しますが。私が気付いていない変化はありましたか?

これはコードです:

- (void)useDocument
{
    if (![[NSFileManager defaultManager] fileExistsAtPath:[self.database.fileURL path]]){
        [self.database saveToURL:self.database.fileURL forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL success){
            [self setupFetchedResultsController];
    }];
    } else if (self.database.documentState == UIDocumentStateClosed){
        [self.database openWithCompletionHandler:^(BOOL success){
            [self setupFetchedResultsController];
        }];          
    } else if (self.database.documentState == UIDocumentStateNormal) {
        [self setupFetchedResultsController];
    }
}

何らかの理由で、saveToURL と openWithCompletionHandler が 5.1 シミュレーターで返されません。誰でも理由を知っていますか?

4

3 に答える 3

6

iPhone Simulator 5.1 でも同じ問題が発生します。ファイルは長時間 (30 秒) 後に作成されます。ただし、完了ハンドラは呼び出されません。デバイスで試しましたか?

編集: これは iOS シミュレータ 5.1 のバグのようです。iOS 5.1.1 を搭載した古い iPad でコードをコンパイルしたところ、エラーなく動作しました。

于 2012-09-25T05:58:55.397 に答える
5

あなたのプロジェクトについては言えませんが、ここでは間違いなく Xcode 4.5 でした。

Xcode 4.3.1 のコピーと Simulator 5.1 を仮想マシンに持っていますが、何を推測しますか: それは問題なく動作します

→Xcode4.3.1/Simulator5.1で動く!

-> Xcode4.5 /Simulator5.1 に不具合があります

→Xcode4.5.1/Simulator5.1に不具合あり

回避策として、Xcode -> Preferences -> Downloads でシミュレーターのバージョン 5.0 をダウンロードできます。それはうまくいきます。

于 2012-09-25T14:27:41.517 に答える
-1

問題がシミュレーターにあるとは思いません。私はまったく同じ問題を抱えていました(アプリは6.0で実行されますが、5.xでは実行されません)。また、デバイスで実行しようとしましたが、まったく同じことが起こります。(私はここで私の問題を説明しました)

私の問題は 5.0 と 5.1 の両方で発生します。たとえば、「Master-detail Application」テンプレートを iOS 5.x シミュレーターで正しく実行することさえできませんが、6.0 では問題なく動作します。このテンプレートをデバイスで試しても、正しく動作しません。したがって、問題は XCode 4.5 にあると私は本当に信じています。

于 2012-10-10T08:53:53.150 に答える