我正在为OS X创建一个应用程序,它基本上已经完成了。为了测试它,我在其他mac上尝试过。我已经尝试了几种将应用程序发送到其他mac的方法,但最终会得到相同的结果。这些方法包括发送Products文件夹中的.app文件,或发送应用程序的存档版本。
这适用于某些mac,例如我的笔记本电脑,以及我使用过的其他两台。但是,对于属于我朋友的1台特定笔记本电脑,该应用程序无法正常启动。该应用程序出现在停靠栏中半秒钟,然后因错误报告而关闭。
我看着它,我唯一能理解的是以下短语:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[SKLabelNode labelNodeWithText:]: unrecognized selector sent to class 0x104807258'
terminating with uncaught exception of type NSException
abort() called
我检查了我的代码,发现方法labelNodeWithText:在代码中只有一次实际上在任何方法的代码之外:
@implementation GameScene
SKLabelNode *mousePosition = [SKLabelNode labelNodeWithText:@"Mouse Clicked Position: (0, 0)"];
..............
@end
(我之所以这样做是因为该文件是.mm文件而不是.m文件。)
所以我尝试在didMoveToView:方法中使用代码行,当然,当应用程序再次在我的朋友计算机上启动时,它没有崩溃。然而,应用程序仍然被窃听,因为屏幕上唯一的东西就是这个SKLabelNode,而所有其他的节点都不在那里。
我不知道造成这个问题的原因。部署目标是10.9,低于我测试过的所有mac上的版本。我可以想到的mac之间的唯一区别是我的朋友的mac上没有Xcode(他现在无法下载,直到他更新到10.10)。
我已经阅读过类似的问题(只有2个可以在网上找到)其他人都经历过,但没有提供的答案/解决方案对我有用。这不是我和朋友的计算机遇到这些问题的唯一应用程序,因为我在过去尝试了2个类似的结果。
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
labelNodeWithText:
SKLabelNode
的类方法仅在10月10日在Mac OS X上可用。即使{10}中出现SKLabelNode
,某些方法也不会出现,例如labelNodeWithText:
。
你看一下labelNodeWithText:
的文档,你会清楚地看到它:
可用性
适用于OS X v10.10及更高版本。
与最新版本的XCode无关。想象一下,如果下载应用程序的每个人都必须安装XCode,那么希望没有必要。