问题标签 [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 回答
352 浏览

ios - macCatalyst(Xcode 11 Beta 5)基于MacOS和iOS区分pod

我们正在使用 xcode 11 beta 5 中的 Catalyst swift 将我们的 iOS 应用程序转换为兼容 macCatalyst。

我在 macCatalyst 尚不支持的一些 pod 文件中遇到问题。

因此,任何人都找到了可以根据 MacOS 和 iOS 区分 pod 的解决方案。使用此iOS pod 仅安装 iPhone/iPad和其他macOS + iOS

0 投票
1 回答
578 浏览

ios - Mac Catalyst - 拖动到非活动窗口

UIImage通过 Xcode 11b6 中的 Catalyst 为 macOS 构建了一个接受对象作为拖动项目的 iPad 应用程序。

当我从 Finder 或照片中拖动图像时,我发现我的应用程序必须首先放在前台才能接受拖动。

这行得通。

  • 前台我的应用程序。
  • 将图像拖入应用程序。丢弃被接受。

这行不通。

  • 背景我的应用程序。
  • 将图像拖入应用程序。不触发丢弃处理程序,不接受丢弃。

预期的行为是内容可以像任何 Cocoa 应用程序一样被拖到非活动窗口中。

我正在实施UIDropInteractionDelegate

这是 Catalyst beta 的怪癖还是需要一些额外的UIWindow/UIScene魔法?

0 投票
3 回答
1244 浏览

ios - 如何在 MacOS Catalyst 应用程序中获取触控板/鼠标滚轮滚动事件?

我们使用 Catalyst 为 MacOS 构建了 iPad 应用程序,但我无法弄清楚如何让两指触控板滚动手势在自定义 UIView 中工作。标准的 UIKit 组件(例如,UITableView)使用标准的两指触控板滚动手势进行滚动。但是如何在自定义 UIView 中处理它们?

自定义 UIViewViewController 添加了一个典型的 UIPanGestureRecognizer,它在按下触控板并移动手指时调用手势处理程序方法。但它不会只用两根手指刷触控板来调用处理程序。

0 投票
1 回答
1237 浏览

swiftui - 如何在 MacOS for iOS 项目(启用 Catalyst)上的 SwiftUI 中的按钮上分配快捷方式?

我的视图上有一个按钮,我想处理关键事件以执行某些操作。怎么做? #if os(macOS)是错误的,因为该项目是通过 Catalyst 启用 MacOS 的移动项目。

更新

0 投票
0 回答
190 浏览

xcode - UIActivityViewController 标识为我的 Mac Catalyst 应用程序的非公共 API

该应用程序在 Mac 上运行,我可以使用 Xcode 11 毫无错误地上传它。上传后不久,我从 App Store Connect 收到以下消息(在电子邮件中):

ITMS-90338: Non-public API usage - The app contains or inherits from non-public classes in <xyz>: UIActivityViewController

UIActivityViewController显然,即使对于 Mac Catalyst 也是公共 API:Catalyst https://developer.apple.com/documentation/uikit/uiactivityviewcontroller

更新:这个问题在最新版本的 Xcode (11.1) 中得到解决

0 投票
1 回答
1215 浏览

macos - 通过 Catalyst 将 iOS 应用程序移植到 Mac 时如何获得访问文件的权限

我以前从未写过任何 Mac 应用程序。我听说现在您可以通过 Catalyst 将您的 iOS 应用程序移植到 Mac。我按照 Apple 官方网站的说明进行操作,发现我什至无法读取位于 Mac 本地硬盘中的文件。我收到以下错误信息:

Error Domain=NSCocoaErrorDomain Code=257 "无法打开文件“info.json”,因为您没有查看权限。" UserInfo={NSFilePath=/Users/echo/Documents/Youtube/Work/Programming/info.json, NSUnderlyingError=0x600000ca2670 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not allowed"}}

我正在使用 Catalina beta 8。任何人都可以给我一些关于如何获得该许可的提示吗?

0 投票
0 回答
551 浏览

swift - Mac Catalyst:AVAudioSession.availableInputs 不返回任何输入

我正在尝试将音频输入移植到 Mac Catalyst。截至目前,我正在使用 xcode13GM、macOS 10.15 Beta 8 (19A558d)、ios13beta8。以下代码不返回任何输入端口。

我已授予“Hardend Runtime - 音频输入”权利,并且该应用程序要求获得已授予的麦克风权限。

访问 audioSession.availableInputs 时,控制台中会显示以下错误:

[avas] AVAudioSession_MacOS.mm:258:-[AVAudioSession getChannelsFromAU:PortName:PortID:]: 获取 auScope 1768845428 元素 1 的通道布局时出错

这是由于整个东西的测试状态导致的错误还是我错过了什么?

谢谢

0 投票
1 回答
699 浏览

ios - 检测 UIKit for Mac (Catalyst) 中的单个修饰符键更改

我正在使用UIKit for Mac在 MacOS 上移植 iOS 应用程序,也称为iPad Apps for MacProject Catalyst

该应用程序使用keyCommandsfromUIKit来检测单个修饰键按下:

此代码在带有外部键盘的 iPad 上完美运行,每次按下 ⇧ 都会触发该事件。但是,这在 MacOS 上不起作用,尽管单个非修饰符事件和修饰符 + 非修饰符组合有效。

如何实现所需的行为并获得有关单个修饰键事件的通知?

或者也许我应该放弃UIKeyCommand并尝试UIGestureRecognizer代替?

0 投票
0 回答
470 浏览

swift - 如何在 Catalyst 中使用 NSSharingService?

我尝试使用 NSSharingService 添加我的催化剂应用程序以在 macOS 上共享操作表,但出现错误NSSharingService is unavailable in Mac Catalyst

我在这里找到有关如何在 Catalyst 中使用 AppKit 的文章

我的步骤:

  1. 创建 macOSReaderTranslatorAppKit包并在 Info.plist 中设置 principalClass="ReaderTranslatorAppKit.ReaderTranslatorAppKit"
  1. ReaderTranslatorAppKit在作为 macOS 平台的嵌入中 添加了捆绑包将其添加到插件中

  2. 创建ReaderTranslatorCommonInterfaces通用协议

  1. 加载 ReaderTranslatorAppKitSceneDelegate.swift

结果 我在铸造时得到 nil cls.init() as? ReaderTranslatorCommonInterfaces。怎么了?

更新

我通过创建 macOS 项目而不是 Catalyst、在两个项目之间共享代码以及使用并将对象从我的扩展程序发送到应用程序来解决了CFNotificationCenterGetDarwinNotifyCenterUserDefaults(suitename:)问题

0 投票
1 回答
1627 浏览

swift - 如何在 Mac Catalyst 中检测窗口大小调整?

当用户在以下情况下调整窗口大小时如何获得通知:

在 Mac Catalyst 中不可用