- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试从“命令行工具”模板以编程方式创建 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
}
}
创建一个名为“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/
我是一名优秀的程序员,十分优秀!