gpt4 book ai didi

xcode - 从应用程序包中的命令行工具 : No Info. plist 文件构建 swift 应用程序

转载 作者:可可西里 更新时间:2023-11-01 02:25:39 37 4
gpt4 key购买 nike

我正在尝试从“命令行工具”模板以编程方式创建 Swift 应用程序,但无法解决错误 No Info.plist file in application bundle or no NSPrincipalClass in the Info.plist file , 退出

以下是我遵循的步骤:

基本代码

创建一个“AppDelegate.swift”类,并删除“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”属性列表

创建一个名为“Supporting Files”的新组,并添加一个名为“Info.plist”的新“Property List”。

在“Info.plist”中,添加一行,键为“Principal class”,类型为“String”,并在 Value 列中写入“NSApplication”。

在您的项目中注册此属性列表:在“Build Settings”中的“Packaging”部分,编辑“Info.plist file”行并写入 appName/Info.plist(appName 必须根据您的项目名称进行更改)。

注册这个 Info.plist 文件还有其他事情要做吗?

最佳答案

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

通常情况下,如果您想将应用程序添加到您的项目中,您需要单击 + 按钮来添加一个新的 Cocoa Application target — 但随后 Xcode 会自动为您创建一个 Info.plist。

然而,对于命令行程序(如 this page 和讨论 in this question 中所述),您可以简单地将代码放在名为 main.swift 的文件中;

Code written at global scope is used as the entry point for the program, so you don’t need a main function.

关于xcode - 从应用程序包中的命令行工具 : No Info. plist 文件构建 swift 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28315389/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com