-
Archives-upload::WARNING ITMS-90076:“Protentoal Loss of Keychain Access, The Previous version of software has an application-identifier value of[‘XXX.com.qingniu.food’] and the new version of software being submitted has an application-identifier of [‘YYY.com.qingniu.food’],This will result in a loss of keychain access"
只需要点击下一步,不需要理会,只是warning;出现这个WARNING的原因是App进行了转让. -
UIColor转十六进制转移链接
-
Alamofire网络请求,参数默认是form表单(也就是字典的形式),现要求使用json格式?
增加参数的encoding
字段,改成JSONEncoding.default
,该字段默认是URLEncoding.default
-
pod终端问题,每次执行,会提示警告提示信息
消除警告打印,执行sudo gem pristine ffi --version 1.12.2
-
项目中对于时间、日期等格式化显示,均采用公历形式,系统默认使用的是跟随手机系统中的日历格式
[NSCalendar currentCalendar]
,如果手机的日历改成日本日立和佛历日历的话,app显示的也会显示成对应的格式
修改:可以手动指定app使用中的统一为公历- 日历NSCalendar的初始化方法为 [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]
- UIDatePickerView手动设置.calendar的属性为[[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]
- UIDateFormatter手动设置.calendar的属性为[[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]
-
录音功能,开启录音后,长时间挂起冷却,再次说话,录音失效
原因:挂起超过一分多种时,录音recognitionTask会回调录音错误,导致录音失效
解决:如果想保持一直录音状态的话,在收到错误回调后,先停止录音(如果不停止录音引擎的话AVAudioEngine(),二次调用引擎开启,会抛出异常),再次开启录音 -
三方库冲突,项目中已存在WCDB三方库,后面接入友盟时,导致WCDB数据库初始化出错
原因:podfile文件中导入资源文件时为use_frameworks! :linkage => :static,静态库的方式
解决:podfile文件中导入资源文件时改为use_frameworks!,后即可恢复正常 -
WKWebview背景透明实现?
说明:需要客户端与H5配合实现:
客户端:设置WKWebviewlet webview = WKWebView(frame: view.bounds) view.addSubview(webview) webview.backgroundColor = .clear webview.isOpaque = false
前端页面设置页面透明即可
-
项目中,遇到在iphone 13等部分ios15系统的手机上,第一次启动失败,卡在启动页中,导致崩溃
原因:appDelegate启动时,项目中使用到的蓝牙初始化放在根控制器初始化之前,蓝牙初始化时,会弹出系统弹窗,提示使用蓝牙权限的弹窗,需要手动点击操作消失,导致页面初始化失败,造成崩溃
解决:蓝牙初始化等一些列工具类、三方类的初始化,放在初始化跟控制器之后执行,减少页面启动 的消耗 -
上传appstore时,提示以下错误信息:
ERROR ITMS-90474: "Invalid Bundle. iPad Multitasking support requires these orientations: 'UIInterfaceOrientationPortrait,UIInterfaceOrientationPortraitUpsideDown,UIInterfaceOrientationLandscapeLeft,UIInterfaceOrientationLandscapeRight'. Found 'UIInterfaceOrientationPortrait' in bundle 'com.slimpal.app'."
原因:原本项目中支持iphone和ipad设备,iphone只支持竖屏,ipad支持横、竖屏,由于某些页面在横竖屏切换时,未做好页面布局适配,所以此版本将ipad也设置为只支持竖屏,在info.plist文具中,删掉掉ipad其他方向的key,打包上传appstore时就会出现上面的报错信息。
解决:查找资料,得知设置iphone和ipad都为竖屏时,需要在target - general - Deployment Info,勾选Requires full Screen 选项,然后重新编译上传即可
-
SourceTree拉取远程项目时,不断提示输入密码password required
原因:可能是更新了电脑系统,钥匙串里保存的密码读取有误
解决:打开电脑钥匙串,找到密码,删除git相关的密码,重新输入密码(git账号的密码) -
SourceTree拉取远程项目,一直提示无权限被拒绝,拉取不到仓库(在此之前可正常使用)
原因:可能是更新了电脑系统,git使用的SSH存在安全隐患,需要使用新的方式添加SSH Key,详情参考文档ssh
类型选择
解决:采用ed25519的方式,重新生成SSH Key,添加后可正常访问远程仓库
-
终端执行pod相关命令时,打印很多提示日志,导致查看不方便
解决:根据提示的忽略信息,安装对应的内嵌版本支持
-
使用图标工厂生产的App Logo图片,在app项目中显示正常,安装到真机也能正常显示,但是上传的fir时,无法解析.ipa包,导致无法上传
排查:通过与之前的对比Logo对比,发现里面的content.json文件中,idiom字段有差异,原来的是idiom:"iphone"或者idiom:“ipad”,新生成的是idiom:“universal”
然后重新去生成Logo图标,勾选IOS就尺寸选项(xcode<14),生成的图表就跟原来的一样了,能正常解析和显示
-
使用xcode 14创建的IOS项目,使用pod init或者pod install时,会报错
解决:报这个错是因为该项目使用xcode 14创建的,然后项目中是Xcode 14.0-compatible,修改这个选项为Xcode 13.0-compatible即可
ios 问题记(持续更新...)
于 2020-07-31 10:44:20 首次发布