macos - 如何调试 Mac OS X pkg?

标签 macos

我构建了一个 Mac OS X 包 Frequon Invaders.app ,并且运行良好。可执行文件是用 Go 创建的。然后我是这样打包的:

$ pkgbuild --component 'Frequon Invaders.app' --install-location /Applications FrequonInvaders.pkg
pkgbuild: Adding component at /Users/Dad/Documents/projects/Frequon-Invaders-2.2/installer-macos/Frequon Invaders.app
pkgbuild: Wrote package to FrequonInvaders.pkg

当我打开 FrequonInvaders.pkg在 Finder 中,我得到一个“安装 Frequon Invaders”窗口,让我完成安装它的 Action ,并且摘要部分显示“安装成功”。但是当我查看 /Applications ,它不在那里。实际上没有安装包中的任何文件。

[更新] 环顾四周,发现这个包好像是安装在原来Frequon Invaders.app的地方的正上方。最初 build 。看来--install-location /Applications完全被无视了!

题:
  • 我如何使用 pkgbuild构建一个真正安装在何处的包 install-location说安装呢?
  • 最佳答案

    How to debug Mac OS X pkg?



    调试.pkg文件很棘手,因为没有简单的方法来获得详细的输出。
    sudo installer -pkg my_package.pkg  -target / -verbose
    

    这可能有助于理解失败的步骤,但它确实无助于缩小问题的范围......

    接下来,您可以使用像 这样的实用程序。 Unarchiver 提取 .pkg文件。您的脚本需要通过此实用程序提取两次。

    注:如果您更喜欢命令行:

    xar -xf my_package.pkg # extract pkg
    tar -xf Scripts        # extract scripts
    

    从那里,您可以尝试对脚本的问题进行故障排除。

    但就我而言,我能够调试脚本的唯一方法是一遍又一遍地运行包,将调试语句回显到文件中。

    例如:

    # preinstall
    echo "here!" >> /Users/Tom/Desktop/debug.txt
    

    关于macos - 如何调试 Mac OS X pkg?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34053080/

    相关文章:

    macos - 如何在 OS X 上实时录制和播放音频

    macos - 如何在 OSX 10.9 上安装 gdb

    objective-c - 如何使用dispatch_async_f?

    macos - DMG 是否需要经过公证才能在 Catalina 上通过 Gatekeeper

    java - JMenuItem 没有被键盘回车键激活

    macos - OS X 中缺少“make”命令

    ruby - PATH 中的不安全世界可写目录/用户/用户名,运行 Ruby 命令时模式 040777

    ruby - ruby 2.3.1 缺少库

    swift - NSSharingService 不会编译归档

    macos - Mac OS X 中的音频捕获