我使用mono和gtk#开发了一个mac应用程序 问题是默认的文件处理程序。 我使用此Info.plist(代码段)注册我的应用程序
...
<array>
<dict>
<key>CFBundleTypeName</key>
<string>My Filetype</string>
<key>CFBundleTypeIconFile</key>
<string>file.icns</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleTypeExtensions</key>
<array>
<string>ext</string>
<string>EXT</string>
</array>
<key>LSIsAppleDefaultForType</key>
<true/>
</dict>
</array>
....
它正确注册(图标匹配,打开我的应用程序),但每当我打开文件时出现以下消息:
The document "test.ext" could not be opened. mono cannot open files of this type.
那我怎样才能让它发挥作用呢?
答案 0 :(得分:0)
我自己发现了:
将https://github.com/mono/monodevelop/tree/master/main/src/addins/MacPlatform/MacInterop包含在您的项目中。
使用此代码
ApplicationEvents.OpenDocuments+= delegate (object sender, ApplicationDocumentEventArgs e) {
if (e.Documents != null && e.Documents.Count > 0) {
// e.Documents holds the files
}
e.Handled = true;
};