gpt4 book ai didi

iphone - UIWebView 加载崩溃 [__NSCFDictionary _isChargeEnabled]

转载 作者:行者123 更新时间:2023-12-02 07:59:58 27 4
gpt4 key购买 nike

我使用 UIWebView 加载此站点 http://www.xiami.com/song/1024665

如果我触摸此站点中的 View 或播放音频,有时我的应用程序会崩溃,而有时却不会,为什么?
是因为html5吗?怎么解决?
其他网站没问题。

崩溃日志是
* -[MPTransportButton _isChargeEnabled]:消息发送到已释放实例 0x20aa58d0

任何帮助深表感谢

- -更新 - -

我创建了一个新的基于 View 的项目,ViewController 中的代码如下

这一次,崩溃日志是

2011-08-16 18:11:25.450 WebTest[1291:707] -[__NSCFDictionary _isChargeEnabled]: unrecognized selector sent to instance 0x1ede0a10
2011-08-16 18:11:25.462 WebTest[1291:707] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFDictionary _isChargeEnabled]: unrecognized selector sent to instance 0x1ede0a10'
*** Call stack at first throw:
(
0 CoreFoundation 0x30ea764f __exceptionPreprocess + 114
1 libobjc.A.dylib 0x349c2c5d objc_exception_throw + 24
2 CoreFoundation 0x30eab1bf -[NSObject(NSObject) doesNotRecognizeSelector:] + 102
3 CoreFoundation 0x30eaa649 ___forwarding___ + 508
4 CoreFoundation 0x30e21180 _CF_forwarding_prep_0 + 48
5 UIKit 0x30f232bd -[UIWindow warpPoint:] + 200
6 UIKit 0x30f0c1d5 _UIApplicationHandleEvent + 2404
7 GraphicsServices 0x30790e77 PurpleEventCallback + 666
8 CoreFoundation 0x30e7ea97 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 26
9 CoreFoundation 0x30e8083f __CFRunLoopDoSource1 + 166
10 CoreFoundation 0x30e8160d __CFRunLoopRun + 520
11 CoreFoundation 0x30e11ec3 CFRunLoopRunSpecific + 230
12 CoreFoundation 0x30e11dcb CFRunLoopRunInMode + 58
13 GraphicsServices 0x3079041f GSEventRunModal + 114
14 GraphicsServices 0x307904cb GSEventRun + 62
15 UIKit 0x30f37d69 -[UIApplication _run] + 404
16 UIKit 0x30f35807 UIApplicationMain + 670
17 WebTest 0x00013425 main + 48
18 WebTest 0x000133f0 start + 40
)
terminate called after throwing an instance of 'NSException'

项目中的源码,这次不用MPMoviePlayerController什么的
 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [self init];
return self;
}

- (id)init
{
if (self = [super initWithNibName:nil bundle:nil])
{
}
return self;
}

- (void)viewDidLoad
{
[super viewDidLoad];

UIWebView *web = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
[web loadRequest:[NSURLRequest requestWithURL:
[NSURL URLWithString:@"http://www.xiami.com/song/1024665"]]];
web.delegate = self;
[self.view addSubview:web];
[web release];
}

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
return YES;
}
- (void)webViewDidStartLoad:(UIWebView *)webView
{
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
//[webView stringByEvaluatingJavaScriptFromString:@"window.scrollTo(0, 10);"];
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
}

最佳答案

您发布的代码没有任何问题。
NSZombie说有一个MPTransportButton在您的代码中之前被释放(释放)的某个地方,然后,在您的代码中的其他地方,您想要对它做一些事情。

我认为您可以在其中一个 UIWebView 中执行此操作的委托(delegate)方法。

但是... 我们需要更多代码 .你在哪里alloc/init您的 MPMoviePlayerController ?还是你alloc/init一个 MPTransportButton ?

关于iphone - UIWebView 加载崩溃 [__NSCFDictionary _isChargeEnabled],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7075134/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com