美文网首页IT🐶操作系统维护MAC
Mac安装程序Launch Icon (Spyder为例)

Mac安装程序Launch Icon (Spyder为例)

作者: 爱折腾的大懒猪 | 来源:发表于2019-03-17 02:28 被阅读3次

    要为一个应用程序创建一个Launch图标(启动器), 其实很简单. 这里以Spyder为例.

    传统的Spyder需要通过Anaconda来启动, 也可以通过命令行输入命令spyder 来启动. Spyder是一个图形界面的程序, 怎么可以在Launch里面创建出来图标方便调用呢?

    • 步骤1: 创建.app
      • 需要在/Applications创建出相应程序的.app文件夹
      • 需要在该文件夹内含有Contents/MacOS的子文件夹, MacOS文件夹内是执行程序
      • mkdir -p /Applications/Spyder.app/Contents/MacOS
    • 步骤2: 创建应用包信息plist文件
      • Contents目录下创建Info.plist文件.
      • 写入以下内容. 其中, CFBundleExecutable是对应包内MacOS内即将运行的程序. 对应版本号这里是Spyder版本号3.3.3. 其实可以随意.
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
    <plist version="1.0">
    <dict>
    <key>CFBundleExecutable</key>
    <string>spyder</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>3.3.3</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleVersion</key>
    <string>3.3.3</string>
    </dict>
    </plist>
    
    • 步骤3: 创建执行文件
      • 在MacOS内创建对应执行文件. 一般地, 使用ln -s 应用路径 快捷方式 创建软链接即可解决问题.
      • 但是用软链接方式创建的spyder 会打开一个sn_0_1234567类似的Project. 并在HOME文件夹内创建对应文件夹. 十分麻烦. 类似如果用shell脚本创建的假应用如果读取命令行(如使用$@变量). 也会有类似问题.
      • 解决办法: echo -e '#!/bin/bash'"\n /usr/local/bin/spyder3" > /Applications/Spyder.app/Contents/MacOS/spyder, chmod +x /Applications/Spyder.app/Contents/MacOS/spyder
    • 步骤4: 指定图标.
      • 打开spyder的图标文件夹, 例如我的在~/local/miniconda3/lib/python3.6/site-packages/spyder/images, 里面对应的tour-spyder-logo.png就是对应图标 (比spyder.png更清一些). 双击打开, cmd +C复制.
      • 在Finder左侧跳到应用程序Applications, 找到对应的Spyder应用, cmd+I 或者右键显示简介. 在左上侧的图标处(就是修改时间左边), 点击 (然后图标变蓝边), cmd + V 粘贴过来即可.
    修改图标

    相关文章

      网友评论

        本文标题:Mac安装程序Launch Icon (Spyder为例)

        本文链接:https://www.haomeiwen.com/subject/vazsmqtx.html