标签: macos-mojave

"因为它不受SIP保护" - OSX Mojave中的Apple事件错误

我在OSX中有一个poperly沙盒应用程序,objective-c通过apple事件(例如Adobe InDesign)与第三方应用程序对话.

在OSX mojave中,一切都中断,因为Apple的新SIP(https://developer.apple.com/library/archive/documentation/Security/Conceptual/System_Integrity_Protection_Guide/Introduction/Introduction.html)不允许进行通信.

我还没有找到任何解决方案.任何帮助赞赏.

这是错误消息

__PRE__

这是对问题的一个非常好的总结:https: //www.felix-schwarz.org/blog/2018/06/apple-event-sandboxing-in-macos-mojave

security objective-c appleevents macos-mojave

6
推荐指数
1
解决办法
1544
查看次数

Xcode for MacOS Mojave中的C ++项目需要NSCameraUsageDescription

我试图在Xcode中运行OpenCV项目,似乎有新的需要为C ++应用程序NSCameraUsageDescription提供info.plist。

2018-09-28 00:03:15.181948+0800 k_nearest_detector_v2[23505:710470] [access] This app has crashed because it attempted to access privacy-sensitive data without a usage description.  The app's Info.plist must contain an NSCameraUsageDescription key with a string value explaining to the user how the app uses this data.
Program ended with exit code: 9
Run Code Online (Sandbox Code Playgroud)

我该如何为C ++项目创建.plist文件,因为以前从未需要过它。

c++ xcode macos-mojave

6
推荐指数
2
解决办法
1953
查看次数

NSStatusItem.popUpMenu的替代品是什么?

NSStatusItem.popUpMenu 已在macOS 10.14中弃用,但我找不到合适的替代方法。

let m = statusItem.menu!
statusItem.popUpMenu(m) // deprecated
Run Code Online (Sandbox Code Playgroud)

我尝试使用菜单和按钮直接弹出,但位置不正确。

let m1 = m.items.first!
m.popUp(positioning: m1, at: .zero, in: statusItem.button!)
Run Code Online (Sandbox Code Playgroud)

cocoa popupmenu nsstatusitem macos-mojave

6
推荐指数
1
解决办法
177
查看次数

如何在 MacOS Sierra/High Sierra 中使用 python 获取用户设置的计算机名称

以下问题已部分回答,请参阅下面的解决方案部分。所以我发布这个部分是为了帮助其他人,而且因为我的解决方案还没有真正解决问题。

所以,问题是为什么以下技术(使用 python 的平台和套接字库)给出的主机名根据您连接的路由器给出不同的主机名,以及为什么它也不同于计算机名和本地主机名。顺便说一下,这也是非常特定于 mac 的。

首先,我使用的是配备 High Sierra 10.13.6 的 MacBook pro 2015 型号。我使用终端并执行以下操作:

import platform
platform.node()
Run Code Online (Sandbox Code Playgroud)

根据分配给 MacBook 的 IP 地址,这给了我类似“192-168-1-4.tpgi.com.au”的信息。不同的路由器给出不同的结果。我也得到了类似的结果

import socket
socket.gethostname()
Run Code Online (Sandbox Code Playgroud)

它再次返回类似于“192-168-1-4.tpgi.com.au”的内容。

其次,我承认回答类似问题的文章 4271740/how-can-i-use-python-to-get-the-system-hostname

但是,这个问题略有不同,毕竟就我的应用程序的用户而言,主机名应该是他们在系统设置中可以看到的,实际上是不同的。如果我运行:

sudo scutil --get LocalHostName
Run Code Online (Sandbox Code Playgroud)

我得到系统设置中显示的名称(在共享下,它相当混乱地显示了计算机名称和本地主机名,它们也可以不同)。本地主机名与限定语句一起显示:

您本地网络上的计算机可以通过以下网址访问您的计算机:foo.local

所有这一切都是一个问题的原因是我的应用程序使用了主机名,这与 mac 上的本地主机名和计算机名不同。该主机名随后会出现在我们的用户界面中,当然,当其格式为“192-168-1-4.tpgi.com.au”时,它对识别用户的计算机没有帮助。用户很可能希望看到他们的计算机名称,因为这是可见的。在 Mac 上,主机名是不可见的,它可以通过命令设置或获取,但如果遇到这个问题,我们的用户自然不会想到它。

解决方案

所以问题与我相信如何开箱即用地设置 macs 相关。在mac上可以通过终端中使用以下命令来查询主机名:

hostname
192-168-1-4.tpgi.com.au
Run Code Online (Sandbox Code Playgroud)

这将返回实际用于解析 IP 地址的主机名。正如我上面提到的,这与计算机名称不匹配,这在使用我们的应用程序时往往会引起混淆。当我运行以下查询时,我发现了这一点。

sudo scutil --get HostName
HostName: not set
Run Code Online (Sandbox Code Playgroud)

所以我使用以下命令将主机名设置为我为机器识别的名称,如下所示

sudo scutil --set HostName foo
Run Code Online (Sandbox Code Playgroud)

现在,当我运行以下命令时,我得到了我和其他技术含量较低的用户所期望的结果。

import socket
socket.gethostname()
foo

import platform
platform.node()
foo
Run Code Online (Sandbox Code Playgroud)

最后只是为了更好的衡量,从我跑的终端

hostname
foo
Run Code Online (Sandbox Code Playgroud)

结论

好的,虽然我已经写了我找到了一个解决方案,但它并不是我真正需要的解决方案,问题是我需要显示用户设置的计算机名称,而不是主机名。由于我使用的是 …

python hostname computer-name macos-high-sierra macos-mojave

6
推荐指数
1
解决办法
2459
查看次数

macOS Mojave上Safari 12中的字体系列/显示问题

几天前,我刚刚升级到macOS Mojave,我发现Safari在我在Tumblr上创建的网站/主题上显示的字体存在问题。

似乎Safari还原回了Times New Roman的默认设置,我不确定为什么。这只是Safari中的一个问题。在FF和Chrome中查看网站时,字体是正确的。它也只在台式机上发生。iPhone和iPad上的视图显示正确的字体。

例如:http//romanoffsbite.tumblr.com

我在该站点上使用的字体是Calibri,在我升级到Mojave之前,它可以正确显示。现在,它在Times New Roman中加载,我无法弄清楚为什么或如何修复它。

我是在最后一天左右搜索此问题的,而我所能找到的就是解决在Mojave中显示为细而模糊的字体的解决方案,但是我发现没有什么可以解决不正确的问题显示的字体。

(细字体和模糊字体的解决方案确实有效)

对此的任何帮助将不胜感激,因为它真的开始成为一个问题,因为我在一家网页设计和开发公司工作,如果我看不到正确的字体,那么它永远也不会正确显示给我。

规格

  • 操作系统:macOS Mojave 10.14
  • Safari:12.0
  • 字体不显示:Calibri(常规,粗体,斜体)
  • 网站示例:http//romanoffsbite.tumblr.com

同样,对此的任何帮助都将是惊人的!我不确定从这里还能去哪里,所以我来找大家了:)

