将URL加载到WebView中的问题

时间:2014-05-05 09:52:53

标签: objective-c cocoa webview sigabrt

我是Xcode的新手。我正在使用Xcode 5.1.1。在OS X 10.9.2下。 我想做一个非常简单的Mac应用程序,以了解如何在启动时在WebView中加载URL。在阅读了几个来源(包括来自StackOverflow的问题)之后,我尝试了大约10种不同的方法并完成了相同的结果 - 在Build& Run之后,屏幕上没有窗口。错误消息是:

  • 信号SIGABRT,argc = 3(main())
  • 控制台区域中的
  • :*由于未捕获的异常而终止应用程序 ' NSInvalidUnarchiveOperationException',原因:' * - [NSKeyedUnarchiver decodeObjectForKey:]:无法解码类的对象(WebView)'

  • libc ++ abi.dylib:以未捕获的类型异常终止 NSException

我做了什么:

在IB中我创建了WebView窗口并创建了一个插座zzz(我试图从AppDelegate按住Ctrl键拖动到WebView,反之亦然)。 所以这是我完成的代码:

//  AppDelegate.h
#import <Cocoa/Cocoa.h>
#import <WebKit/WebKit.h>
@interface AppDelegate : NSObject <NSApplicationDelegate>
@property (assign) IBOutlet NSWindow *window;
@property (retain, nonatomic) IBOutlet WebView *zzz;
@end

//  AppDelegate.m
#import "AppDelegate.h"
@implementation AppDelegate
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
  [self.zzz setMainFrameURL:@"http://www.google.com/"];
// I tried to put this code into awakeFromNib procedure too
}
@end

我尝试使用applicationDidFinishLaunching / awakeFromNib中的代码,如下所示:

NSString *urlAddress = @"http://www.google.com/";
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[[self.zzz mainFrame] loadRequest:requestObj];

但我明白这与[self.zzz setMainFrameURL:@&#34; http://www.google.com/&#34;];

相同

同样的错误! Strrange!怎么了?

感谢。

1 个答案:

答案 0 :(得分:7)

您尚未将Webkit Framework添加到项目中。转到Project -> Target -> Build Phases,然后在Link Binary with Libraries部分添加Webkit framework