从命令行工具构建swift应用程序:应用程序包中没有Info.plist文件

时间:2015-02-04 07:04:52

标签: xcode swift

我试图以编程方式从"命令行工具"创建一个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"。

在" Info.plist"中,添加一行" Principal class",类型" String",并写" NSApplication&# 34;在“值”列中。

在您的项目中注册此属性列表:在"构建设置",在"包装"部分,编辑" Info.plist文件"行和写appName/Info.plist(必须根据您的项目名称更改appName)。

注册此Info.plist文件还有其他事吗?

1 个答案:

答案 0 :(得分:1)

您的确切目标尚不清楚 - Cocoa application bundles(实际上是包含可执行文件和支持文件的文件夹)和"命令行" /非GUI程序是不同的东西。 @NSApplicationMain属性仅适用于完整的Cocoa应用程序。

通常,如果您要向项目添加应用程序,请单击+按钮添加新的 Cocoa应用程序目标 - 但Xcode将自动创建Info.plist你。

但是对于命令行程序(如this page中所述并讨论过in this question),您只需将代码放在名为main.swift的文件中;

  

在全局范围编写的代码用作程序的入口点,因此您不需要main函数。