Objective c 戈朗+;cgo-AppDelegate实现不需要';行不通

Objective c 戈朗+;cgo-AppDelegate实现不需要';行不通,objective-c,macos,go,cocoa,cgo,Objective C,Macos,Go,Cocoa,Cgo,我想在go中编写一个能够在MacOS上打开自定义文件类型(.slc)的应用程序。我创建了一个空白的xcode项目来获取所有必要的代码,并通过cgo将其实现到我的应用程序中。当我双击某个文件时,应用程序会打开,但会抱怨无法以这种格式打开文件: 这是我的信息列表: 执行情况如下: /sweep/appDelegate\u darwin.go package surge //#cgo CFLAGS: -x objective-c //#cgo LDFLAGS: -framework Cocoa

我想在go中编写一个能够在MacOS上打开自定义文件类型(.slc)的应用程序。我创建了一个空白的xcode项目来获取所有必要的代码,并通过cgo将其实现到我的应用程序中。当我双击某个文件时,应用程序会打开,但会抱怨无法以这种格式打开文件:

这是我的信息列表:

执行情况如下:

/sweep/appDelegate\u darwin.go

package surge

//#cgo CFLAGS: -x objective-c
//#cgo LDFLAGS: -framework Cocoa
//#include "appDelegate_darwin.h"
import "C"
/sweep/appDelegate_darwin.h

#import <Cocoa/Cocoa.h>

@interface AppDelegate : NSObject <NSApplicationDelegate>


@end
#import <Cocoa/Cocoa.h>

extern void HandleFile(char *);

@interface AppDelegate : NSObject <NSApplicationDelegate>

@end

@interface Document : NSDocument

@end
其他信息:我使用wails框架()向应用程序添加一个漂亮的vue.js前端,并使用内置的
wails build
命令


cgo和objective-c中的其他实现(如自定义协议处理程序)也能正常工作。

经过几个不眠之夜,我通过调查和学习常规mac应用程序的结构,找到了自己的解决方案

除了实现
AppDelegate
之外,还需要实现
Document
和一些附加函数以使其运行。这是我的

/sweep/appDelegate_darwin.h

#import <Cocoa/Cocoa.h>

@interface AppDelegate : NSObject <NSApplicationDelegate>


@end
#import <Cocoa/Cocoa.h>

extern void HandleFile(char *);

@interface AppDelegate : NSObject <NSApplicationDelegate>

@end

@interface Document : NSDocument

@end
我希望有人觉得这个有用