【问题标题】:iOS 10.0 Beta, keyboard extensions: The disappearing number pad (iPhone)iOS 10.0 Beta,键盘扩展:消失的数字键盘(iPhone)
【发布时间】:2016-12-18 22:11:09
【问题描述】:

在 iOS 10.0 beta 4 for iPhone (XCode 8 beta 5) 中,当用户点击数字键盘文本字段或小数键盘文本字段时,将显示系统的数字或小数键盘,而不是属于键盘的数字或小数键盘延期。至少我的键盘扩展和 Xcode 提供的骨架自定义键盘扩展是这样。

此外,当用户在我的测试程序中点击数字键盘文本字段或小数键盘文本字段时,控制台会显示此消息(这是数字键盘的版本,类型 4):

2016-08-11 21:58:43.007 TestNumberPad[34090:1780242] Can't find keyplane that supports type 4 for keyboard iPhone-PortraitChoco-NumberPad; using 1144316255_PortraitChoco_iPhone-Simple-Pad_Default

这是我的测试程序的结果。默认键盘扩展应出现在所有 3 种情况下。


这是我的 3 个文本字段的属性检查器条目的顶部

这里是 ViewController.swift

import UIKit

class ViewController: UIViewController, UITextFieldDelegate {

  @IBOutlet weak var defaultField: UITextField!  // 'tag' property = 3
  @IBOutlet weak var numberField: UITextField!   // 'tag' property = 4
  @IBOutlet weak var decimalField: UITextField!  // 'tag' property = 5
  
  override func viewDidLoad() {
    super.viewDidLoad()
    defaultField.delegate = self
    numberField.delegate = self
    decimalField.delegate = self
    
    // I TRIED AN ALTERNATE TEST, WHERE I SPECIFY THE KEYBOARD TYPE PROGRAMMATICALLY, NOT IN THE IB:
    //
    // 1. IN THE INTERFACE BUILDER, SET ALL 3 KEYBOARD TYPES TO 'DEFAULT'.
    // 2. UNCOMMENT THE CODE BELOW
    //
    // UNFORTUNATELY, THE RESULTS ARE THE SAME
    //
//    defaultField.keyboardType = UIKeyboardType.default
//    numberField.keyboardType = UIKeyboardType.numberPad
//    decimalField.keyboardType = UIKeyboardType.decimalPad
  }

  func textFieldDidBeginEditing(_ textField: UITextField) {
    switch textField.tag {
    case 3: print("Tapped default field")
    case 4: print("Tapped number pad")
    case 5: print("Tapped decimal pad")
    default:
      print("Text field doesn't have a tag!!")
    }
  }
}

最后,这是按顺序点击默认字段、数字键盘字段和小数键盘字段时的控制台输出。

点击默认字段 2016-08-12 11:13:08.561083

TestNumberPad[2201:221335] [MC] 系统组容器 systemgroup.com.apple.configurationprofiles 路径是 /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles

2016-08-12 11:13:08.563097 TestNumberPad[2201:221335] [MC] 阅读 来自公共有效的用户设置。

2016-08-12 11:13:08.799888 TestNumberPad[2201:221335] [App] 如果我们在真正的预提交中 由于 CA 限制,我们实际上无法添加任何新的栅栏

点击数字键盘

2016-08-12 11:13:15.070750 TestNumberPad[2201:221335] 找不到支持类型 4 的键盘 用于键盘 iPhone-Portrait-NumberPad;使用 160517473_Portrait_iPhone-Simple-Pad_Default

点击小数点

2016-08-12 11:13:17.627520 TestNumberPad[2201:221335] 找不到 键盘 iPhone-Portrait-DecimalPad 支持 type 8 的键盘; 使用 405786210_Portrait_iPhone-Simple-Pad_Default

App Store 审核指南仍要求自定义键盘提供数字键盘和小数键盘,因此这似乎是一个重要问题。

【问题讨论】:

    标签: iphone ios-app-extension custom-keyboard ios10


    【解决方案1】:

    我猜你是在模拟器上测试,所以当键盘不存在时,它会在日志中显示此错误。

    所以只需切换键盘,或使用设备。

    【讨论】:

    • 唉,我确实在模拟器和设备上进行了测试。事实上,为了避免这个问题,我只在设备上进行了测试。不过感谢您的意见,祝您度过愉快的一周。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-05
    • 1970-01-01
    • 1970-01-01
    • 2014-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多