谢谢!妮可

safari fonts macos-mojave

6
推荐指数
1
解决办法
2170
查看次数

升级到 macOS Mojave,现在在 rails 控制台中出现错误

两天前升级到莫哈韦沙漠。Rails 服务器正在运行,但是当我尝试运行 activerecord 内容时,出现错误。当我尝试运行“Account.last”或“Account.new”或其他任何东西时,它会将我踢出去并出现以下错误

objc[38551]: +[__NSPlaceholderDictionary initialize] may have been in 
progress in another thread when fork() was called.
objc[38551]: +[__NSPlaceholderDictionary initialize] may have been in 
progress in another thread when fork() was called. We cannot safely 
call it or ignore it in the fork() child process. Crashing instead. Set 
a breakpoint on objc_initializeAfterForkError to debug.
Run Code Online (Sandbox Code Playgroud)

红宝石 2.3.4

导轨 5.1.6

卸载了一些 gems 并尝试但同样的错误。这两天快死了 而且我不仅仅是升级后面临这个问题的人。

macos fork ruby-on-rails macos-mojave

6
推荐指数
2
解决办法
2097
查看次数

安装3.5.6,3.6.7时,Mojave上的pyenv抛出未声明的标识符'CLOCK_REALTIME'和其他错误

我正在尝试在macOS Mojave上安装各种版本的python3 10.14.2 Beta (18C52a).

3.6.7失败:

