1. Alterne entre telas horizontais e verticais
[UIDevice currentDevice] O método de usar setValue:forKey: não está mais disponível no iOS16 e, em seguida, use a solicitação de função em UIWindowScene
if (@available(iOS 16.0, *)) {
UIWindowScene *windowScene = (UIWindowScene *)[[[UIApplication sharedApplication] connectedScenes] allObjects].firstObject;
UIWindowSceneGeometryPreferencesIOS *perference = [[UIWindowSceneGeometryPreferencesIOS alloc] init];
perference.interfaceOrientations = 1 << deviceOrientation;
[windowScene requestGeometryUpdateWithPreferences:perference errorHandler:^(NSError * _Nonnull error) {
NSLog(@"error--%@", error);
}];
} else {
[[UIDevice currentDevice] setValue:[NSNumber numberWithInteger:deviceOrientation] forKey:@"orientation"];
[UIViewController attemptRotationToDeviceOrientation];
}
复制代码
1.1. A notificação de rotação da tela não pode ser acionada no iOS16
Você precisa substituir viewWillTransitionToSize:withTransitionCoordinator: de UIViewController e manipular a interface do usuário nesta função.
1.2, iOS16 não pode girar a tela depois de usar YYTextView
Depois de usar UITextView, chame a função requestGeometryUpdateWithPreferences:geometryPreferences errorHandler: A solicitação é inválida e a tela não pode ser girada
Análise: imprima todas as cenas conectadas
Antes de usar YYTextView
Depois de usar YYTextView
O problema é que existe uma camada adicional de YYTextEffectWindow adicionada por YYTextView na UIWindowScene atual , basta remover essa camada da janela.
2. Xcode14 UIViewController trava quando dealloc
Erro ao depurar no iOS16
O aplicativo contornou a iniciação de desalocação do tempo de execução do objetivo-c para o objeto <%s>并崩溃
O motivo é: IOS16 Apple não permite substituir o método + (void)initialize na categoria de controle do sistema (Categroy)
3. Usando o pacote impresso pelo xcode14, o sistema abaixo do iOS12.2 trava
Use a ferramenta otool para visualizar a descoberta binária
二进制里面多了一个 /usr/lib/swift/libswiftCoreGraphics.dylib (compatibility version 1.0.0, current version 120.100.0)
解决方法:
Build Phases -> Link Binary With Librarires 里面添加libswiftCoreGraphics.tbd