2012-09-21 8 views
5

Ich versuche eine osx Cocoa-Anwendung mit einem integrierten Webkit Webview zu erstellen, um eine Webseite anzuzeigen.Cocoa Webview - html5 Video Vollbild funktioniert nicht

Auf der Webseite sind html5 Videoelemente, die der Benutzer im Vollbildmodus abspielen kann. Aber Vollbild zeigt nur einen schwarzen Bildschirm auf Berglöwen (10.8.2) Audio spielt noch, aber auf OSX Lion hat es funktioniert, ist das ein Bug oder habe ich etwas vermisst.

Minimum Sample:

Schritte:

erstellen Kakao App hinzufügen eine Webansicht die Eigenschaft "web" verbinden und fügen Sie den webkit Rahmen

Code:

#AppDelegate.h

#import <Cocoa/Cocoa.h> 
#import <WebKit/WebKit.h> 

@interface AppDelegate : NSObject <NSApplicationDelegate> 
@property (assign) IBOutlet NSWindow *window; 
@property (weak) IBOutlet WebView *web; 
@end 

#AppDelegate.m

#import "AppDelegate.h" 

@implementation AppDelegate 

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 
    NSString *html = @"<html><body><video src=\"http://video-js.zencoder.com/oceans-clip.mp4\" controls></body></html>"; 
    [[self.web mainFrame] loadHTMLString:html baseURL:nil]; 
} 
@end 

IN OSX 10.8.3 FIXED:

Problem scheint in OSX 10.8.3 fixiert werden Vollbild funktioniert jetzt auch ohne Sandbox wie es vor OSX tat 10.8.2

+1

ich diesen Fehler bestätigen können, und dass es funktioniert, bis 10.8.1, so hat es eine Änderung im letzten Update. – Conor

+1

Ein eingereicht, aber Bericht mit Apfel, lassen Sie uns abwarten und sehen – tripplet

+0

Ausgezeichnet, habe ich auch. Duplikate zu füllen ist eine der wenigen Möglichkeiten, dem Bug Priorität zu geben. – Conor

Antwort

1

ich ein Setup-Projekt mit dem genauen Code Sie auf dem Laufenden. Das ist mir wirklich missglückt und hat nur einen schwarzen Bildschirm im Vollbildmodus gezeigt.

Dies scheint jedoch ein Problem mit Sandboxing mit WebKit zu sein. Nach dem Sandboxing funktionierte der App-Vollbildschirm wie erwartet. (Mit 10.8.2)

wurde die App Sandbox ohne zusätzliche Berechtigungen erforderlich, um diese Arbeit zu machen:

enter image description here

+0

Es funktioniert für den Demo-Code, aber ich muss ausgehende Verbindungen für meine App zulassen, wenn ich "Ausgehende Verbindungen zulassen" aktivieren Ich bin wieder auf dem schwarzen Vollbild, als Antwort angenommen, weil es löst das gepostete Problem. Aber ich hoffe, jemand kennt eine Lösung, die ausgehende Verbindungen ermöglicht – tripplet

-2

u könnte diesen Code versuchen, hoffe, es wird mit u arbeiten .. dies auf dem iPhone funktioniert und ich denke, es auf osx arbeiten

Header-Datei

UIWebView *webView; 

Implementieren Datei

NSString *html = @"<html><body><video src=\"http://video-js.zencoder.com/oceans-clip.mp4\" controls></body></html>"; 

webView =[[UIWebView alloc] initWithFrame:CGRectMake(14, 57, 670, 675)]; 
     [webView loadHTMLString:html baseURL:nil]; 
[self.view addSubview:webView]; 
+0

UIWebView ist nicht auf osx verfügbar – tripplet

Verwandte Themen