Objective-C中应用程序的入口点

时间:2016-08-28 16:53:10

标签: objective-c entry-point

我在Xcode中开始了一个新的iOS项目。文件新SingleViewApp

然后我选择了以下文件

enter image description here

然后搬到垃圾桶。 然后我从 Info.plist 文件中删除了以下键: enter image description here

然后我添加了一个名为 main.c 的C文件 main.c 文件的内容为:

int main(int argc, char * argv[]) {

        print("hello");
}

并且令人费解的是,这个应用程序编译并运行并写入"你好"控制台。我的问题是:是不是 main.m (而不是main.c)被认为是应用程序的入口点?

1 个答案:

答案 0 :(得分:6)

没有关于文件名或其后缀的规则:仅关于函数名称​​ main 。您的文件可以用C或Objective-C编写,因此其后缀可以是 .c .m 。毕竟,Objective-C程序是一个C程序; Objective-C是C。

但是,请注意您的应用现在无法使用Cocoa进行任何操作。实际上,它不是应用程序。它永远不会调用UIApplicationMain。它只运行一行并退出。所以这有点傻。

开始使用macOS命令行工具模板的更有效方法是开始您正在做的事情。注意你可以选择用C写它!您构建的是非常,就像C命令行工具一样(除了没有iOS命令行工具)。