1
NSURL *url = [NSURL URLWithString:@"http://locationofurlonlocalhost.mp4"];

...

NSMutableURLRequest *req;
req = [NSMutableURLRequest requestWithURL:url // <-- CRASH IS HERE!! thx to a breakpoint stepthrough
          cachePolicy:NSURLRequestUseProtocolCachePolicy
          timeoutInterval:30.0];

URLのログは次のようになります。

Printing description of url:
<NSURLRequest http://locationofurlonlocalhost.mp4>

クラッシュはログに記録されます

-[NSURLRequest absoluteURL]: unrecognized selector sent to instance 0x88003e0

URLは問題ないように見えるので、何が起こっているのかわかりません。URLがシミュレーターに到達できないため、これが発生する可能性がありますか?シムのサファリとデスクトップサファリのURLに接続できます。私は何をすべきか?

** 編集 **

urlオブジェクトのリリースが早すぎると判断されました。URLで...別のセレクターに渡され、残りのコードがそこで実行されます。URLを強制的に保持するにはどうすればよいですか?私はすでに試しました:

__strong NSURL *url = [[NSURL alloc] initWithString:@"http://locationofurlonlocalhost.mp4"];
4

1 に答える 1

1

これは間違いなく、あなたの URL が何らかの理由で解放されたように見えます。url変数の説明をNSURLRequest出力し、最後に .

トラブルシューティングの手順として alloc / initWithString: を使用してみてください。

于 2012-04-22T19:28:41.340 に答える