问题标签 [macos-mojave]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
656 浏览

icons - 尝试使菜单图标适应 Mojave 暗模式

切换到 mojave 后,我正在尝试在模式更改时调整菜单图标。我的应用程序:“应用程序是代理(UIElement)”最初没有窗口。

目前我正在使用 NSMenuDelegate 函数menuWillOpen,该函数到目前为止有效,但用户必须打开菜单才能更改图标。

我想知道是否有一种方法可以在不打开菜单的情况下检测到外观发生了变化。我已经从 NSApplicationDelegate 尝试了 applicationDidChangeScreenParameters ,但没有成功。

//这来自NSMenuDelegate

// 这处理菜单图标的变化

主菜单

0 投票
3 回答
9039 浏览

python - 在 MacOS Mojave 上通过 Homebrew 安装 Python 2 时出错

我在 MacOS 10.14 Mojave Beta 上安装 Python 2.7 时遇到了很多麻烦。

是的,我知道 Python 2 预装在 Mac 上,但我需要一个 Python 框架来完成我的任务。

我已经尝试重新安装命令行工具,然后按照此处此处的建议安装 Python 2.7 ,但仍然遇到问题 - 以下是我的输出:

任何帮助表示赞赏!

编辑请不要建议 Anaconda!对于我正在做的事情,我特别需要一个通过 Brew 构建的 Python 框架版本。

编辑 2 - 我尝试重新安装 Sphinx,这没有问题。这样做后,我尝试install python@2再次运行,但遇到了与以前相同的问题。

下面是运行的输出brew doctor

这是运行时的输出brew config

0 投票
0 回答
185 浏览

macos - 莫哈韦的核心恐慌

摘要:我们在通过内核 api vm_allocate() 将一些数据复制到分配的内存时面临内核恐慌;是否有针对此问题的替代 api/方法。10.14 有什么变化?重现步骤:

  • 我们使用以下内核 API 分配内核内存 kern_return_t krt = kern_private.vm_allocate(map, &ptr, size, VM_FLAGS_ANYWHERE );

  • 然后我们为分配的内存提供读写权限 krt = mach_vm_protect(map, ptr, size, FALSE, VM_PROT_READ | VM_PROT_WRITE | VM_PROT_EXECUTE);

  • 现在,当我们尝试将一些数据复制到分配的内存中时。ex memcpy(目标,数据,大小);其中 dest 是分配的内存位置。}

预期结果:数据应复制到分配的内存

实际结果:OSX 10.14 正在崩溃。对于 OSX < 10.14,代码运行良好。

版本/内部版本:10.14 Beta (18A314h)

0 投票
1 回答
388 浏览

objective-c - 支持 macOS 10.14 Mojave 中的工具栏可见性

我正在测试现有应用程序如何在 Mojave 上运行,我发现布局存在奇怪的问题。关闭然后重新打开窗口工具栏的可见性使工具栏出现在内容的顶部,而不是向下推。

片段:

知道什么可能导致问题以及如何解决吗?

编辑1:

我在这里创建了一个简单的项目。

重现步骤:

  1. 使用 Xcode 10 beta 运行项目(需要 Mac OSX Mojave)
  2. 按“隐藏工具栏”按钮。这将隐藏工具栏并更新按钮标题。
  3. 按“显示工具栏”

结果:

工具栏看起来坏了。它在控制器之上。

预期结果:

它应该像在任何其他操作系统版本上一样工作。控制器的顶部约束应向下移动。

编辑2:

也许我在macOS 10.14 beta 的 AppKit 发行说明中的​​ Layer -Backed Views部分找到了线索。

在重绘祖先、后代或相交的兄弟姐妹时隐含依赖重绘的视图可能不会被重绘。和以前一样,如果需要重绘视图,请将其 needsDisplay 属性设置为 YES。从 WantUpdateLayer 返回 YES 的视图通常会被赋予一个独占层,即使视图的 WantLayer 属性设置为 NO。面向 macOS 10.14 的应用程序应该更喜欢 wantUpdateLayer 属性而不是 WantLayer 属性。

我仍然不确定如何解决它。

