问题标签 [ios13.4]

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 回答
358 浏览

ios - 鼠标点击iOS13.4

只是在 iOS13.4 中使用新的鼠标/触控板支持并尝试检测主要和次要鼠标按钮点击。

我可以通过将UITapGestureRecognizer上的 buttonMaskRequired 设置为 UIEventButtonMaskPrimary 或 UIEventButtonMaskSecondary来检测它们(主要或次要点击)

但是,如果我尝试同时识别两者(buttonMaskRequired = UIEventButtonMaskPrimary | UIEventButtonMaskSecondary),则手势识别器不会触发(对于鼠标单击。)

有人知道这是“疏忽”还是我做错了什么?

0 投票
2 回答
623 浏览

ios - Xcode 11.4 导航栏按钮问题

自从更新到 Xcode 11.4 后,我遇到了一个问题,即我无法弄清楚如何更改导航栏中后退箭头的颜色。

在我能够简单地使用之前:

但是,11.4 迫使我使用标准外观功能来设置导航栏和所有内容的颜色。这没什么大不了的,这适用于设置 barTint 和标题颜色:

我只是没有在UIBarButtonItemAppearance对象上看到替换 barTintColor 的属性。它允许您更改文本的颜色,更改图像本身,但没有颜色属性。

0 投票
1 回答
229 浏览

ios - AES 加密在 iOS 13.4 上无法正常工作

我的 iOS 应用程序使用 AES 加密创建一个密钥并将其与所有 API 一起发送,并且它正在服务器端被解密,现在在更新 OS 13.4 之后,从设备(而不是模拟器)创建的密钥不正确,并且服务器抛出以下错误: “填充无效,无法删除。”

它在 13.4 OS 版本以下的设备上运行良好,我们最终使用CommonCrypto来加密密钥,以下是详细信息:

令人惊讶的是,尽管使用相同的方法生成密钥,但为某些 API 调用正确生成了密钥。

iOS-OS 低于 13.4 的用户没有遇到任何问题,如果有人遇到过同样的情况,请指导。

提前致谢。

0 投票
1 回答
110 浏览

ios - iOS 13.4 应用程序崩溃,消息模糊:前提条件失败:类型检查失败:101,预期文本,得到 _HiddenModifier

很抱歉这里的描述含糊不清,但是当用户尝试使用我的搜索功能时,这导致我的应用程序完全是 DOA。这在 iOS 13.4 之前没有发生,并且错误消息根本没有帮助。找不到任何信息。有没有人遇到过这个?它可能在哪里?

应用程序在我的 SwiftUI 文件中崩溃,我使用数组中的 ForEach 填充视图,该数组是一个可观察的对象:

