问题标签 [mac-catalyst]

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 投票
0 回答
420 浏览

swift - PDFView 中的透明背景颜色不再适用于 Mac Catalyst 13.0+

在一个 MacOS 应用程序中,我使用了一个带有透明背景的经典 PDFView 和一个简单的:

在莫哈韦,一切都像魅力一样工作,但从 Catalina 更新中我真的可以修复它。也许这是一个与 Catalyst 相关的错误,可以在下一次更新中修复,但如果您看到修复或替代方案,那就太好了!我试着做一个pdfViewer.removeFromSuperview(),但窗户很透明。

0 投票
3 回答
932 浏览

ios - 使用拆分视图控制器变灰的菜单项 - Catalyst

我正在努力使用 Catalyst 将我的 iPad 应用程序带到 Mac 上。我的应用程序使用拆分视图控制器。主视图控制器有两行可以点击,让用户拍照或从相机胶卷中选择一张照片。我正在尝试为每个操作添加两个带有键盘快捷键的菜单项。

按照 WWDC 视频中的步骤添加菜单项后,应用程序首次启动时菜单项将显示为灰色。下面是显示应用程序首次启动的屏幕截图,拍照和从相机胶卷中选择都是灰色的。 变灰的菜单项

但是,如果我切换/点击主视图控制器中的任何项目,菜单项就会启用并按预期工作。一旦我选择了一个菜单项,它就会变灰,我需要在主视图控制器中切换/点击一个项目以使它们再次启用。 启用的菜单项

我无法弄清楚为什么这些项目是灰色的。我认为它可能与拆分视图控制器有关,但无法解决任何问题。

我用来添加菜单项的代码非常简单。我添加@IBAction了拍摄照片并从相机胶卷中选择的方法。我在 Storyboard 文件中添加了一个主菜单,其中包含两个新的内联菜单项,并将每个项连接到方法。

0 投票
3 回答
8054 浏览

swift4 - 如何修复“读写数据沙箱:使用 Mac Catalyst 时出错”

我最近更新到 macOS Catalina,因此我可以使用 Catalyst 更新我的一些应用程序以支持 Mac。每当我运行该应用程序并尝试访问 CloudKit 数据时(我使用 CloudKit 同步核心数据,如果 iCloud 帐户可用,则数据),然后它会因以下错误而崩溃。[User Defaults] Couldn't write values for keys ( ApplicationAccessibilityEnabled ) in CFPrefsPlistSource<0x600002c07700> (Domain: com.apple.Accessibility, User: kCFPreferencesCurrentUser, ByHost: No, Container: (null), Contents Need Refresh: Yes): setting preferences outside an application's container requires user-preference-write or file-write-data sandbox access

我尝试在我的签名和功能中更改应用沙盒设置中的权限和访问权限,以读取/写入。我还尝试将传入和传出连接更改为打开。

我不确定我应该显示什么代码,所以这里是崩溃的区域。

我除了创建/获取 CoreData 数据的应用程序,如果可用(在这种情况下)连接到 CloudKit 同步数据。但它现在崩溃了,甚至在它提出任何让我认为它在 AppDeleget 某处崩溃的视图之前。

10 月 14 日更新——我发现如果我强制跳过应用程序崩溃的断点,我可以继续进入应用程序并且它工作正常。这让我认为错误确实在 AppDeleget 中,特别是说 UI 直到我跳过它在崩溃时设置的断点后才会出现。

11 月 4 日更新——所以这个问题变得更加奇怪了。我忘记了我使用的是 Xcode 的 beta 版本,所以好吧,这可能是在我上周意识到这一点之后。我尝试通过公共版本运行该应用程序,该应用程序从未停止过断点,而是完全崩溃Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)。这个错误真的很奇怪。这是我应该向 Apple 报告的错误吗?我想过这样做,但我决定不这样做,因为在我看来,这似乎是我本来可以做的事情,但现在正在重新考虑我是否应该这样做。我希望我能找到这个问题的解决方案,因为我想向公众发布 macOS 版本,但没有找到解决方案的运气。

11 月 8 日更新——在 Xcode 11.2.1 GM 种子中,问题仍然存在。我还没有找到这个问题发生的确切原因,但会继续尝试。我也无法在任何 Xcode 版本上重现 11 月 4 日更新中写入的错误。我还没有找到任何其他东西,但想用有关 GM 种子的信息以及这种情况是否仍然发生来更新它。

