1. 系统设置中深色模式下,view的背景色默认为深黑色,影响整个APP,能够修改回默认白色ios
(1)APP统一修改,在info.plist中强制白色模式git
<key>UIUserInterfaceStyle</key>
<string>Light</string>
复制代码
(2)单个view及其子view强制修改默认模式,解除系统深色模式影响github
view.overrideUserInterfaceStyle = UIUserInterfaceStyleLight;复制代码
(3)修改window的默认模式,对整个APP有效,官方不推荐使用,推荐修改info.plistbash
[UIApplication sharedApplication].keyWindow.overrideUserInterfaceStyle = UIUserInterfaceStyleLight;复制代码
2.DeviceToken获取方式改变,如下方式兼容全部系统微信
#include <arpa/inet.h>
-(void)application:(UIApplication *)application
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
if(![deviceToken isKindOfClass:[NSData class]])return;
const unsigned *tokenBytes =(const unsigned *)[deviceToken bytes];
NSString *hexToken =[NSString stringWithFormat:@"%08x%08x%08x%08x%08x%08x%08x%08x",
ntohl(tokenBytes[0]),ntohl(tokenBytes[1]),ntohl(tokenBytes[2]),
ntohl(tokenBytes[3]),ntohl(tokenBytes[4]),ntohl(tokenBytes[5]),
ntohl(tokenBytes[6]),ntohl(tokenBytes[7])];
NSLog(@"deviceToken:%@",hexToken);
}
复制代码
3.KVC 限制,用kvc修改私有属性会崩溃app
崩溃写法:ide
[_textField setValue:self.placeholderColor forKeyPath:@"_placeholderLabel.textColor"];复制代码
修改写法:ui
_textField.attributedPlaceholder =[[NSMutableAttributedString alloc]initWithString:placeholder attributes:@{NSForegroundColorAttributeName : self.placeholderColor}];复制代码
4.控制器模态跳转默认效果改变,新版默认跳转至新VC不全屏。spa
修改成全屏效果,跳转前修改新VC的modalPresentationStylecode
if(@available(iOS 13.0,*)){
newVC.modalPresentationStyle = UIModalPresentationFullScreen;
}
[oldVC presentViewController:newVC animated:YES completion:nil];
复制代码
5.新浪微博SDK崩溃问题
微博SDK3.2.5版本, 已解决崩溃问题,但没有同步到cocoapods,致使cocoapods上最新版及友盟SDK中 有崩溃问题
解决方法: 手动在GitHub下载最新微博SDK,替换项目中的同名文件便可
6.友盟更新,适配iOS13
UMCCommon须要升级到2.1.1最新版本
UMCShare须要升级到6.9.6最新版本
pod 'UMCCommon','~> 2.1.1'
pod 'UMCShare/UI','~> 6.9.6'
pod 'UMCShare/Social/WeChat','~> 6.9.6'
pod 'UMCShare/Social/QQ','~> 6.9.6'
pod 'UMCShare/Social/Sina','~> 6.9.6'
7.个推SDK须要升级到最新版2.4.1.0
pod 'GTSDK','2.4.1.0'
8.CYLTabBarController须要升级到最新版本
控制器跳转会引起TabBarController显示异常
pod 'CYLTabBarController','~> 1.28.3'
9. UIWebView废弃,适用范围ios(2.0,12.0),几率性被审核打回
微博SDK3.2.5版本已更新至WKWebview
10.MPMoviePlayerController在iOS13废弃
11. CNCopyCurrentNetworkInfo
developer.apple.com/documentati…
12.UISegmentedControl 默认样式改变
默认样式变为白底黑字
13.APPID登陆,使用三方登陆的APP要加APPID登陆
专门使用第三方或社交登陆服务的应用程序(如Facebook登陆,Google登陆,使用Twitter登陆,使用LinkedIn登陆,使用亚马逊登陆或微信登陆)来设置或验证用户的主账户使用该应用程序还必须提供与Apple等同的登陆选项。
用户的主要账户是他们与您的应用程序创建的账户,用于识别本身,登陆和访问您的功能和相关服务。
若是符合如下条件,则无需使用Apple登陆:
14.即将废弃的 LaunchImage
从 iOS 8 的时候,苹果就引入了 LaunchScreen,咱们能够设置 LaunchScreen来做为启动页。固然,如今你还可使用LaunchImage来设置启动图。不过使用LaunchImage的话,要求咱们必须提供各类屏幕尺寸的启动图,来适配各类设备,随着苹果设备尺寸愈来愈多,这种方式显然不够 Flexible。而使用 LaunchScreen的话,状况会变的很简单, LaunchScreen是支持AutoLayout+SizeClass的,因此适配各类屏幕都不在话下。 从2020年4月开始,全部使⽤ iOS13 SDK 的 App 将必须提供 LaunchScreen,LaunchImage即将退出历史舞台