当前位置: 首页 > news >正文

石碣镇网站仿做新乡市建设工程信息网

石碣镇网站仿做,新乡市建设工程信息网,企业信息系统的架构,网站后台上传软件C/C制作macOS .app 一、 .app APP其实是一个文件夹结构#xff0c;只不过mac的界面中让它看起来像一个单独的文件。 在shell终端或者右键查看包结构即可看到APP的目录结构。 通常的app目录结构如下#xff1a; _CodeSignature, CodeResources 一般为Mac APP Store上架程序…C/C制作macOS .app 一、 .app APP其实是一个文件夹结构只不过mac的界面中让它看起来像一个单独的文件。 在shell终端或者右键查看包结构即可看到APP的目录结构。 通常的app目录结构如下 _CodeSignature, CodeResources 一般为Mac APP Store上架程序所包含。里面含有数字签名以防非法篡改。 Frameworks 一般放置了此程序所使用的第三方FrameWork。 Info.plist 包含了一个程序的基本信息如最低系统版本要求、版本号copyright。也可能包含程序的类型信息比如这个文件如果有LSUIElement字段并且值为TRUE则这个程序启动后不会在Dock上显示图标或图标下有表示此程序正在运行的小亮点。 MacOS文件夹 包含了此应用程序真正的可执行文件。一个程序可能包含不只一个可执行文件。 Resources 资源文件图标语言包等其他文件这个没有严格的限制。 参考博客https://blog.51cto.com/maxma/5708529 二、 实例分析 例如WPS可以观察到wps中有一个SharedSupport目录还包含多个.app: QQ也是不过.app在别的路径: ToDesk.app的Info.plist可以看到里面还包含摄像头、麦克风权限的获取 ?xml version1.0 encodingUTF-8? !DOCTYPE plist PUBLIC -//Apple//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd plist version1.0 dictkeyApplication is agent(UI Element)/keyfalse/keyBuildMachineOSBuild/keystring22A380/stringkeyCFBundleDevelopmentRegion/keystringen/stringkeyCFBundleDisplayName/keystringToDesk/stringkeyCFBundleExecutable/keystringToDesk/stringkeyCFBundleIconFile/keystringToDesk/stringkeyCFBundleIconName/keystringToDesk/stringkeyCFBundleIdentifier/keystringcom.youqu.todesk.mac/stringkeyCFBundleInfoDictionaryVersion/keystring6.0/stringkeyCFBundleName/keystringToDesk/stringkeyCFBundlePackageType/keystringAPPL/stringkeyCFBundleShortVersionString/keystring4.7.2.1/stringkeyCFBundleSupportedPlatforms/keyarraystringMacOSX/string/arraykeyCFBundleURLTypes/keyarraydictkeyCFBundleTypeRole/keystringEditor/stringkeyCFBundleURLName/keystringtoc/stringkeyCFBundleURLSchemes/keyarraystringtodesk/string/array/dict/arraykeyCFBundleVersion/keystring921/stringkeyDTCompiler/keystringcom.apple.compilers.llvm.clang.1_0/stringkeyDTPlatformBuild/keystring14B47b/stringkeyDTPlatformName/keystringmacosx/stringkeyDTPlatformVersion/keystring13.0/stringkeyDTSDKBuild/keystring22A372/stringkeyDTSDKName/keystringmacosx13.0/stringkeyDTXcode/keystring1410/stringkeyDTXcodeBuild/keystring14B47b/stringkeyITSAppUsesNonExemptEncryption/keyfalse/keyLSApplicationCategoryType/keystringpublic.app-category.utilities/stringkeyLSMinimumSystemVersion/keystring10.11/stringkeyNSAppTransportSecurity/keydictkeyNSAllowsArbitraryLoads/keytrue//dictkeyNSCameraUsageDescription/keystring是否允许访问摄像头/stringkeyNSMainNibFile/keystringMainMenu/stringkeyNSMainStoryboardFile/keystringMainMenu/stringkeyNSMicrophoneUsageDescription/keystring是否允许访问麦克风/stringkeyNSPrincipalClass/keystringNSApplication/stringkeyNSRequiresAquaSystemAppearance/keystringtrue/stringkeySUAllowsAutomaticUpdates/keyfalse/keySUAutomaticallyUpdate/keyfalse/keySUEnableInstallerLauncherService/keytrue/keySUEnableSystemProfiling/keytrue/keySUFeedURL/keystringhttp://dl.todesk.com/macos/sparkletestcast.xml/stringkeySUPublicEDKey/keystringpz7QOaRHU3QI0Nq7IElJPP8WFl52KAFfRNz1Dj1McA/string /dict /plist 三、 用cmake 构建 .app 下载demo示例 以构建具有两个可执行程序的.app为例 1. 目录结构 其中MacOSXBundleInfo.plist.in是cmake安装目录下自带的Info.plist模板例如通过homebrew安装的路径是/opt/homebrew/share/cmake/Modules/MacOSXBundleInfo.plist.in cmake中.in文件一般是模板文件在执行cmake时会用CMakeLists.txt中的变量替换模板中的变量。 yqyqdeMac:~/desktop/ipc$ ls -l total 72 -rw-r--r-- 1 yq staff 986 4 8 19:10 CMakeLists.txt -rw-r--r-- 1 yq staff 1214 4 8 15:51 MacOSXBundleInfo.plist.in -rw-r--r-- 1 yq staff 27 4 8 17:56 ReaderWindow.cpp -rw-r--r-- 1 yq staff 1061 4 8 20:09 ReaderWindow.hpp -rw-r--r-- 1 yq staff 27 4 8 17:55 WriterWindow.cpp -rw-r--r-- 1 yq staff 1331 4 8 19:08 WriterWindow.hpp -rw-r--r-- 1 yq staff 48 4 8 18:01 config.hpp -rw-r--r-- 1 yq staff 172 4 8 19:10 reader.cpp -rw-r--r-- 1 yq staff 821 4 8 19:50 writer.cpp2. CMakeLists.txt cmake_minimum_required(VERSION 3.20) project(TestIPC)set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTORCC ON)set(CMAKE_PREFIX_PATH /Library/Qt/5.15.4_macos_arm64) find_package(Qt5 REQUIRED COMPONENTS Widgets)##### Write端 ##添加writer构建目标同时作为app的主程序 add_executable(${PROJECT_NAME} MACOSX_BUNDLE writer.cpp WriterWindow.cpp)##填写.app的信息 set(MACOSX_BUNDLE_ICON_FILE MyIcon.icns) set(MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/MacOSXBundleInfo.plist.in) set_target_properties(${PROJECT_NAME} PROPERTIESMACOSX_BUNDLE_INFO_PLIST ${MACOSX_BUNDLE_INFO_PLIST}MACOSX_BUNDLE_BUNDLE_NAME ${PROJECT_NAME}MACOSX_BUNDLE_BUNDLE_VERSION 5.20MACOSX_BUNDLE_SHORT_VERSION_STRING VersionStringMACOSX_BUNDLE_GUI_IDENTIFIER com.yangqing.TestXCODE_ATTRIBUTE_ENABLE_HARDENED_RUNTIME YES ) target_link_libraries(${PROJECT_NAME} PRIVATE Qt::Widgets)## 链接Qt#### Read端 set(EXE2 reader) add_executable(${EXE2} reader.cpp ReaderWindow.cpp)## 添加reader构建目标 target_link_libraries(${EXE2} PRIVATE Qt::Widgets)## 链接Qt##修改生成路径 #set_target_properties(${EXE2} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_NAME}.app/Contents/MacOS)3. 构建 $ mkdir build cd build $ cmake ../ $ cmake --build .生成了TestIPC以及一个可执行文件reader。 若要将reader也加入到TestIPC可以额外编写脚本。 或者在CMakeLists.txt一并完成 set_target_properties(${EXE2} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_NAME}.app/Contents/MacOS)四、将app制作成dmg 在启动器选择“磁盘工具” 顶部栏选择新建映像–空白映像 3.命名后点存储 4.右键打开TestIPC把app拖进去Applications的软链接也拖进去 推出 在磁盘工具顶部选择映像–“转换” 即可得到制作后的dmg还可以更换背景图片等。
http://www.pierceye.com/news/557437/

