我试图以编程方式从"命令行工具"创建一个Swift应用程序。模板,我无法解决错误No Info.plist file in application bundle or no NSPrincipalClass in the Info.plist file, exiting
。
以下是我遵循的步骤:
创建一个" AppDelegate.swift" class,并删除" main.swift"文件。
填写" AppDelegate.swift"使用以下代码:
import Cocoa
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
func applicationDidFinishLaunching(aNotification: NSNotification) {
// Insert code here to initialize your application
}
func applicationWillTerminate(aNotification: NSNotification) {
// Insert code here to tear down your application
}
}
创建一个名为"支持文件"的新组,并添加一个新的"属性列表"命名为" Info.plist"。
在" Info.plist"中,添加一行" Principal class",类型" String",并写" NSApplication&# 34;在“值”列中。
在您的项目中注册此属性列表:在"构建设置",在"包装"部分,编辑" Info.plist文件"行和写appName/Info.plist
(必须根据您的项目名称更改appName)。
注册此Info.plist文件还有其他事吗?
答案 0 :(得分:1)
您的确切目标尚不清楚 - Cocoa application bundles(实际上是包含可执行文件和支持文件的文件夹)和"命令行" /非GUI程序是不同的东西。 @NSApplicationMain
属性仅适用于完整的Cocoa应用程序。
通常,如果您要向项目添加应用程序,请单击+按钮添加新的 Cocoa应用程序目标 - 但Xcode将自动创建Info.plist你。
但是对于命令行程序(如this page中所述并讨论过in this question),您只需将代码放在名为main.swift
的文件中;
在全局范围编写的代码用作程序的入口点,因此您不需要
main
函数。