我最近为MAC Store打包了我的应用程序并被拒绝了。以下是审核小组发送给我的消息。当我使用开发模式进行测试时,一切正常,但我无法想象我的错误。任何想法将不胜感激。 应用程序是使用Electron构建的。
设计序言
您的应用的用户界面与macOS Human不一致 接口指南。
具体来说,我们发现当用户关闭主应用程序时 窗口没有菜单项重新打开它。
后续步骤
应用程序实现一个Window菜单是合适的 列出主窗口,以便可以重新打开,或提供类似的窗口 另一个菜单项中的功能。 macOS人机界面指南 声明“菜单栏[a] lways包含[a]窗口菜单”。
或者,如果应用程序是单窗口应用程序,则可能是 适合保存数据并在主窗口退出时退出应用程序 闭合。
有关在macOS中管理窗口的信息,请查看 Apple人机界面指南中的以下部分:
菜单栏及其菜单
窗口菜单
文件菜单
单击Dock中 窗口行为
请评估你的能力 实施相应的更改,然后重新提交您的应用以供审核。
答案 0 :(得分:2)
问题在于,通过按import org.apache.spark.sql.types._
import org.apache.spark.sql.functions._
val jsonSchema1 = new StructType()
.add("first", LongType)
.add("second", LongType)
val jsonSchema2 = new StructType()
.add("second", LongType)
.add("first", LongType)
println(jsonSchema1 == jsonSchema2)
将应用程序最小化之后,用户无法从扩展坞再次打开它。
解决此问题的一种方法是在单击x button
时仅terminate
个应用程序。
我遇到了同样的问题,并通过在x button
中添加此函数来解决了该问题。此解决方案适用于AppDelegate
Swift 4.2
现在,单击func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
return true
}
时,应用程序终止。
答案 1 :(得分:0)
如果您正在使用Xamarin,请编辑AppDelegate.cs以创建菜单以重新打开主窗口:
public class AppDelegate : FormsApplicationDelegate
{
NSWindow window;
public override NSWindow MainWindow
{
get
{
return window;
}
}
public AppDelegate()
{
var style = NSWindowStyle.Closable | NSWindowStyle.Resizable | NSWindowStyle.Titled;
var rect = new CoreGraphics.CGRect(100, 100, 1024, 768);
window = new NSWindow(rect, style, NSBackingStore.Buffered, false);
window.TitleVisibility = NSWindowTitleVisibility.Hidden;
}
private NSMenu MakeMainMenu()
{
// top bar app menu
NSMenu menubar = new NSMenu();
NSMenuItem appMenuItem = new NSMenuItem();
menubar.AddItem(appMenuItem);
NSMenu appMenu = new NSMenu();
appMenuItem.Submenu = appMenu;
// add separator
NSMenuItem separator = NSMenuItem.SeparatorItem;
appMenu.AddItem(separator);
// add open menu item
string openTitle = String.Format("Open {0}", "MyApp");
var openMenuItem = new NSMenuItem(openTitle, "o", delegate
{
// Get new window
window.MakeKeyAndOrderFront(this);
});
appMenu.AddItem(openMenuItem);
// add quit menu item
string quitTitle = String.Format("Quit {0}", "MyApp");
var quitMenuItem = new NSMenuItem(quitTitle, "q", delegate
{
NSApplication.SharedApplication.Terminate(menubar);
});
appMenu.AddItem(quitMenuItem);
return menubar;
}
public override void DidFinishLaunching(NSNotification notification)
{
// finally add menu
NSApplication.SharedApplication.MainMenu = MakeMainMenu();
// Insert code here to initialize your application
Forms.Init();
//Load Application
LoadApplication(new App());
//Did Finish Launching
base.DidFinishLaunching(notification);
}
public override void WillTerminate(NSNotification notification)
{
// Insert code here to tear down your application
}
}
如果您正在使用Cocoa,请执行相同的操作,但要使用特定的语言。
按照以下说明重新打开窗口:
[window makeKeyAndOrderFront:self];
答案 2 :(得分:0)
对于电子应用,您可以将此代码添加到OpenAPI
或index.js
中以解决此问题:
main.js