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

swift - UIMarkupTextPrintFormatter 和 Mac Catalyst

我有一个使用 Catalyst 成功迁移到 Mac 的 iPad 应用程序。

虽然我可以在 iPad/iPhone 上使用 生成 PDF UIMarkupTextPrintFormatter,但它在 Mac 上无法正常工作。

事实上,我什至无法构建 Mac 二进制文件,除非我注释掉UIMarkupTextPrintFormatterusing #if !targetEnvironment(macCatalyst),因为 Xcode 只会出现错误:

体系结构 x86_64 的未定义符号:
“_OBJC_CLASS_$_UIMarkupTextPrintFormatter”,引用自:Functions.o ld 中的 objc-class-ref:未找到体系结构 x86_64 的符号:错误:链接器命令失败,退出代码为 1(使用 -v查看调用)

这令人困惑,因为 Apple 的文档表明它与 Mac Catalyst 13.0+ 兼容 https://developer.apple.com/documentation/uikit/uimarkuptextprintformatter

有没有其他人经历过这种情况,你能找到解决方案吗?

谢谢你。

编辑:根据 Sam Wize 在此处的帖子,我找到了一个出色的解决方案,该解决方案无需修改即可在 macCatalyst 中使用:

https://samwize.com/2019/07/02/how-to-generate-pdf-with-images/

关键是使用 WKWebView 对象(但不显示它)作为中介来加载 HTML 文件,然后使用它的 viewPrintFormatter 通过其didFinish navigation:委托呈现 PDF

这是我的代码(希望评论是不言自明的)。使用以下代码创建一个名为 PDFCreator.swift 的 Swift 文件:

在我的应用程序中,我实例化了一个 PDFCreator 对象

然后我确保首先在相同的“baseURL”位置创建 HTML 文件所需的所有本地资产 - 在我的情况下NSTemporaryDirectory()- 然后运行以下命令:

0 投票
1 回答
3100 浏览

ios - Mac 上 SwiftUI 中的 UIDocumentPickerViewController (macCatalyst)

因此,我一直在忙于将一个小型 SwiftUI iPad 应用程序“移动”到 Mac 上,并且在使用UIDocumentPickerViewController. 我已经像这样包裹UIDocumentPickerViewControllerUIViewControllerRepresentable

并像这样显示它:

在 iPad 上一切正常, iPad

但是当在 Mac 上时,UIDocumentPickerViewController不显示,我们得到这个空白模式:

苹果电脑

0 投票
1 回答
265 浏览

listview - Mac Catalyst 上的 SwiftUI - 使用滑块编辑列表

我在列表中有一个滑块:

图像1

我启用移动编辑模式:

img2

但是现在我无法移动滑块...

图像3

现在我禁用这样的移动:

删除了所有移动功能......我只想禁用拖动。

有没有办法读取编辑按钮状态?动态改变.moveDisabled(...)

更新:解决了!

我添加了环境变量editMode

然后像这样连接它:

谢谢@Asperi!

0 投票
1 回答
594 浏览

ios - Save/create folder that it to be treated as a file with FileManager

I have a iOS/CatalystMacOS-app that can create, save, open custom text-files (with my own file extension). This works fine. However, now I need more than text. I want to save optional files in this file as well. Apparently macOS (and iOS?) can treat folders as files. But I cannot get it to work as wanted. The folder is still treated as a folder, even if it has a file extension.

This is the code I use to create the folder:

And then it appears like this in macOS finder:

enter image description here

It will show up similar in iOS, not allowing me to open the folder as a single file either.

Edit: Using UIDocument/public.composite-content/FileWrapper seems to work as well, but the problem still consists: When viewed in macOS finder it is still treated as a folder. Also when trying to open the app from the open-dialog via UIDocumentPickerViewController trying to open the file-bundle only opens the folder and wont let me open it into the app :(

This is my info.list Export Type UTIs: enter image description here

Edit2: Also tried with removing all but com.apple.package but does not work either. Still cannot open my custom type as it behaves like a folder.

0 投票
1 回答
1068 浏览

objective-c - OpenGLES 已弃用,在为 Mac Catalyst 构建时不可用

我有一个用 Objective-C 编写的应用程序。我尝试将其导入 Mac Catalyst,当我为“我的 Mac”构建它时,我收到此错误:

OpenGLES 已弃用,并且在为 Mac Catalyst 构建时不可用。

我该如何解决?

此致。

0 投票
3 回答
677 浏览

ios - SwiftUI:显示重复按钮且未触发操作的催化剂警报

出于某种原因,以下代码显示了具有相同按钮的三个实例的警报,但没有一个按预期触发操作(例如,只是一个简单的控制台输出):

警报中的重复按钮

有没有其他人经历过这个?关于修复的任何建议?

它基于 Xcode 11.2.1 构建,用于 iOS 13.0 目标,然后通过 Catalyst 在 macOS (10.15.1) 上运行。

更新 1:这似乎是 Catalyst 特有的问题。当相同的代码在 iPhone 模拟器上运行时,它会显示一个按钮并按预期执行操作。

更新 2:更新到 Xcode 11.3.1 和 macOS 10.15.3 也没有解决这个问题。

0 投票
0 回答
189 浏览

macos - Mac Catalyst:如何通过多窗口支持控制 tabbingMode?

如果我向我的 Catalyst 应用程序添加多窗口支持,则会自动添加用于显示和隐藏选项卡栏的菜单项。我希望能够控制这一点。但是 UIWindow 似乎没有 tabbingMode 属性。有什么想法吗?

0 投票
1 回答
326 浏览

xcode - 使用 Mac Catalyst 上传新应用程序版本时出错

当我尝试为 Mac Catalyst 上传新的应用程序版本 (1.1) 时收到的消息。

错误 ITMS-90061:“此捆绑包无效。Info.plist 文件中键 CFBundleVersion [1] 的值必须包含比先前上传的版本 [2] 更高的版本。有关 CFBundleVersion 的更多信息,请访问https: //developer.apple.com/documentation/bundleresources/information_property_list/cfbundleversion "

我有 iOS 应用程序,它是 2.6 版,而 Mac OS 应用程序是 1.0 版

我将 Info.plist CFBundleVersion 更改为 1.1 ,但我仍然收到该错误。

错误截图

0 投票
1 回答
342 浏览

xcode - Mac Catalyst 调整屏幕截图的窗口大小

Mac Catalyst AppStore 屏幕截图需要特定大小和 16:10 纵横比。如何轻松地将窗口大小调整为这些大小之一?我尝试了 Apple Script,但它说它无法设置边界,即使相同的脚本适用于 Finder 等应用程序。

0 投票
0 回答
347 浏览

swift - Firebase 和 Google 身份验证构建失败 => API_UNAVAILABLE(macCatalyst) ==> “预期 ','”

我在使用 Firebase 进行 Google 身份验证时遇到问题。我的应用程序中有电子邮件和 Facebook 身份验证,它们工作正常,但是当我添加pod 'GoogleSignIn'到我的 Podfile 并安装后,我在构建应用程序时遇到错误:

API_UNAVAILABLE(macCatalyst) ==> " Expected ',' "

一旦我删除pod 'GoogleSignIn'并清理项目,一切都会再次正常工作。Facebook 和 Google Auth 之间是否存在冲突?这是我的 Podfile:

但这里的重要问题是:任何人都知道我如何在 swift 应用程序中使用 Firebase 将 Facebook 和 Google 身份验证放在一起?请不要发布 Firebase 文档链接,因为我已阅读所有这些链接。

仅供参考,我使用的是 Swift 4.2 和 Xcode 10.1

任何解决方案将不胜感激。