iOS18 适配
2024-09-24 本文已影响0人
HF_K
presentViewController不全屏问题
之前iOS13处理过,结果iOS18又出现了
解决办法:
- (void)custompresentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completion{
if (@available(iOS 13.0, *)) {
// iOS13以后style默认UIModalPresentationAutomatic,以前版本xcode没有这个枚举,所以只能写-2
if (viewControllerToPresent.modalPresentationStyle == -2 || viewControllerToPresent.modalPresentationStyle == UIModalPresentationPageSheet || viewControllerToPresent.modalPresentationStyle == UIModalPresentationFormSheet ) {
viewControllerToPresent.modalPresentationStyle = UIModalPresentationOverFullScreen;
}
}
[self custompresentViewController:viewControllerToPresent animated:flag completion:completion];
}
上传ipa包时报错(Asset validation failed (90482))
Asset validation failed (90482)
Invalid Executable. The executable 'xxxx.app/Frameworks/NIMSDK.framework/NIMSDK' contains bitcode. (ID: 812059a0-5027-49c1-b45a-70331f017719)
在构建之前剥离位码作为解决方法并更新依赖项作为最终解决方案。看来 Xcode 16 对位码验证实施了更严格的规则。
解决办法:在Podfile 末尾添加了以下几行作为解决方法
post_install do |installer|
installer.generated_projects.each do |project|
project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['CODE_SIGN_IDENTITY'] = ''
config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
#config.build_settings['GENERATE_INFOPLIST_FILE'] = "NO"
if target.name == 'NIMSDK_LITE'
`xcrun -sdk iphoneos bitcode_strip -r Pods/NIMSDK_LITE/NIMSDK/NIMSDK.framework/NIMSDK -o Pods/NIMSDK_LITE/NIMSDK/NIMSDK.framework/NIMSDK`
end
end
end
end
end
具体路径可以通过查看想要Pods的实际路径,通过showInFinder进行查看
UITabBarController变化
UITabBarController
新增了一个类型为 UITabBarController.Mode
的属性,用于设置UITabBar
显示效果,值有automatic
、tabBar
与tabSidebar
,其中最后一种在 iPadOS
显示时,可以在 siderBar
与 tabBar
之间进行切换。
UITabBarController
新增了一种新的标签类型UITab,可以设置title
(标题)、subtitle
(副标题)、image
(图片)、badgeValue
(角标值)等。
UITabBarControllerDelegate
增加了多个与UITab
相关的代理方法。
注意⚠️: 在 iPadOS
上系统UITabBarController会移动到顶部。
UIViewController
UIViewController
新增了类型为UIViewController.Transition
的属性,可以实现特殊的转场效果,分别为zoom、coverVertical、flipHorizontal、crossDissolve与partialCurl。
自定义视图不能命名为maskView(跟系统的冲突了)容易造成崩溃
创建view
时将其命名为maskview
,然后addSubview
时就会在iOS18
上崩溃