编辑 3: 随着 Mojave 的正式发布,这不再是一个问题。谢谢你,我真的很感谢你的帮助。

0 投票
1 回答
424 浏览

cocoa - 快速同步滚动 NSTableView 与 NSOutlineView - 来自 NSScrollView 的实时滚动通知

从 NSClipview 通知开始,但没有成功。这里没有结婚。然后我在文档中看到了这个“didLiveScrollNotification”,这个Swift NSScrollView 更好的 NSViewBoundsDidChangeNotification 观察?,和http://borkware.com/quickies/one?topic=NSScrollView

但我无法让它接收任何通知,我比我在那里读到的更困惑。macos > 10.12 ( swift 4.2 xcode 9 或 10 ) 获得两个或多个表视图与滚动同步的最新方法是什么?

关于此的任何指示或示例或教程?

0 投票
1 回答
446 浏览

objective-c - NSPopUpButton:NSPopUpButtonCell 已弃用?

NSPopUpButton的文档指出:

NSPopUpButton 对象使用 NSPopUpButtonCell 对象来实现其用户界面。

我派生了一个新类,NSPopUpButtonCell从中实现drawBorderAndBackgroundWithFrame:inView:了自定义绘图。此外,我从中派生了一个新类,NSPopUpButton并用于cellClass使用我的派生类。(即我没有通过界面生成器工作。)

然而,随着 macOS 10.14 beta 的出现,不再调用此例程,我观察到“正常”(即非自定义)绘图。

感谢@Marc T.的回答,我(我想我)能够将问题定位为这样一个事实,即drawBorderAndBackgroundWithFrame:inView:只有drawInteriorWithFrame:inView:在派生单元中实现单元时才会调用该单元。

我找不到关于此的可靠文档。有没有?

0 投票
8 回答
19460 浏览

ruby - gem install - 致命错误:在 Mojave 中找不到“ruby/config.h”文件

gem install 在 MacOs Mojave 中失败。有什么可以帮助我解决这个问题的吗?我的红宝石版本是ruby 2.3.7p456.

0 投票
1 回答
598 浏览

macos - mach_override() 函数在 mojave OSX 10.14 中失败

我有一个小项目,它使用 Jonathan 'Wolf' Rentzsch 的 mach_override() 在 MAC 中实现函数挂钩:https ://github.com/rentzsch/mach_override

我已经从 mac 钩住了 kextstat 进程的功能之一。

所以当我执行

$kextstat

OSX 正在杀死这个进程,说下面的错误:

代码签名:进程 2211[kextstat]:从文件“/private/var/db/dyld/dyld_shared_cache_x86_64h”中的偏移量 0xca53000 拒绝地址 0x7fff5132d000 处的无效页面(cs_mtime:1531207073.366350606 == mtime:1531207073.3066350signed :0 nx:0 wpmapped:1 脏:1 深度:2)

我的动态库是代码签名的。在我最初的观察中,我可以得出结论 mach_override() 函数在以下代码中失败:

atomic_mov64((uint64_t *)originalFunctionPtr, jumpRelativeInstruction);

上面的代码可以找到:mach_override.c:342 https://github.com/rentzsch/mach_override

0 投票
4 回答
6996 浏览

homebrew - Brew 不会在 Mojave 上升级

我已经安装了:

  • Xcode 10
  • Xcode 10 Beta 和 Beta 2 的命令行工具 (macOS 10.14)
  • macOS_SDK_headers_for_macOS_10.14.pkg 使用这个:

    /li>

我还打开了 Xcode 10 并等待它安装组件。

Brew 仍然给我错误:

这是酿造配置

接下来我应该怎么做才能让 Brew 正常工作?

0 投票
4 回答
26501 浏览

macos - 在 Mojave 上安装 Brew

我做了这些步骤:

  1. 更新到莫哈韦
  2. 安装 Xcode 10 beta3
  3. 运行这个命令:sudo xcode-select -switch /Applications/Xcode-beta.app/

现在我正在尝试安装node8:

它给了我这个错误:

仍然,做

什么都不做,因为我的系统中没有这样的文件。我在哪里可以得到它?