问题标签 [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 投票
1 回答
246 浏览

macos - macCatalyst 项目的最小 macOS 部署目标?

今天我通过 macCatalyst 将 iPad 项目移植到 macOS 上。这是一个简单的项目,例如两种语言之间的字典。macCatalyst 项目的最低 macOS 部署目标是什么?我可以设置低于 10.15 吗?

0 投票
4 回答
1332 浏览

ios - 如何为使用 Mac Catalyst 移植到 Mac 的 iPad 应用程序设置“帮助”菜单选项?

默认情况下,Mac Catalyst 会创建一个标题为“帮助”的菜单,该菜单应该包含应用程序的帮助。但是,我没有找到有关如何实施帮助的文档。对于标准 Mac 应用程序,您可以使用帮助手册。但是,没有提及如何在 Mac Catalyst 中使用帮助手册。我试图将 HelpBookDirectoryName 添加到 info.plist 但这不起作用。有没有一种方法可以让帮助书与 Mac Catalyst 一起使用?

0 投票
1 回答
918 浏览

google-signin - 构建具有 Google Sign 并支持 Mac 的 iOS 应用

我已经手动将 Google 登录框架嵌入到带有 .bundle 和 .framework 文件的 iOS 应用程序中。

使用最新的 Xcode 和 macOS Catalina 版本将 Mac 添加为部署目标后,尝试在 Mac 上运行应用程序时收到以下错误消息。

为 Mac Catalyst 构建,但链接框架“GoogleSignIn.framework”是为 iOS + iOS 模拟器构建的。您可能需要在目标编辑器中限制应链接此框架的平台,或将其替换为支持这两个平台的 XCFramework。

我能以某种方式解决这个问题吗?还是我必须等待谷歌发布兼容 iOS 和 macOS 的新版本框架?

0 投票
2 回答
1979 浏览

swift - 如何在 Catalyst 应用程序中将搜索栏放入 NSToolbar?

我已经看到一些 Catalyst 应用程序在 NSToolbar 中添加了一个搜索栏,并且想知道如何才能做到这一点。我是否必须导入 AppKit/Cocoa 才能获得 NSSearchField 和实际的 NSToolbar?还是有一些我没有看到的 UISearchBars 方法?任何帮助都会很棒,谢谢。

我尝试过导入 AppKit 和 Cocoa(使用捆绑加载器),但我认为我做得不对。如果有人有关于如何做到这一点的可靠指南,请链接它。

我还尝试使用 UISearchBar 的自定义视图创建 UIBarButtonItem,它最终不会呈现任何内容。(可以在下面找到)

这可以在 itemIdentifier.rawValue 的 switch case 中找到(在工具栏 itemForIdentifier 函数中)

0 投票
2 回答
3290 浏览

ios - Mac Catalyst 中的弃用警告,但仅在 Objective-C 中,而不是在 Swift 中

我在 Catalina (10.15) 的 GM 版本上使用 Xcode 11。我正在为 Mac Catalyst 构建我的 iOS 应用程序。我的 iOS 应用程序的部署目标是 iOS 11。

我在视图控制器中有一条简单的线,例如:

在 iOS 中编译干净。当我切换到“我的 Mac”目的地时,我收到了弃用警告:

'modalInPopover' 已弃用:首先在 macCatalyst 13.0 中弃用

好的。我可以切换到 iOS 13 中添加的新方法:

modalInPopover这应该可以解决它,但我仍然会收到关于在else块中使用的相同的弃用警告。

奇怪的是相应的 Swift 代码没有给出任何警告。只有 Objective-C 代码继续给出警告。

我什至尝试将其更新@available为:

但这并没有改变任何东西。

以下灾难解决了这个问题,但它不应该是必需的:

我错过了什么还是这是一个 Xcode 错误?如何在不重复使用#if TARGET_OS_MACCATALYSTSwift 中不需要的代码的情况下消除 Objective-C 中的弃用警告。

0 投票
2 回答
2958 浏览

ios - 如何有条件地为 Catalyst 编译代码?

我正在将 iOS 应用程序移植到 Catalyst。Catalyst (Mac) 版本将有自己的目标。

是否有官方方法可以为 Catalyst 有条件地编译代码?否则,我可以添加特定于目标的定义,但最好使用更通用的定义。

0 投票
0 回答
576 浏览

ios - 你如何为 Mac Catalyst 构建 FFmpeg

使用 XCode 11 和 macOS 10.15 (Catalina),您现在可以通过检查Mac目标的常规设置来构建 iPad 应用程序以在 Mac 上运行。我有一个使用 ffmpeg 的 iPhone/iPad 应用程序。当我尝试为 Mac 构建它时,我收到此链接器错误:

为 Mac Catalyst 构建,但链接库“libavformat.a”是为 iOS + iOS 模拟器构建的。您可能需要在目标编辑器中限制应链接此库的平台,或将其替换为支持这两个平台的 XCFramework。

所以我的问题是,如何为Mac Catalyst构建静态库或为 ffmpeg 创建 XCFramework?我在 GitHub 上使用来自FFmpeg-iOS-build-script的 build-ffmpeg.sh 来构建适用于 iOS 的 ffmpeg 静态库。

0 投票
1 回答
463 浏览

ios - iOS 应用程序到 MacOS 错误:“transactionReceipt”不可用:在 macCatalyst 上不可用

我有一个 iOS/iPadOS 应用程序已经在 App Store 中发布和销售。现在使用 Xcode 11.1 到 MacOS 10.15 Catalina 或更高版本的“自动”端口,我只是标记了“Mac”复选框并尝试在我的 Mac 上运行该应用程序,但我得到了这个编译错误:

'transactionReceipt' 不可用:在 macCatalyst 上不可用

怎么解决?我正在使用 StoreKit 框架,必须使用另一个?有没有办法调整 StoreKit 以使其与 macCatalyst 一起使用?

0 投票
1 回答
933 浏览

swift - 在 Mac Catalyst 中使用文档浏览器视图控制器

我刚刚开始尝试使用 Catalyst。我的应用程序是基于文档浏览器的应用程序。

单击适当的按钮时,确实会启动库存的 MacOS Finder 对话框。当 Finder 对话框出现时,主应用程序窗口完全消失,除非我在 IB 中选择文档浏览器视图控制器以“自动”模式出现。

取消操作确实会带回主窗口。

但是,选择一个文件将产生一个空白屏幕并且没有结果。稍微调试一下,发现没有调用任何文件选择函数,我已经实现了所有这些函数:

Catalyst 中是否使用了其他函数或句柄?我在文档中一无所获。

编辑:我应该澄清我操纵应用程序在 DocumentBrowserViewController 之前呈现 DocumentViewController,尽管 Apple 要求 DocumentBrowserViewController 是初始视图控制器。我通过更改应用程序委托来做到这一点:

把它拿出来仍然不会改变任何事情。从文档浏览器模板创建的默认项目似乎确实有效。什么可以阻止这些方法被调用?

0 投票
1 回答
735 浏览

ios - 有没有办法像我们在 iOS 中那样在 macOS 下将用户发送到应用程序的隐私设置?

像许多应用程序一样,如果某个隐私权限已被禁用,我的 iOS 应用程序会为用户提供打开应用程序设置页面的机会。

在 iOS 中,使用特殊的UIApplicationOpenSettingsURLString/ openSettingsURLStringURL 将用户带到设置应用程序的应用程序特定页面。除了应用程序提供的 Settings.bundle 中的任何设置设置(如果有)之外,用户还可以看到应用程序使用的各种隐私设置。

在 iOS 应用程序的 Mac Catalyst 端口上工作时,这并没有像希望的那样工作。特殊设置 URL 的相同使用显示了用户在单击“首选项...”菜单时看到的相同首选项窗格。这只是应用程序的 Settings.bundle 提供的内容。该应用程序的隐私设置不像在 iOS 中那样显示。

我可以在 macOS 设置应用程序中查看我的应用程序的隐私设置,方法是单击“安全和隐私”,然后单击“隐私”选项卡,然后单击左侧列表中的相应项目,例如“联系人”或“照片”。但这些设置不按应用分组。

有没有办法让 macOS 版本的 iOS 应用程序在一个地方显示各种隐私设置,比如在 iOS 上运行时?如果没有,是否至少有一种方法可以直接在 macOS 中启动“设置”应用并显示“隐私”窗格?