今日の変な行動に気がつきましたUIWebview
。
モーダル ビューでを開きUiwebview
、ビデオを再生すると。完全なビデオが再生さdismiss
れるuiwebview
と、もう一度呼び出すとクラッシュします。
ここで注目すべき興味深い点は、この動作はiPad
& でのみ正常に動作することiPhone
です。
それが指していたゾンビのデバッグと有効化について
[MPTransportButton _isChargeEnabled]: message sent to deallocated instance 0x7530930
.
呼び出し側:
#import "POCViewController.h"
#import "POCWebViewController.h"
@interface POCViewController ()
@end
@implementation POCViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)displayWebview:(id)sender {
POCWebViewController *objPOCWebViewController = [[POCWebViewController alloc]init];
[self presentViewController:objPOCWebViewController animated:YES completion:nil];
[objPOCWebViewController release];
}
@end
UIWebview
含まれているビューコントローラー
#import "POCWebViewController.h"
@interface POCWebViewController ()
@end
@implementation POCWebViewController
@synthesize webview;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
NSURL *usl = [NSURL URLWithString:@"Any Youtube url"];
NSURLRequest *urlReq = [NSURLRequest requestWithURL:usl];
[webview loadRequest:urlReq];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)dealloc {
if(webview != nil)
[webview release], webview = nil;
[super dealloc];
}
- (IBAction)dismissTapped:(id)sender {
[self dismissViewControllerAnimated:NO completion:nil];
}
@end
私がどこで間違っているのかについて何か考えはありますか?
編集 1: コードで遊んだ後、欠陥が HTML で使用されている「jw-player」に限定されていることがわかりました。つまり、フラッシュと他のプレーヤーは問題ありませんでした。
このリンクで同じ POC を開こうとすることができますhttp://www.longtailvideo.com/jw-player/
。これは jw-player を使用します。
完全なビデオが再生されているときに、view controller
を含むを閉じuiwebview
て再度表示すると、クラッシュにつながります。