我们可以使用Objective-C或Swift创建一个新的Xcode项目。
我想检测一下创建项目时选择了哪种语言?
项目可以是Objective-C和Swift的混合,但我担心在项目创建期间选择的语言。
可能是通过pbxproj文件或其他更好的方式。
谢谢。
ObjC项目始终包含作为主要功能的入口点。通常它在main.m文件中,但没有必要。开发人员可以将其替换为任何名称。我尝试了2个简单的项目。一个在ObjC,第二个在Swift。当我尝试添加新文件时,Xcode为Swift项目提供了Swift语言,为Obj-C项目文件提供了Obj-C。接下来,我在Swift项目AppDelegate.swift文件中删除并添加了AppDelegate.h和AppDelegate.m以及(sic!)main.m文件。当然我必须为obj-c创建桥接文件。其中包含
#import "AppDelegate.h"
我能够编译这个项目但是当我尝试添加新文件Xcode时,我提供了添加Objective-C文件。但最初该项目是作为Swift项目创建的。
我对Obj-C项目进行了类似的操作。我删除了AppDelegate.h和.m文件以及main.m并添加了AppDelegate.swift我被要求创建桥文件并执行空文件。接下来,我进入«Build Settings»并将Define Module参数切换为YES值。 (没有这个我有链接器错误)。
之后,我能够构建并运行这个最初的obj-c项目,该项目现在在Swift中有AppDelegate。当我试图添加一个新文件时,Xcode也让我添加了新的Obj-C文件。所以。看起来您无法根据Xcode中的参数检测初始语言,因为项目总是可以更正。我认为很少开发人员会尝试在项目中替换AppDelegate并添加\ remove主入口点。希望这对你有所帮助。