热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

苹果手机适配Xcode13打包及IOS15系统

篇首语:本文由编程笔记#小编为大家整理,主要介绍了苹果手机适配Xcode13打包及IOS15系统相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了苹果手机适配Xcode13打包及IOS15系统相关的知识,希望对你有一定的参考价值。








苹果手机适配Xcode13打包及ios15系统


  • 1. 问题统计
  • 2. 适配问题
  • 3. iOS15.2系统相册权限卡死Bug影响分析




2021年9月苹果发布xcode13及iOS15,苹果每年都有要求限制开发者提交市场App的xcode版本,手机证券App为提前应对限制,做好充分时间准备。
目前公司的项目提前在做适配工作, 所以再次记录。



1. 问题统计

Showing All Messages
: The Legacy Build System will be removed in a future release. You can configure the selected build system and this deprecation message in File > Workspace Settings.
Xcode-〉file-〉Workspace Settings 选择新的模式(项目以前都是使用旧的编译模式)
Showing All Messages
/Users/xia/EssenceMobile_ios/project/axsc/tztMobileApp_axsc.xcodeproj Building for iOS, but the linked and embedded framework 'alivcffmpeg.framework' was built for iOS + iOS Simulator.
Xcode-〉Build Setting-〉VALIDATE_WORKSPACE = YES;
Showing All Messages
Multiple commands produce '/Users/xia/Library/Developer/Xcode/DerivedData/tztMobileApp_axsc-bacmqduyvlscwtgrianwrtoxrvsm/Build/Products/Debug-iphonesimulator/tztMobileApp_axsc.app/MJRefresh.bundle':
1) That command depends on command in Target 'tztMobileApp_axsc' (project 'tztMobileApp_axsc'): script phase “Run Script”
2) That command depends on command in Target 'tztMobileApp_axsc' (project 'tztMobileApp_axsc'): script phase “[CP] Copy Pods Resources”
Podfile
install! 'cocoapods', :disable_input_output_paths => true
/Users/xia/EssenceMobile_ios/Frameworks/TIFASDK/TIFASDK.xcodeproj The linked framework 'AxsThirdVendors.framework' is missing one or more architectures required by this target: i386.
'AxsThirdVendors.framework' 缺少i386的架构【模拟器编译】
TIFACustomButton
_font;- >ax_font;

  • 编译模式的调整


  • Podfile文件的改变


  • build setting 修改变量


2. 适配问题
式配点现象方案
UITableView从 iOS 15 开始,TableView 增加sectionHeaderTopPadding属性,默认情况sectionHeaderTopPadding会有22个像素的高度,及默认情况,TableView section header增加22像素的高度self.tableView.sectionHeaderTopPadding = 0
保存相册UIImageWriteToSavedPhotosAlbum存储图片之后的回调不再返回图片了,会返回nil,如果在回调方法里面操作image有可能会直接Crash目前的解决办法声明一个全局image去记录,后面再去操作

3. iOS15.2系统相册权限卡死Bug影响分析

12 月 15 日,苹果发布了 iOS 15.2 的正式版。不幸的是这次升级,获取相册权限在特定情况下会卡死:
在还未向用户申请相册权限时,即
[phphotoLibrary authorizationStatus] != PHAuthorizationStatusAuthorized 时,
如果调用 [[PHPhotoLibrary sharedPhotoLibrary] registerChangeObserver:xxx]; 添加监听,则会卡死。苹果开发者论坛也有反馈(https://developer.apple.com/forums/thread/696131),目前苹果还未有回应,可以看到这个问题在 15.2 beta 版中就存在了,需观察苹果后续会如何处理。
临时方案可以在注册前进行判断,如果没有权限,则不注册观察者。


IOS11之后,系统访问相册即使是第一次访问相册,系统也没有弹出需要用户授权的弹框,对于一些审核比较严格的app这一点我们需要注意


  • 后续在适配的过程中,持续更新,直至适配完






推荐阅读
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 开源Keras Faster RCNN模型介绍及代码结构解析
    本文介绍了开源Keras Faster RCNN模型的环境需求和代码结构,包括FasterRCNN源码解析、RPN与classifier定义、data_generators.py文件的功能以及损失计算。同时提供了该模型的开源地址和安装所需的库。 ... [详细]
  • Docker安装Rabbitmq(配合宝塔)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Docker安装Rabbitmq(配合宝塔)相关的知识,希望对你有一定的参考价值。一、事前准备 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • Netty源代码分析服务器端启动ServerBootstrap初始化
    本文主要分析了Netty源代码中服务器端启动的过程,包括ServerBootstrap的初始化和相关参数的设置。通过分析NioEventLoopGroup、NioServerSocketChannel、ChannelOption.SO_BACKLOG等关键组件和选项的作用,深入理解Netty服务器端的启动过程。同时,还介绍了LoggingHandler的作用和使用方法,帮助读者更好地理解Netty源代码。 ... [详细]
  • 本文介绍了如何在Azure应用服务实例上获取.NetCore 3.0+的支持。作者分享了自己在将代码升级为使用.NET Core 3.0时遇到的问题,并提供了解决方法。文章还介绍了在部署过程中使用Kudu构建的方法,并指出了可能出现的错误。此外,还介绍了开发者应用服务计划和免费产品应用服务计划在不同地区的运行情况。最后,文章指出了当前的.NET SDK不支持目标为.NET Core 3.0的问题,并提供了解决方案。 ... [详细]
  • Ihaveaworkfolderdirectory.我有一个工作文件夹目录。holderDir.glob(*)>holder[ProjectOne, ... [详细]
  • python3 nmap函数简介及使用方法
    本文介绍了python3 nmap函数的简介及使用方法,python-nmap是一个使用nmap进行端口扫描的python库,它可以生成nmap扫描报告,并帮助系统管理员进行自动化扫描任务和生成报告。同时,它也支持nmap脚本输出。文章详细介绍了python-nmap的几个py文件的功能和用途,包括__init__.py、nmap.py和test.py。__init__.py主要导入基本信息,nmap.py用于调用nmap的功能进行扫描,test.py用于测试是否可以利用nmap的扫描功能。 ... [详细]
  • 使用C++编写程序实现增加或删除桌面的右键列表项
    本文介绍了使用C++编写程序实现增加或删除桌面的右键列表项的方法。首先通过操作注册表来实现增加或删除右键列表项的目的,然后使用管理注册表的函数来编写程序。文章详细介绍了使用的五种函数:RegCreateKey、RegSetValueEx、RegOpenKeyEx、RegDeleteKey和RegCloseKey,并给出了增加一项的函数写法。通过本文的方法,可以方便地自定义桌面的右键列表项。 ... [详细]
  • zookeeper集群查看状态时报错Error contacting service. It is
    最近在搭建mq集群时候需要用到,zookeeper,可是启动的时候显示成功了,查看状态的时候却报错了:碰到这个问题也是研究好好半天才解决,这里就总结出 ... [详细]
author-avatar
老男孩标兄_164
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有