参考//remoting/host/it2me/BUILD.gn生成
导入头文件
import("//build/config/features.gni")
import("//build/config/mac/rules.gni")
import("//third_party/icu/config.gni")
其中”//build/config/mac/rules.gni定义了非常有用的模版可以打包App。
我们要用的是mac_app_bundle
首先,需要指定Info.plist, Info.plist 可以使用Xcode自动生成,然后移动到目录中。
extra_substitutions用于替换Info.plist中的变量。
info_plist = "shadowmac-Info.plist"
extra_substitutions = [
"BUNDLE_ID=$remote_assistance_host_bundle_id",
"MACOSX_DEPLOYMENT_TARGET=10.10",
]
OK, 附上完整的配置
import("//build/config/features.gni")
import("//build/config/mac/rules.gni")
import("//third_party/icu/config.gni")
target("mac_app_bundle", "shadowmac") {
info_plist = "shadowmac-Info.plist"
extra_substitutions = [
"MACOSX_DEPLOYMENT_TARGET=10.10",
]
sources = [
"main.mm",
]
libs = [
"Foundation.framework",
"AppKit.framework",
]
}
包就大好了,直接运行,App崩溃,因为NSApplicationMain函数需要加载storyboard,但是没有找到。
找找看工程里面有没有地方用了NSApplicationMain, 学习下