UIPrintInteractionController在iOS 14中崩溃,在iOS 13上运行良好试图从线程获取网络锁

如何解决UIPrintInteractionController在iOS 14中崩溃,在iOS 13上运行良好试图从线程获取网络锁

    @objc func printData(){
    let pic = UIPrintInteractionController.shared

    let printInfo : UIPrintInfo = UIPrintInfo(dictionary: nil)
    printInfo.outputType = UIPrintInfo.OutputType.general
    pic.printInfo = printInfo
    pic.printFormatter = self.webViewPrint.viewPrintFormatter()

    pic.present(animated: true,completionHandler: nil)
}

目前运行正常,当我关闭该视图控制器时应用崩溃。

“ webViewPrint”是一个UIWebView

应用崩溃日志: 2020-09-25 12:20:19.399922 + 0530 void _WebThreadLock(),0x13b425020:试图从除主线程或Web线程之外的其他线程获取Web锁。这可能是从辅助线程调用UIKit的结果。现在崩溃了...

解决方法

尝试

    DispatchQueue.main.async {
pic.present(animated: true,completionHandler: nil)

    }

从该错误来看,似乎UI内容正在辅助线程上发生,在主线程上进行操作应该可以解决该问题。

,

虽然很难确定该崩溃,但我建议在提交给AppstoreConnect时遵循苹果公司非常激进的警告消息:

aquilas-iMac:vscod1 amora$ yarn
yarn install v1.22.10
$ node build/npm/preinstall.js
[1/4] ?  Resolving packages...
[2/4] ?  Fetching packages...
info vscode-windows-ca-certs@0.2.0: The platform "darwin" is incompatible with this module.
info "vscode-windows-ca-certs@0.2.0" is an optional dependency and failed compatibility check. Excluding it from installation.
info vscode-windows-registry@1.0.3: The platform "darwin" is incompatible with this module.
info "vscode-windows-registry@1.0.3" is an optional dependency and failed compatibility check. Excluding it from installation.
info windows-foreground-love@0.2.0: The platform "darwin" is incompatible with this module.
info "windows-foreground-love@0.2.0" is an optional dependency and failed compatibility check. Excluding it from installation.
info windows-mutex@0.3.0: The platform "darwin" is incompatible with this module.
info "windows-mutex@0.3.0" is an optional dependency and failed compatibility check. Excluding it from installation.
info windows-process-tree@0.2.4: The platform "darwin" is incompatible with this module.
info "windows-process-tree@0.2.4" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] ?  Linking dependencies...
warning " > gulp-tsb@4.0.5" has incorrect peer dependency "typescript@^3.0.0".
[4/4] ?  Building fresh packages...
[1/15] ⢀ keytar
[2/15] ⢀ native-is-elevated
[3/15] ⢀ native-keymap
[4/15] ⢀ native-watchdog
error /Users/amora/Documents/GitHub/vscod1/node_modules/native-watchdog: Command failed.
Exit code: 1
Command: node-gyp rebuild
Arguments:
Directory: /Users/amora/Documents/GitHub/vscod1/node_modules/native-watchdog
Output:
gyp info it worked if it ends with ok
gyp info using node-gyp@5.1.0
gyp info using node@12.19.0 | darwin | x64
gyp info find Python using Python version 2.7.16 found at "/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python"
gyp info spawn /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python
gyp info spawn args [
gyp info spawn args   '/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',gyp info spawn args   'binding.gyp',gyp info spawn args   '-f',gyp info spawn args   'make',gyp info spawn args   '-I',gyp info spawn args   '/Users/amora/Documents/GitHub/vscod1/node_modules/native-watchdog/build/config.gypi',gyp info spawn args   '/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',gyp info spawn args   '/Users/amora/Library/Caches/node-gyp/9.2.1/include/node/common.gypi',gyp info spawn args   '-Dlibrary=shared_library',gyp info spawn args   '-Dvisibility=default',gyp info spawn args   '-Dnode_root_dir=/Users/amora/Library/Caches/node-gyp/9.2.1',gyp info spawn args   '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp',gyp info spawn args   '-Dnode_lib_file=/Users/amora/Library/Caches/node-gyp/9.2.1/<(target_arch)/node.lib',gyp info spawn args   '-Dmodule_root_dir=/Users/amora/Documents/GitHub/vscod1/node_modules/native-watchdog',gyp info spawn args   '-Dnode_engine=v8',gyp info spawn args   '--depth=.',gyp info spawn args   '--no-parallel',gyp info spawn args   '--generator-output',gyp info spawn args   'build',gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release','-C','build' ]
  CXX(target) Release/obj.target/watchdog/src/watchdog.o
In file included from ../src/watchdog.cc:9:
/Users/amora/Library/Caches/node-gyp/9.2.1/include/node/uv.h:24:2: error: unterminated conditional directive
#ifndef UV_H
 ^
In file included from ../src/watchdog.cc:18:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/unistd.h:72:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/unistd.h:132:1: error: cannot combine with previous 'type-name' declaration specifier
struct accessx_descriptor {
^
In file included from ../src/watchdog.cc:9:
/Users/amora/Library/Caches/node-gyp/9.2.1/include/node/uv.h:473:1: warning: declaration does not declare anything [-Wmissing-declarations]
UV_EXTERN uv_buf_t
^~~~~~~~~~~~~~~~~~
/Users/amora/Library/Caches/node-gyp/9.2.1/include/node/uv.h:47:20: note: expanded from macro 'UV_EXTERN'
# define UV_EXTERN __attribute__((visibility("default")))
                   ^
../src/watchdog.cc:82:5: error: use of undeclared identifier 'uv_thread_create'
    uv_thread_create(&w_monitor_thread_id,w_monitor,NULL);
    ^
../src/watchdog.cc:121:41: error: expected '}'
NAPI_MODULE(NODE_GYP_MODULE_NAME,Init);
                                        ^
/Users/amora/Library/Caches/node-gyp/9.2.1/include/node/uv.h:27:12: note: to match this '{'
extern "C" {
           ^
1 warning and 4 errors generated.
make: *** [Release/obj.target/watchdog/src/watchdog.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:314:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Darwin 19.6.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/amora/Documents/GitHub/vscod1/node_modules/native-watchdog

我一直在推迟迁移,并且在iOS14中也遇到了完全相同的崩溃。从ITMS-90809: Deprecated API Usage App updates that use UIWebView will no longer be accepted as of December 2020. Instead,use WKWebView for improved security and reliability. Learn more (https://developer.apple.com/documentation/uikit/uiwebview). -> UIWebView转换所有内容对我来说很成功。

因此,对于您的代码,您只需要交换webViewPrint实例,就不再会看到崩溃。

WKWebView

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-