python-build: use openssl from homebrew
python-build: use readline from homebrew
Downloading Python-3.6.7.tar.xz...
-> https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz
Installing Python-3.6.7...
python-build: use readline from homebrew

BUILD FAILED (OS X 10.14.2 using python-build 20180424)

Inspect or clean up the working tree at /var/folders/db/pjnyydt54kl3_snfwpvlsxf40000gp/T/python-build.20181204115752.83999
Results logged to /var/folders/db/pjnyydt54kl3_snfwpvlsxf40000gp/T/python-build.20181204115752.83999.log

Last 10 log lines:
./Include/pytime.h:200:52: warning: declaration of 'struct tm' will not be visible outside of this function [-Wvisibility]
PyAPI_FUNC(int) _PyTime_localtime(time_t t, struct tm *tm);
                                                   ^
./Include/pytime.h:204:49: warning: declaration of 'struct …
Run Code Online (Sandbox Code Playgroud)

python macos python-3.x pyenv macos-mojave

6
推荐指数
1
解决办法
520
查看次数

如何在Mac OS Mojave上编译和使用php扩展

我刚安装了新的OSX Mojave,你知道它预装了PHP 7.1.19,只有几个扩展可用.

首先,我不是自制软件或任何其他软件包管理器的粉丝,也不是禁用安全工具,即csrutil.

我已经成功编译了intl扩展,但是由于代码签名问题,apache没有加载它:

PHP Startup: Unable to load dynamic library 'intl.so' - dlopen(intl.so, 0x0009): code signature in (intl.so) not valid for use in process: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed. in Unknown on line 0
Run Code Online (Sandbox Code Playgroud)

有没有办法签署新编译的扩展,可能使用ad-hoc签名方法或其他什么?

我知道有很多关于这个问题的其他主题但是所有这些都没有得到答复,或者至多建议使用自制软件来解决问题!

谢谢

php apache macos macos-mojave

6
推荐指数
1
解决办法
796
查看次数

无法在MacOS上安装任何带RVM的Ruby 10.14.2 Mojave:运行'__rvm_make -j4'时出错

将MacOS升级到10.14.2 Mojave后,我无法再安装任何带RVM的Ruby版本了.它总是会出现这样的错误:

$rvm install 2.5.3
ruby-2.5.3 - #removing src/ruby-2.5.3..
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/10.14/x86_64/ruby-2.5.3.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for osx.
Certificates bundle '/usr/local/etc/openssl@1.1/cert.pem' is already up to date.
Requirements installation successful.
Installing Ruby from source to: /Users/jdinse/.rvm/rubies/ruby-2.5.3, this may take a while depending on your cpu(s)...
ruby-2.5.3 - #downloading ruby-2.5.3, this may take a while depending on …
Run Code Online (Sandbox Code Playgroud)

ruby xcode rvm macos-mojave

6
推荐指数
1
解决办法
1065
查看次数

OpenCV命令行应用程序无法在macOS Mojave下访问相机

我无法从命令行OpenCV程序访问iMac相机。(我正在CodeRunner而不是Xcode下编译和运行程序。)我已经读过Mojave NSCameraUsageDescription在Info.plist中需要的内容,并且我认为我已经将它正确地嵌入了二进制文件中。我在编译标志中添加了-sectcreate __TEXT __info_plist Info.plist我在这里学到的),当我运行时otool -X -s __TEXT __info_plist videotest | xxd -r(从同一博客文章)它输出:

-?<?xml ve.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>NSCameraUsageDescription</key>
    <string>Uses camera to see vision targets</string>
    <key>NSMicrophoneUsageDescription</key>
    <string>This app requires to access your microphone in order to access the camera</string>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

(我添加了NSMicrophoneUsageDescription,以防它试图与相机一起打开麦克风。)

这是我运行程序时的输出:

OpenCV version 4.1.0-dev
[ INFO:0] global /Users/steve/Documents/GitHub/ssteve-opencv/modules/videoio/src/videoio_registry.cpp (185) VideoBackendRegistry VIDEOIO: Enabled backends(5, sorted by priority): FFMPEG(1000); GSTREAMER(990); AVFOUNDATION(980); CV_IMAGES(970); CV_MJPEG(960)
[ INFO:0] …
Run Code Online (Sandbox Code Playgroud)

macos opencv macos-mojave

6
推荐指数
2
解决办法
2923
查看次数