11 月 13 日更新——我决定继续将应用程序上传到 Apple 以供批准,因为构建应用程序并独立于 Xcode 运行它工作得很好。Apple 批准了该应用程序,没有对此问题提出任何投诉。这似乎只是一个 Xcode 问题。但是,我将继续更新此内容,如果/当我找到解决方案时,我将发布此问题的解决方案,但没有找到更多解决方法或解决此问题的方法。

11 月 20 日更新——在 Xcode 11.3 Beta Build 11C24b 上,问题仍然存在。没有其他任何改变,我还没有找到其他任何东西来解决这个问题。我将继续保持更新,但还没有发现任何其他内容。

12 月 11 日更新——在 Xcode 11.3 Public 11C29 上,问题仍然存在。但是,现在它并不一致,有时我必须通过断点两次而不是一次才能继续启动应用程序。如果独立于 Xcode 运行,它仍然不会发生。

2020 年 1 月 2 日更新——仍然发生,但现在已验证它发生在真正的 iOS 13 设备上。但是没有找到其他解决方案或步骤。我将继续使用任何其他信息更新这篇文章。

2020 年 2 月 17 日更新——更新不多,但仍在 Xcode 11.4 Beta (11N111s) 上发生。将继续更新这篇文章,但没有太大变化。(也修正了这篇文章的一些错误)

2020 年 3 月 10 日更新——我没有意识到 Xcode beta 11N132i 已发布,但经过测试它仍然存在。然而,尽管它可能仍在发生,但至少不太一致。现在它不是每次都发生并这样做,它似乎有点随机。

2020 年 4 月 18 日更新——抱歉没有更新这篇文章,直到现在我都无法编程。我还没有弄清楚这个问题,但现在似乎并没有真正发生。它现在仍然很少发生。这也在 Xcode 11.4.1 (11E503a) 上,我不知道为什么。我会继续尝试更新这篇文章。谢谢你。如果您有任何建议来尝试找出原因,我愿意听取他们的意见。

2020 年 5 月 14 日更新——Xcode 11.5 Beta 2 (11N605f) 这个问题仍然随机发生,但现在它似乎并不总是包含错误,但仍指向那部分代码。感谢您对这篇文章的支持,当我发现更多关于这个问题的时候,我会继续更新它。

2020 年 6 月 5 日更新——很抱歉没有尽快更新,我完全忘记了我何时更新了 Xcode。在 Xcode 11.5 上,这个问题仍然存在。我也更新到 Catalina 10.15.5 并且几乎没有看到任何变化。但是,就像评论所说的那样,我听说 Catalina 10.15.4 确实对此有所帮助,但 10.15.5 似乎没有改变任何东西,这很奇怪。

2020 年 6 月 27 日、2020 年 7 月 22 日和 2020 年 8 月 10 日更新——我已更新我的项目以支持 Xcode 12,但它似乎仍然存在同样的问题。什么都没有真正改变,日志完全相同。我也欢迎所有愿意继续帮助解决此问题的人。这在 Xcode 12 Beta 2 上也是一样的。对于 beta 3 和 4,excat 相同。

2020 年 9 月 28 日更新——这仍然是 Xcode 12 的 GM 和公共版本的问题。我还没有更新到 Xcode 12.0.1,因为我正在等待 macOS Big Sur,但在这一点上,我怀疑这会解决它。我真的没有任何更新,除此之外它仍在发生,我找不到问题。

2020 年 11 月 3 日更新——这似乎仍然是 Xcode 12.1.1 Release Candidate 上的一个问题。很抱歉这么久没有更新这个,正如我之前所说的,我坚持更新 Xcode,但我决定继续更新。但是,更新到候选版本并没有改变任何东西,或者至少我没有注意到。我确实注意到了一个变化;然而,它似乎更早地显示了这个问题,但这可能只是它编译得更快。总而言之,这个问题没有重大变化,并且在一段时间内也没有真正改变。

更新 2020 年 11 月 16 日

我已经更新到 macOS Big Sur 11.0.1 并将 Xcode 更新到 12.3 beta。在不得不更改一些随机的东西以使其在 Big Sur 上运行后,问题似乎仍然存在。但是,我认为我更改的大多数内容都无关紧要,因为它主要与 UI 元素有关。这可能只是 Big Sur,但它编译得更快,而且错误现在显示得更快;但是它仍然是同样的错误。

0 投票
0 回答
2013 浏览

