Macos Mac应用程序因窗口为空而被拒绝

Macos Mac应用程序因窗口为空而被拒绝,macos,cocos2d-iphone,appstore-approval,Macos,Cocos2d Iphone,Appstore Approval,我的最新Mac应用被拒绝,原因如下: “当用户启动应用程序时,主应用程序窗口显示为空白。请参阅附加的屏幕截图。” 以下是屏幕截图(基本上是一个空白的白色mac窗口): 这个应用程序(使用Cocos2D)在我的开发机器上运行良好。我甚至将提交给苹果的二进制文件作为Mac安装包导出,并安装在单独的iMac上,运行非常完美 我在这里真是不知所措。由于我无法重现这个问题,我不知道如何解决它 有人知道是什么原因导致我的Mac应用程序显示为一个空白窗口供苹果评论员使用,而不是供我使用吗?我以前见过几次,通

我的最新Mac应用被拒绝,原因如下: “当用户启动应用程序时,主应用程序窗口显示为空白。请参阅附加的屏幕截图。”

以下是屏幕截图(基本上是一个空白的白色mac窗口):

这个应用程序(使用Cocos2D)在我的开发机器上运行良好。我甚至将提交给苹果的二进制文件作为Mac安装包导出,并安装在单独的iMac上,运行非常完美

我在这里真是不知所措。由于我无法重现这个问题,我不知道如何解决它


有人知道是什么原因导致我的Mac应用程序显示为一个空白窗口供苹果评论员使用,而不是供我使用吗?

我以前见过几次,通常是在Mac项目设置不正确的时候。由于它在一般情况下都能工作,但显然不是在每个系统上都能工作,因此我将重点关注在某些情况下可能导致初始化失败的事情

当您在另一台机器上测试应用程序时,您应该验证的一件事是确保您创建了一个归档构建,而不仅仅是一个常规调试(或发布)构建

如果使用ARC,请检查所有弱属性和ivar,因为它们的行为在启用优化后可能会有所不同,即分配给弱ivar,然后将此ivar添加为子级或数组将在调试中起作用,但ivar在发布时将为零,因为没有强引用保留对象


如果您执行的任何异常处理只是捕获所有异常,这也会导致窗口自动变为白色,而不是应用程序崩溃(应该如此).

发布你的appdelegate.m代码,也许还有你的第一个场景的初始化代码我在这里上传了我的App Delegate:我在这里上传了我的主场景的初始化和第一次功能:你对窗口和状态栏的大小做了很多假设,这可能并不适用于每个系统。例如,如果目标系统是视网膜Macbook,它还会工作吗?如果状态栏大于或小于22点(不确定该值是否永远不变),该怎么办?如果出于某种原因,用户的显示分辨率被设置为1024x768以下,该怎么办?我想您应该找出原因:“我们这样做的原因是,除非初始窗口大小为1024x768,否则nodeToWorldTransform函数无法正确执行”。然后修复它并使用适当的NSWindow/NSView消息设置窗口大小和位置。例如,您已经调用了window center,但之后仍然更改了窗框。这告诉我,在应用程序启动期间,你还没有真正考虑过窗口的大小和位置,这反过来又让你做出了在其他系统上可能是错误的假设。