小编dDa*_*ORD的帖子

禁用使用productbuild创建的安装程序中的"更改安装位置..."按钮

我想在安装程序中禁用"更改安装位置..."按钮(下面的屏幕截图).我正在尝试使用macOSX 10.8上的pkgbuild和productbuild创建安装程序.首先,我使用pkgbuild创建两个.pkg文件.

pkgbuild --root myApp --component-plist myApp.plist --scripts appScripts --identifier com.myapp.coreapp --version 1.0.00 --install-location /Applications --ownership preserve
pkgbuild --root myBr --component-plist myBr.plist --scripts brScripts --identifier com.myapp.browser --version 1.0.00 --install-location /Library/Internet\ Plug-Ins --ownership preserve
Run Code Online (Sandbox Code Playgroud)

在上面的plists中,我使用的BundleIsRelocatable是假的.

然后我使用productbuild来创建最终的安装程序包.

productbuild --distribution dist.xml --resources res inst.pkg
Run Code Online (Sandbox Code Playgroud)

在dist.xml,我已经尝试了所有组合domains也rootVolumeOnly,但我仍然不能禁用"更改安装位置..."按钮.

有人可以帮忙吗?非常感谢.

在此输入图像描述

macos productbuild pkgbuild

7
推荐指数
1
解决办法
3012
查看次数

无法检测与其他用户一起运行的应用程序(通过切换用户)

使用案例:我以" user1 " 身份登录并启动Safari,然后点击右上角的" user1 "并将用户切换为" user2 ".现在,我正在尝试检测Safari是否正在运行" user1 ",但我无法使用标准调用.我使用OS X 10.8 Mountain Lion来开发和运行我的代码.

我使用了以下但是徒劳无功:

  1. [[NSWorkspace sharedWorkspace] runningApplications] - 列表中没有Safari
  2. GetNextProcess() - Safari没有出现
  3. GetProcessForPID() - 我收到错误"没有这样的过程"

但是当我ps -aef | grep Safari从终端做一个时,我可以看到Safari.(这不仅适用于Safari,也适用于其他应用程序.)

有人可以请帮助.非常感谢你.

macos objective-c switch-user nsworkspace nsrunningapplication

5
推荐指数
1
解决办法
1958
查看次数

获取从另一个用户运行的应用程序的包标识符

场景是这样的:"我从一个用户运行一个app(比如myproc)然后快速用户切换到第二个用户"
现在,当我尝试确定所有使用特定束标识符运行的进程时(比如com.ak.myproc) ; 我无法确定从第一个用户运行的进程.

我尝试过以下但是徒劳无功:

  1. [NSRunningApplication runningApplicationsWithBundleIdentifier:]
  2. [[NSWorkspace sharedWorkspace] runningApplications] 然后比较每个应用程序的包标识符 - 为第一个用户运行的应用程序甚至不显示在此列表中.
  3. 使用sysctl()然后迭代进程列表 - 这里,来自第一个用户的应用程序的pid确实来了.之后:
    • 当我尝试时[NSRunningApplication runningApplicationWithProcessIdentifier:],我没有.
    • 当我尝试GetProcessForPID()跟着时ProcessInformationCopyDictionary(),我得到一个零字典.
    • 当我尝试GetProcessForPID()跟着时GetProcessInformation(),我没有得到任何有用的东西ProcessInfoRec.

有人可以帮忙吗?谢谢.

操作系统:Mac OS X 10.8.4
Xcode:4.6.2

macos sysctl cfbundleidentifier nsworkspace nsrunningapplication

3
推荐指数
1
解决办法
1498
查看次数