Tag: uiwebview

如何在iOS中播放YouTubevideo不全屏?

我一直在试图让YouTube音乐video在我的iOS应用程序中在一个小窗口(不是全屏)中播放,无法使其工作。 我已经尝试了以下内容: 我首先使用YouTube API,并按照此处的说明创build了YTPlayerView: https : //developers.google.com/youtube/v3/guides/ios_youtube_helper#adding_ytplayerview 。 这使我可以在线播放video,但许多video由于许可问题而无法播放,声明"This video contains content from *. It is restricted from playback on certain sites." 然后我尝试使用一个UIWebView,它成功地播放了以前不可用的音乐video。 但是,即使设置了webView.allowsInlineMediaPlayback = YES; ,这些video也总是被迫以全屏模式播放webView.allowsInlineMediaPlayback = YES; 我也尝试使用这里讨论的技术embeddedvideo: 如何在YouTube上embeddedYouTubevideo,并直接在UIWebview上播放,而不是全屏 。 这有助于保持video内联,但再次,使某些video无法播放。 我终于尝试使用MPMoviePlayerController,但后来发现它不能真正播放YouTubevideo,因为我们没有访问video文件的直接链接,所以这是另一个不行。 像PingTune这样的应用程序显然能够使用YouTube来解决这个问题 – 他们能够以自定义,非全屏视图播放YouTube音乐video,而无需投放广告 – 我错过了什么? 是否有YouTube API的一部分允许我播放这些我错误实施的音乐video?

UIWebView更低的加载时间,更高效的方式

我正在下载乘法htmls并将它们保存在NSArraystring本地。 然后我使用3个UIWebViews加载内容。 用户总是看到一个UIWebView并使用下面的代码在后台加载2个UIWebViews : [_firstWebView loadHTMLString:nextHtml.body baseURL:nil]; 当用户在UIWebViews之间移动时,如果他一次移动2个UIWebViews ,我仍然可以看到1-2秒的加载速度慢。 我想到了5甚至7 UIWebViews但恐怕会严重影响内存使用。 另一个想法是保存在NSData本地的内容,然后加载 [web loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:filePath]]]; 但是我不确定这会给我带来什么改善,还是会呢? 另一个想法是,我的应用程序(屏幕上的animation)的东西是减缓加载时间,所以也许我应该加载loadHTMLString:nextHtml在不同的线程? 谢谢

在Objective-C代码中找不到windowScriptObject方法

我有一个UIWebView与我的应用程序,并希望从JavaScript调用Objective-C方法。 我发现所有的文档和教程,我看到的只是使用windowScriptObject方法,但在我的代码Xcode说, -windowScriptObject没有实例方法-windowScriptObject 。 怎么了? – (void)viewDidLoad { [super viewDidLoad]; UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; NSString *indexPath = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"www"]; NSURL *url = [NSURL fileURLWithPath:indexPath]; NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; [webView loadRequest:requestObj]; [self.view addSubview:webView]; id win = [webView windowScriptObject]; // In this line, Xcode alert 'Instance method "-windowScriptObject" […]

为iOS 3.0和更新版本的UIWebView缩放缩放

