Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Xcode 4.5 - OS X Cocoa Application - Basic Web View: Load Google when opened

I'm trying to create an extremely basic OS X Cocoa Application that when opens loads http://www.google.com. As basic as possible (no back or forward buttons, etc.).

I have little experience with Xcode 4.5 and I can't find any tutorials regarding a web view for OS X Cocoa Application AND Xcode 4.5. I was able to find a tutorial and create a web view for an iOS web view. I took what I learned but didn't get very far.

Here's what I did so far:

  • Created New OS X Cocoa Application in Xcode 4.5.2
  • Added a WebView object to the Window object

Based on the iOS web view tutorial I assume all I need to do is add a couple lines of code and it should work?

This is the code I used in the iOS web view (ViewController.m):

NSURL *myURL = [NSURL URLWithString:@"http://www.google.com"];

NSURLRequest *myRequest = [NSURLRequest requestWithURL:myURL];

[myWebView loadRequest:myRequest];

Any help would be much appreciated. I've been stuck on this all night.

like image 682
user1822824 Avatar asked Jul 27 '26 09:07

user1822824


1 Answers

After adding the WebView to your main window, you'll want to make sure you've added the WebKit.framework to the Linked Frameworks and Libraries for your project otherwise you'll get a linking error.

.h:

@class WebView;

@interface MDAppDelegate : NSObject <NSApplicationDelegate>

@property (weak) IBOutlet WebView *webView;
@property (assign) IBOutlet NSWindow *window;

@end

Assuming you've created an IBOutlet for the WebView named webView like in the code above, you can load a URL using the code below:

.m:

@implementation MDAppDelegate

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
    NSURLRequest *request = [NSURLRequest requestWithURL:
                 [NSURL URLWithString:@"https://www.google.com/"]];
    [self.webView.mainFrame loadRequest:request];
}

@end

Sample GitHub project: https://github.com/NSGod/WebViewFinagler

like image 183
NSGod Avatar answered Jul 30 '26 00:07

NSGod