相关文章:

  • 做网站图片自动切换怎么建立官网
  • 河南制作网站电话免费的网站登录模板
  • 鹰潭做网站的建筑工程公司取名
  • 网站建设与运营实验开发一个网站的成本
  • 自考网站建设与管理资料郑州高端网站建设哪家好
  • 网站设计开发维护设计云网站
  • 北京工商局网站怎么做增资h5个人页面制作
  • 北京好的网站建设12个 网站模板 管理办法
  • vs2017 如何做网站最近一周新闻热点大事件
  • wordpress建站欣赏解释网站为什么这样做
  • 网站建设模板登录界面七牛wordpress插件
  • 手机 网站制作上饶企业网站建设
  • 网站建设需要知道什么软件深达网站制作深圳公司
  • 怎么做监控网站Wordpress页面函数
  • 梁平网站建设百度搜索排名优化哪家好
  • 芜湖网站建设芜湖狼道cad精品课网站建设
  • qq空间认证的网站后台根目录seo和sem是什么意思
  • 中国建设集团门户网站装修公司做网站
  • 东莞seo建站公司哪家好怎么把网站推广出去
  • 网站建设什么时候好豆瓣wordpress
  • 动漫网站设计报告最好的wordpress商城主题
  • 陕西餐饮加盟网站建设如何做一个网站代码
  • 合浦住房和城乡规划建设局网站网页设计培训机构学什么好
  • 做网站需要注意的地方模板ppt
  • 自己建立公司网站自助建站系统
  • 淅川微网站开发wordpress 侧边收起
  • 网站建设企业哪家好乐清站在那儿
  • 网站建设公司人员配置做网站衡水
  • 成都网站建设939seo搜索优化软件
  • 企业网站建设哪家好seo检测