ForEach(self.listArray.searchDataArray, id: \.self) { fetchedData in

如果我弄清楚了,我会更新,想看看还有谁经历过这种情况以及可能的原因。

谢谢!

0 投票
2 回答
426 浏览

ios - 为什么 iOS 13.4 之后不执行 UIApplication 的 next 方法?

上面的代码是在iOS 13.4之前执行的,在方法next之前打印了“ ”application(_:, didFinishLaunchingWithOptions:)

iOS 13.4和最新的iOS 13.4.1上,控制台不输出next。如果我print()在行上断了断点,断点将不会被执行

这导致我以前的一些代码失败,例如:

为什么会这样?这是 iOS 13.4 中的错误吗?还是特色?我在 iOS 13.4 的发行说明中没有找到任何相关内容...


让我列出我测试的情况:

  • 13.2 iPhone、next方法执行和之前application(_:, didFinishLaunchingWithOptions:)的 .
  • 13.3 模拟器、next方法执行和之前application(_:, didFinishLaunchingWithOptions:)的 .
  • 13.4 模拟器,next方法未执行。
  • 13.4 iPhone,next方法未执行。
  • 13.4.1 iPhone,next方法未执行。
0 投票
1 回答
635 浏览

ios - 安全文本字段的键盘布局从 AZERTY 更改为 QWERTY - SWIFT

我遇到了这个奇怪的错误,其中键盘布局从 QWERTY 更改为 AZERTY 仅适用于安全文本字段,而并非适用于所有文本字段。我有一个 LoginViewController ,它有一个 passwordField ,它在 AZERTY 中。但是我的 SingUpViewController 上的密码字段会自动从 AZERTY 更改为 QWERTY。

它以前是 iOS 12 的错误,在 iOS 12.1 中已修复。我也尝试过Native UITextField Secure Text Entry force English (US) keyboard的解决方案,但它们也不起作用。

0 投票
0 回答
176 浏览

ios - iPadOS/iOS 13.4 企业应用程序崩溃

我注意到更新到 iPadOS 13.4 后我的企业应用程序崩溃(例如配置文件过期时,但它们是最新的),但是当用户从服务器重新下载 ipa 文件并再次安装时,一切正常。更奇怪的是,并非所有用户都随机发生。有人知道我如何防止用户在 13.4 版本上崩溃吗?它是一个 iOS 错误还是我只是忘记对我的证书/代码做些什么?
提前感谢您的帮助。

0 投票
0 回答
250 浏览

ios - `MPMusicPlayerController.systemMusicPlayer.nowPlayingItem` 只有在音乐应用重新打开后才改变状态

MPMusicPlayerController.systemMusicPlayer.nowPlayingItem只有在音乐应用程序被杀死并重新打开后才改变状态。具体来说,

  1. 打开音乐应用程序并播放音乐。
  2. 打开我创建的应用程序。它正在使用MPMusicPlayerController.systemMusicPlayer.nowPlayingItem. 确认nowPlayingItem数据正确(包括当前播放的音乐数据)。
  3. 切换到音乐应用程序并杀死。然后,重新打开音乐应用程序并更改音乐。
  4. 切换到我的应用程序并显示nowPlayingItem数据。我想要当前的音乐数据,但它是旧的音乐数据。

这是在 iOS13.3 上运行的正确代码。更新到iOS13.4后,无法正常运行。

0 投票
2 回答
1627 浏览

ios - WKWebview 允许LinkPreview 假断文本选择

我们有一个使用 WKWebview 的应用程序,但设置allowsLinkPreviewfalse因为我们不想要链接预览行为。似乎从 iOS 13.4 开始,在没有3D 触摸功能的设备(旧设备和新 iPhone 型号)上,设置allowsLinkPreview为 false也会禁用页面中的所有文本选择!对于我们的应用程序,文本选择至关重要。

我在文档的字里行间提出了这个理论阅读:

在 iOS 中,此属性在支持 3D Touch 的设备上可用。

在运行 iOS 13 及更高版本的设备上,无论设备是否支持 3D Touch,人们都可以使用长按手势打开上下文菜单。在 3D Touch 设备上,手势可以更快地显示上下文菜单。

禁用链接预览会禁用 web 视图中的所有按住手势,这似乎是一个错误。

我能想出的唯一解决方法是设置allowsLinkPreviewtrue,然后通过WKUIDelegate 协议禁用上下文菜单。这会禁用单击链接的弹出窗口,但不会禁用单击图像的弹出窗口。而且,它仍然允许用户将链接拖放到 safari 中的分屏视图中,这是我们不想要的。

任何关于如何完全禁用链接预览/上下文菜单/拖放行为同时仍然允许文本选择的建议将不胜感激!

更新
由于我控制了我的应用程序的内容,我可以通过使用以下 css 来禁用图像的按住:-webkit-touch-callout: none; 所以我剩下的问题就是禁止将交互从WKWebView.

更新 2 同样,我可以-webkit-user-drag: none;用来禁用链接的拖动,但知道一个非 css 修复对我来说似乎是一个 Apple 错误仍然很有用。

0 投票
1 回答
118 浏览

swift5 - 基于块的 KVO 中的选项 NSKeyValueObservingOptions.initial

文档说 [when .initialis used]:如果还指定了 new,则通知中的更改字典将始终包含一个 newKey 条目,但永远不会包含 oldKey 条目。

在基于块的 KVO 观察者中接收change结构体,在哪里oldValue使用。

oldValue有野生型Optional<Optional<Any>>

由于“Any is not Comparable”错误,任何形式的直接比较(使用 nil、.some(nil) 等)都会失败。

如何检查观察者的呼叫是否是初始的?

更新

出色地。

我正在观察value: Any一些attribute. 真正value是由内部的二进制数据构造的,attribute并且具有交付它的类型,Bool?在这种情况下是真正的类型。观察者被正确触发,这不是问题。

在最初的情况下,我有

新值为nil( attribute.value == .none)。根据文档,旧值不得包含。我应该怎么做才能确保它不是真的被包含在内?