Mac OS 10.8.3。这个简单的应用程序在单击浏览器中的链接时从自定义协议运行,例如运行。
使用xCode编译.app,无符号。
适用于大多数机器但不适用于某些机器。一个不起作用的是Mac OS 10.8.2,网守关闭。它给出了错误“因为奇怪的原因(13)而失败”。我想这与许可或安全有关。我尝试将内容/ MacOS / Binary chmod到777,但仍然是相同的。
我是否必须签署Apple开发证书以使其正常工作,或者在代码或plist中执行其他操作以使其在所有计算机上运行?
的plist
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>protocoltest</string>
</array>
<key>CFBundleURLName</key>
<string>com.TestWebLauncher</string>
</dict>
</array>
AppDelegate.m
#import "AppDelegate.h"
@implementation AppDelegate
@synthesize window = _window;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
if ([invokeUrl length] == 0)
{
invokeUrl = @"no url";
}
[txt setStringValue:invokeUrl];
}
- (id)init
{
[[NSAppleEventManager sharedAppleEventManager] setEventHandler:self andSelector:@selector(handleURLEvent:withReplyEvent:) forEventClass:kInternetEventClass andEventID:kAEGetURL];
return [super init];
}
- (BOOL)handleURLEvent:(NSAppleEventDescriptor*)event withReplyEvent:(NSAppleEventDescriptor*)replyEvent
{
NSString* url = [[event paramDescriptorForKeyword:keyDirectObject] stringValue];
NSLog(@"%@", url);
invokeUrl = url;
return YES;
}
@end