我最近为MAC商店打包了我的应用程序,但被拒绝了。下面是评审小组给我的信息。当我使用开发模式进行测试时,一切都很好,但我无法想象哪里出了问题。任何想法都将不胜感激。应用程序是用电子.开发的。
设计前导 您的应用程序的用户界面与macOS人机界面指南不一致。 具体来说,我们发现当用户关闭主应用程序窗口时,没有菜单项可以重新打开它。 下一步 应用程序应该实现一个列出主窗口的窗口菜单,以便重新打开它,或者在另一个菜单项中提供类似的功能。macOS人机界面指南规定“菜单栏始终包含窗口菜单”。 或者,如果应用程序是一个单一窗口应用程序,那么在主窗口关闭时保存数据并退出应用程序可能是合适的。 有关在macOS中管理windows的信息,请参阅准则中的以下部分: 菜单栏及其菜单 窗口菜单 “文件”菜单 点击船坞 窗口行为 请评估如何实现适当的更改,并重新提交您的应用程序审查。
发布于 2018-11-18 22:35:00
问题是,在通过按x button将应用程序最小化之后,用户无法从码头再次打开它。
解决这一问题的一种方法是在单击terminate时只对应用程序进行x button处理。
我也有同样的问题,并通过在AppDelegate中添加这个函数来修正它。此解决方案适用于Swift 4.2
func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool {
return true
}现在,当单击x button时,应用程序将终止。
发布于 2019-12-03 00:50:43
如果您正在使用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];发布于 2020-12-09 13:56:33
对于电子应用程序,您可以将此代码添加到您的index.js或main.js中以解决此问题:
app.on('window-all-closed', () => {
app.quit();
});https://stackoverflow.com/questions/47686008
复制相似问题