我在操作系统的Xcode应用程序没有在其他一些Mac上打开

时间:2016-01-24 10:41:39

标签: objective-c macos sklabelnode

我正在为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个类似的结果。

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

labelNodeWithText: SKLabelNode的类方法仅在10月10日在Mac OS X上可用。即使{10}中出现SKLabelNode,某些方法也不会出现,例如labelNodeWithText:

你看一下labelNodeWithText:的文档,你会清楚地看到它:

  

可用性
  适用于OS X v10.10及更高版本。

与最新版本的XCode无关。想象一下,如果下载应用程序的每个人都必须安装XCode,那么希望没有必要。