检测Xcode项目开发语言

问题描述 投票:0回答:1

我们可以使用Objective-C或Swift创建一个新的Xcode项目。

我想检测一下创建项目时选择了哪种语言?

项目可以是Objective-C和Swift的混合,但我担心在项目创建期间选择的语言。

可能是通过pbxproj文件或其他更好的方式。

谢谢。

objective-c swift xcode
1个回答
2
投票

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主入口点。希望这对你有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.