swift - 显示最近的消息未定义符号:_OBJC_CLASS_$_SFAuthenticationSession

我刚刚更新到 macOS Catalina 和 xCode 以测试我为 iOS 构建的应用程序,了解它在 Mac 上的外观我Mac在 Development Info 下检查过。

在此处输入图像描述

当我在 iOS 设备上运行它时,它运行成功。但是当我使用我的 Mac 作为目标运行它时,它给出了一个错误:

未定义符号:_OBJC_CLASS_$_SFAuthenticationSession

这是错误的完整图片: 在此处输入图像描述

0 投票
1 回答
433 浏览

ios - 在 xcconfig 文件中区分 iOS 和 macCatalyst

在 xcconfig 文件中,可以使用sdkarch说明符。例如:

在为 macCatalyst(“UIKit for Mac”)构建时,如何使用它来使用不同的值?

0 投票
1 回答
699 浏览

swift - 通过 Catalyst 工具 Xcode 11 从 Bundle for MacOS App 加载 WKWebView 中的 PDF

我正在使用 WKWebView 从包中加载 PDF 文件,它在 iPad 设备和模拟器中都可以正常工作,但是当我在 Mac Catalyst 的帮助下为 Mac OS 应用程序调试相同的代码时,它只在 Mac 应用程序中显示空白白屏模拟器,什么都没有。

这是我从 Bundle 加载 pdf 的代码:-

并在控制台中引发此错误:-

无法创建“com.apple.iphone.axserver-systemwide”沙箱扩展

即使我已经配置了应用程序沙箱:-

看看这里

我正在使用 - Xcode 11.1 - macOS 10.15

0 投票
0 回答
186 浏览

macos - 如何在 MacOS Catalyst 应用程序中启用按需资源

NSBundleResourceRequest 的文档说它在 MacOS Catalyst 中受支持,但是当我将包含按需资源的应用程序上传到 Mac App Store 时,App Store Connect 在 MacOS 构建页面上显示“On Demand Resources No”。

该应用程序的 iOS 版本运行良好,App Store Connect 显示“按需资源是(156 个资产包)”。

是否有特殊设置可以让他们为 MacOS Catalyst 应用程序工作?

0 投票
1 回答
103 浏览

mac-catalyst - 检测没有修饰符的按键

我想在我的 Catalyst 应用程序中捕获按键。

不幸的是,modifierFlags 不能为 nil,并且 Catalyst 不支持 NSEvent。有没有办法检测单键?例如键盘应用程序或游戏?

0 投票
2 回答
5171 浏览

accessibility - Catalyst 'SwiftUI.AccessibilityNode' 不是已知的可序列化元素

我使用 Xcode 11.1 创建了一个全新的 iOS 单页应用程序(包括 SwiftUI)并启用了 Mac Catalyst。在我的 Mac(当然是 macOS 10.15)上运行新项目后,在窗口上点击一次后出现以下错误。

注意:我还删除了沙盒功能,否则我会收到关于无法写入的错误ApplicationAccessibilityEnabled

有谁知道如何解决这个问题?

0 投票
0 回答
335 浏览

ios - UISearchController/UISearchBar 在 macOS 下的行为与 iOS 不同

我有一个标准的 UISearchController 和一个标准的 UISearchBar。搜索栏显示在导航栏中。在 iOS/iPadOS 上一切正常。但是搜索栏在 macOS 下的行为有所不同。

在 iOS 下,当您点击搜索栏时,该图标仅在搜索栏中出现文本时才会出现。没有文字时不显示。如果您点击该图标,搜索栏中的文本将被删除。到目前为止一切都很好。

但在 macOS 下,该图标会立即出现,并且无论搜索栏是否有文字,都会一直显示在视图中。更糟糕的是,当您单击图标时,不仅文本从搜索栏中删除,整个搜索控制器也被取消。就像单击了取消按钮一样。实际上,该UISearchBarDelegate方法searchBarCancelButtonClicked是在单击图标时调用的(但在 iOS 中没有)。

viewDidLoad作为参考,这里是演示问题的简单视图控制器方法中的相关代码:

在真正的 macOS 应用程序(例如标准邮件应用程序)上,搜索栏的行为就像UISearchBar在 iOS 上一样,而不是UISearchBar在 macOS 上。

这是 Mac Catalyst 中的一个错误,还是我缺少一些属性或委托,可以让 UISearchBar 及其图标在 macOS 下像在 iOS 下一样工作?