【问题标题】:Parse bmrk NSAppleEventDescriptor from final cut pro x从 final cut pro x 中解析 bmrk NSAppleEventDescriptor
【发布时间】:2020-07-29 09:44:43
【问题描述】:

在 Final cut pro 中,我分享到我的应用程序。

以下代码

[[NSAppleEventManager sharedAppleEventManager] setEventHandler:self 
            andSelector:@selector(handleAppleEvent:withReplyEvent:) forEventClass:kCoreEventClass andEventID:kAEOpenDocuments];

- (void)handleAppleEvent:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent {
    NSLog(@"handleAppleEvent %@", event);
}

我得到了类似的东西。
'aevt''odoc'{ '----':[ 'bmrk'(1012 / $ ... 626F6F6BF403000000000410300000000000000000000000000000000000000000000000000000000000000000000000C00200000400000003030000000200000500000001010000557365727300000009000000010100006D75796F756E676B6F0000000900000001010000446F63756D656E747300000007000000010100006161612E6D7866001000000001060000100000002000000034000000480000000800000004030000BC300600000000000800000 P>

我期望可读的信息像 /Users/hansome/Document/a.mov

我该如何解析这个?

【问题讨论】:

标签: objective-c macos finalcut nsappleeventdescriptor


【解决方案1】:

我在没有完全理解的情况下找到了代码。

    NSLog(@"handleAppleEvent 1 %@", event);

    NSAppleEventDescriptor* prop = [event paramDescriptorForKeyword:keyAEPropData];
    NSLog(@"handleAppleEvent prop %@", prop);
    
    NSAppleEventDescriptor* obj = [event paramDescriptorForKeyword:keyDirectObject];
    NSLog(@"handleAppleEvent obj %@", obj);
    
    
    if(obj != nil){
        for(int j=0;j<10;j++){
            NSAppleEventDescriptor* obj2 = [obj descriptorAtIndex:j];
            if(obj2 != nil){
                BOOL isStale;
                NSError* error;
                NSURL* url = [NSURL URLByResolvingBookmarkData:[obj2 data] options:NSURLBookmarkResolutionWithoutUI relativeToURL:nil bookmarkDataIsStale:&isStale error:&error];
                NSLog(@"handleAppleEvent bmrk %@", url);
            }
        }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-21
    • 1970-01-01
    相关资源
    最近更新 更多