AVURLAsset's loadValuesAsynchronouslyForKeys method doesn't call completion block when executed in modal view controller <p>I'm using AV Foundation to replay in-bundle .mov files. I followed Apple's guide to initiate an AVURLAsset instance and called its <strong>- (void)loadValuesAsynchronouslyForKeys:(NSArray *)keys completionHandler:(void (^)(void))handler</strong> method.</p> <p>In the view controller loaded firstly, doing this works. </p> <p>My app architecture adds modal view controllers on top of the base one, I found calling loadValuesAsynchronouslyForKeys in the following modal view controllers doesn't work well: the completion block handler has never got called.</p> <p>I copy+paste the AV Foundation code shown below, so my thought is this code snippt doesn't work in modal view controllers, but why?</p> <pre><code>NSString *path = [[NSBundle mainBundle] pathForResource:@"video001" ofType:@"mov"]; NSURL *url = [NSURL fileURLWithPath:path isDirectory:NO]; AVURLAsset *asset = [AVURLAsset URLAssetWithURL:url options:nil]; [asset loadValuesAsynchronouslyForKeys:[NSArray arrayWithObjects:@"tracks", nil] completionHandler:^(void){ NSLog(@"compltion"); }]; </code></pre>