我一直在阅读如何支持webview的缩放,我发现了很多资源。 而现在我真的迷失了。 我读过的东西: 所有你需要的是启用“缩放页面适合” 在uiscrollview中添加uiwebview(同时设置 最小/最大缩放比例和 实施 – (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView) 那么你可能需要处理触地事件…手动然后你可能不得不 认识他们…手动…或 使用手势识别器。 而苹果文档并没有真正的帮助,我真的不知道他们在谈论哪个ios? 我现在真的迷失了。 所以如果一些cocoa触摸的老手(这是很难find的)可以引导我们。 我需要一个uiscrollview? 我真的需要执行什么? 什么时候我需要捕捉触摸事件,识别手势和缩放工作。 大约哪些ios需要哪个。 也许这个话题会帮助我和其他像我这样的人。 非常感谢

UIWebView在Safari中启动

我知道这已经被提了很多次,在这个网站上的答案是两倍,但是我想我可能会有一些不同的东西,需要知道是否有可能。 我试图从网站加载一个横幅广告到应用程序中的UIWebView。 所有这些工作完美无瑕。 然而,无论我试图实现什么代码,我都无法得到它,所以当在应用程序中点击广告时,它将在Safari中启动。 基本上我想有我自己的广告服务器。 广告托pipe在我们的网站上。 横幅中有由服务器embedded的链接。 这是我正在使用的代码。 – (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. NSString *string; string = @"http://www.samplesite.com/mobile_ads"; NSURL *url = [NSURL URLWithString: string]; NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; [self.adBox loadRequest:requestObj]; } -(BOOL) adBox:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType { if ( inType […]

不是使用UIWebView(iOS)自动login到Google+的?

我有一个与UIWebViewauthentication的问题。 我想在plus.google.co的webview中login 我login谷歌加一次,如图所示 https://developers.google.com/+/mobile/ios/sign-in 当用户在UIWebView中再次访问google +页面时,程序应该自动login并保存用户的会话。 但实际上它不会保持login状态。我如何保持用户login谷歌+,虽然用户是我的应用程序中的一次loginGoogle+。 我也检查了这样的条件:[[GPPSignIn sharedInstance]身份validation],它返回true我loginalready.but当我检查uiwebview推新的ViewController然后它要求我login。 当我在Safari中打开plus.google.com然后它显示我作为login用户。 我search了很多,但无法find答案。请帮助我从这里。

NSAppTransportSecurity UIWebView问题

我在我的info.plist文件中有这些行: <key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>mysebserver.com</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> <true/> <key>NSTemporaryExceptionMinimumTLSVersion</key> <string>TLSv1.1</string> </dict> </dict> </dict> 所以它完美的与我的API调用。 在我的视图控制器我有UIWebView试图显示Web内容: NSURLRequest* request = [NSURLRequest requestWithURL:[NSURL URLWithString:self.webSiteUrlSting] cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:30]; [self.theWebView loadRequest:request]; 在iOS7和iOS8上它工作的很好,但在iOS9上显示调用后的错误UIWebView委托- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error : 应用传输安全已阻止明文HTTP(http://)资源加载,因为它是不安全的。 临时例外可以通过您的应用程序的Info.plist文件进行configuration。 委托方法包含如下所示的错误实例: 错误域= NSURLErrorDomain代码= -1022“无法加载资源,因为应用程序传输安全策略需要使用安全连接。 UserInfo = {NSUnderlyingError = 0x7fbaa253ba20 {Error Domain = kCFErrorDomainCFNetwork Code = -1022“由于App Transport Security策略要求使用安全连接,因此无法加载资源。 UserInfo […]

UIWebView中的广告拦截器

从iOS 9 Apple通过安装阻止程序在safari中启动广告拦截程序并按照此处所述使用它。 我的问题是如何使用UIWebView广告拦截器? 我的意思是如果我的应用程序有UIWebView ,我想阻止在我的UIWebView ad-mob 。 如果可能,那么如何实现这一点,如果不是,那么是否有任何替代解决scheme可用。 已经完成研发 我已经通过许多网站和苹果文件,我没有得到任何解释我的问题的来源。 在苹果文档,我得到了NEFilterProvider 。 根据苹果公司的说法, NEFilterProvider在networking内容通过设备上的networking堆栈时检查networking内容,并决定networking内容应该被阻止还是被允许传递到最终目的地。 但是我不知道如何使用NEFilterProvider 。 如果您有任何进一步的知识,请分享。 谢谢。

ios web view – 点击后,如何在网页浏览器中打开页面,而不是embedded到应用程序中

我有一个UIWebView屏幕,在其中我有一个链接,我想要去一个不同的网页。 现在我有这个: if ([request.URL.scheme isEqualToString:@"something"]) { NSURL *url = [NSURL URLWithString:@"stackoverflow.com]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [theWebView loadRequest:request]; } 但它只是打开应用程序本身的链接。 但是,如何让它加载网页浏览器,并打开网页浏览器内的url? 同样,如果我想链接到我的应用程序商店内的其他应用程序,有什么正确的方法来做到这一点? 谢谢!

UIWebView不显示我的网页

对于一些背景信息,我试图展示的网页是一个当前在AWS的EC2上托pipe的Web应用程序。 后端是Python w / Flask,前端只是简单的HTML / CSS。 该URL具有HTTP,因为它尚未使用HTTPS进行保护。 当这个网页的URL被打开时,浏览器要求的第一件事是login凭证(浏览器询问,而不是网站)。 这个页面在我的iPhone上的移动版Safari 中加载,而且Safari成功地请求了凭据。 如果我input正确,它将正确加载页面。 所以我已经尝试在应用传输安全设置下允许任意负载以及使用以下按键的自定义的例外域: App Transport Security Settings Dictionary Exception Domains Dictionary my website URL Dictionary NSIncludesSubdomains Boolean (YES) NSExceptionAllowsInsecureHTTPLoads Boolean (YES) NSThirdPartyExceptionAllowsInsecureHTTPLoads Boolean (YES) NSExceptionMinimumTLSVersion String (TLSv1.0) NSExceptionRequiresForwardSecrecy Boolean (YES) 然而,每当我在模拟器上启动应用程序,所有我回来是一个白色的屏幕(如果需要可以张贴截图)。 这是我在ViewController.swift中的代码: import UIKit class ViewController: UIViewController { @IBOutlet var WebView: UIWebView! override func viewDidLoad() […]