欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MAC下小技巧

程序员文章站 2022-05-04 17:30:00
...

转载请注明出处。https://rhirufxmbcyj.gitlab.io

1、mac下xcode链接动态库

将dylib拷贝到源码文件夹下,然后在xcode工程中添加文件,将dylib添加到工程中编译即可

使用cmake编译出的程序没有图标

mac下app的图标需要手动指定图片和图片名(在info.plist中)

  • MAC下的图标应设置为icns格式
  • 图标文件应加入源码文件列表中
  • 图标的路径需要为全路径
set(APP_ICNS ${ROOTDIR}/src/qt/Resources/myapp.icns)
set_source_files_properties(${APP_ICNS} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
add_executable(my_project MACOSX_BUNDLE ${APP_ICNS} ${SOURCE_FILES})

这一步完成后只是在make完以后,app的Contents下Resources里出现了icns图标,还需要如下代码设置Info.plist才能对app包起作用

set_target_properties(my_project PROPERTIES MACOSX_BUNDLE_ICON_FILE myapp.icns)

ps:make完以后手动修改Info.plist无效
类似在cmake中修改Info.plist字段中的值还有以下

MACOSX_BUNDLE_INFO_STRING
MACOSX_BUNDLE_ICON_FILE
MACOSX_BUNDLE_GUI_IDENTIFIER
MACOSX_BUNDLE_LONG_VERSION_STRING
MACOSX_BUNDLE_BUNDLE_NAME
MACOSX_BUNDLE_SHORT_VERSION_STRING
MACOSX_BUNDLE_BUNDLE_VERSION
MACOSX_BUNDLE_COPYRIGHT

另外可以直接设置plist的模板

启用了MACOSX_BUNDLE的可执行目标将在Mac OS X上构建为应用程序包。默认情况下,通过配置位于CMAKE_MODULE_PATH中的名为MacOSXBundleInfo.plist.in的模板来创建其Info.plist文件。此属性指定备用模板文件名,该名称可以是完整路径。
https://cmake.org/cmake/help/v3.0/prop_tgt/MACOSX_BUNDLE_INFO_PLIST.html

MAC下的实用工具

  • 十六进制编辑器:010Editor、Synalyze It!

  • 类似objdump功能:otool

相关标签: mac