从自定义键盘应用程序扩展发出HTTP请求

时间:2017-02-17 15:37:25

标签: ios swift swift3 ios-app-extension

我的自定义键盘应用扩展程序在我的真实设备上表现不同,但在我的iOS模拟器上运行良好。

我的真实设备上出现以下错误

2017-02-17 16:30:01.369868 Custom Keyboard[8472:570942] [default] error registring notify port: (1000000)
2017-02-17 16:30:01.371652 Custom Keyboard[8472:570889] [Common] BKSAccelerometer unable to create notifyd token for device orientation
2017-02-17 16:30:01.702241 Custom Keyboard[8472:570940] [] __nwlog_err_simulate_crash_libsystem libsystem simulate crash failed "libsystem_network.dylib: networkd_settings_setup_notify_watch :: notify_register_dispatch(com.apple.system.networkd.settings) [status 1000000] failed"
2017-02-17 16:30:01.706023 Custom Keyboard[8472:570940] [] networkd_settings_setup_notify_watch notify_register_dispatch(com.apple.system.networkd.settings) [status 1000000] failed, dumping backtrace:

我正在使用标准的Alamofire代码:

Alamofire.request("https://httpbin.org/get").response { response in
    print("Request: \(response.request)")
    print("Response: \(response.response)")
    print("Error: \(response.error)")

    if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) {
        print("Data: \(utf8Text)")
    }
}

我真的不明白这里发生了什么。

任何帮助表示赞赏。提前谢谢。

2 个答案:

答案 0 :(得分:2)

您需要拥有完全访问权限才能启用自定义键盘网络。

转到Info.plist,查看NSExtensionAttributes并将RequestsOpenAccess更改为YES。

然后在iOS设备上安装键盘时,请打开完整的访问开关。

答案 1 :(得分:0)

转到Info.plist。

  1. 查看“ NSExtension-> NSExtensionAttributes-> RequestsOpenAccess为YES”。

  2. 您必须添加“应用程序传输安全设置->允许     任意加载为YES”。

然后

  1. 转到Apple设置,然后选择“常规”。

  2. 依次点击“键盘”和“键盘”。

  3. 点击“您的键盘”,然后切换“允许完全访问”开关。

  4. 按“允许”。