首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS 新创建项目中的SceneDelegate适配

    背景 Xcode 11之后新建工程,默认为有SceneDelegate,但是SceneDelegate是从iOS 13之后才有的,如果最低兼容版本到iOS 13以下,需要怎么做呢?...翻译解释: 在iOS 13(及以后版本)上,SceneDelegate将负责AppDelegate的某些功能。 最重要的是,window(窗口)的概念已被scene(场景)的概念所代替。...另外一种则是根据系统版本判断兼容 方法一:删除SceneDelegate 把AppDelegate中UISceneSession Lifecycle的两个代理方法删除,添加window属性,在application...13之后有些程序状态的处理要在SeceneDelegate中 首先在SceneDelegate中加入@available(iOS 13, *)的声明, 然后把AppDelgate中UISceneSession...Lifecycle的两个代理方法写到单独的Extension中,然后声明@avaiable(iOS 13, *), AppDelegate的启动方法中也需要修改,编译即可 // SceneDelegate.swift

    3.3K21

    iPadOS上启动黑屏翻车问题分析(二)

    iPadOS上启动黑屏翻车问题分析(一) 昨天我们说了旧的项目在iOS 13下完全启动之后黑屏的问题,然后紧跟问题通过UI图层分析方式一步步的分析基本找到了问题的根源---iPadOS的底层以及操作思路转变啦...新的时代--支持多窗口模式 在升级到iOS 13之后系统开始支持多窗口这个尤其是在iPadOS上尤为显著,这样你可以同时的在一个设备屏幕上同时享受到至少两个App的视图内容… AppDelegate...对App管理权限的转移 我们提到之前的iOS App是基于单视窗的而我们在开发中也是默认情况下不去而外的去添加新的window,因此在这种情况下我们的APPDelegate就成了整个App的生命周期的管理者啦...但是iOS 13之后这个规律被打破,将很多的任务转移给了UIWindowScene 旧项目黑屏拯救 既然App的声明周期在转移那么我们的App代码也要跟着迁移处理 1 Info.plist更改...(13.0))的attribute可知这个会在iOS13才会调用,我们做好版本兼容即可 ③ 新建的SceneDelegate载体 OC版本 ?

    2K10

    iOS description与debugDescription在调试程序中的应用

    iOS 中打印函数description与debugDescription的应用 一、description和debugDescription是什么         description和debugDescription...是NSObject协议中的声明的两个方法,同时NSObject类也实现了这个方法,如果子类没有重写,则会调用父类的description和debugDescription方法。...首先,这两个方法适用于程序代码的调试的,当我们调用打印Log时,会向对象发送一个这样的消息。...四、description与debugDescription的区别 这两个方法的区别仅仅在于调试的位置不同,调用不同的函数。...description是我们在程序中打Log会调用的方法,debugDescription则是我们在断点调试时,在控制台使用po命令打印会调用的方法,比如我们重写Test类的这个方法: -(NSString

    1.4K10

    iOS 多国语言本地化与App内语言切换(Swift)写在前面前言准备工作storyboardxib本地化纯代码本地化语言切换后记

    写在前面 本文同步 个人博客 简书 掘金 慕课 使用Xcode 9.3 Swift4.1 前言 语言本地化 大家肯定都多少都听过,今天我要分享的是快速实现语言本地化,与App内语言切换 核心内容主要是三个部分...勾选语言,把几种全部勾上,包括Base (为下文使用脚本生成代码做准备) 参考此篇文章进行脚本添加 iOS中多语言本地化流程的优化 ? 添加脚本 将脚本执行移动到编译上方 ?...,否则会报错 build一下就能自动生成相关代码 就可以直接用了,具体用法可以参考上面提到的那篇文章 iOS中多语言本地化流程的优化 语言切换 语言切换的基本原理是使用Userdefault存储当前选择的语言..., 在具体的en和zh中写具体内容,这时Base的作用就是为了方便自动生成代码而已了。...(根据个人习惯修改) localizedFile="${SRCROOT}/Public/LocalizedUtils.swift" # 将localizable.strings中的文本转为swift格式的常量

    2.5K31

    Category 特性在 iOS 组件化中的应用与管控

    它的主要作用是在不改变原有类的前提下,动态地给这个类添加一些方法。在 Objective-C(iOS 的开发语言,下文用 OC 代替)中的具体体现为:实例(类)方法、属性和协议。...使用依赖注入 代表作品有 Objection 和 Typhoon,两者都是 OC 中的依赖注入框架,前者轻量级,后者较重并支持 Swift。...这个操作在安卓中使用较为广泛,大致相当于用反射操作来替代一次了 import 这样的耦合引用。但实际上iOS中若使用反射来实现功能则完全不必这么麻烦。...此方案的核心操作是在基类里汇总所有业务接口,在上层的业务库中创建基类的 Category 中对声明的接口进行覆盖。整个过程没有任何硬编码与反射。...Object files,列举了链接所用到的所有的目标文件,包括代码编译出来的,静态链接库内的和动态链接库(如系统库),并且给每一个目标文件分配了一个 file id。

    1.8K20

    iOS12 切换到后台请求丢失的问题

    前言 iOS12版本后,AFNetworking请求过程中,app返回后台,会出现以下错误,并且网络请求中断(只在真机中出现,模拟器不会复现) HTTP load failed (error code:...Software caused connection abort 处理 此情况产生原因是苹果iOS12系统后台挂起逻辑更换了导致,苹果承诺在iOS13修复这个问题,但看情况应该不会修复 所以我们这边对这种情况进行处理...,主要是在AppDelegate上: OC版: @property (nonatomic, unsafe_unretained) UIBackgroundTaskIdentifier taskId;...NSTimeInterval time =[[UIApplication sharedApplication] backgroundTimeRemaining]; NSLog(@"系统留给的我们的时间...= %.02f Seconds", time); } swift版: var backgroundTask: UIBackgroundTaskIdentifier = .invalid func

    2.5K50

    iOS12、iOS11、iOS10、iOS9常见适配

    SafeAreaInsets,进而影响了adjustedContentInset,在iOS11中决定tableView内容与边缘距离的是adjustedContentInset,所以需要设置UIScrollView...方法一:通过LaunchScreen.storyboard方式启动 方法二:使用Assets中的LaunchImage 给Brand Assets添加一张1125*2436大小的图片 打开Assets.xcassets...如果要支持老版本,即 iOS 11 以下系统版本,那么建议在 info.plist 中配置所有的 Key(即使 NSLocationAlwaysUsageDescription 在 iOS 11及以上版本不再使用.... iOS 10 中,系统是一个一个加载cell的,二以前是一行一行加载的,这样就可以提升很多性能; iOS 10 新增加的Pre-Fetching预加载 3.7、UIRefreshControl 在...iOS 10相对之前的通知来说更加好用易于管理,并且进行了大规模优化,对于开发者来说是一件好事。 iOS 10开始对于权限问题进行了优化,申请权限就比较简单了(本地与远程通知集成在一个方法中)。

    2.1K31

    RN(0.67)接入现有swift项目及常见问题

    一、创建RN新项目 1、创建新项目 在安装好RN环境之后,执行如下命令 npx react-native init xxx项目名 找到项目的ios目录,将现有的swift项目拷贝到ios目录中 2、...修改podfile文件 最新的RN项目中的podfile文件可以在下面这个链接上查看: RN集成Pod的版本 参考该文件并对自己的Podfile文件进行修改,如: require_relative '....目录下,执行pod install命令安装项目所需要的库 3、加载 在合适的地方加载bundle文件测试 比如可以放在appdelegate文件 func application(_ application...看手机的wifi应当和电脑连接的是同一个网络 打开偏好设置-网络-查看当前ip地址,将项目中的localhost改为当前ip jsCodeLocation = NSURL(string:"http:/...用RN混编swift的代码 如果加了use_frameworks!

    1.1K10

    在 SwiftUI 视图中打开 URL 的若干方法

    访问我的博客 www.fatbobman.com[1] 可以获得更好的阅读体验 本文将介绍在 SwiftUI 视图中打开 URL 的若干种方式,其他的内容还包括如何自动识别文本中的内容并为其转换为可点击链接...本文的范例代码是在 Swift Playgrounds 4.1 ( macOS 版本 )中完成的,可在 此处下载[2]。...image-20220520182722773 SwiftUI 1.0( iOS 13、Catalina ) 在视图中,开发者通常需要处理两种不同的打开 URL 的情况: 点击一个按钮( 或类似的部件...通过在 AttributedString 中为不同位置的文字设置不同的属性,从而实现在 Text 中打开 URL 的功能。...在 Button 中,我们可以通过在闭包中添加逻辑代码,自定义开启 URL 之前与之后的行为。

    7.8K31

    Flutter混合开发:在已有iOS项目中引入Flutter

    前言 在android项目中添加flutter模块比较简单,因为毕竟都是google的,但是在ios中添加flutter模块有些麻烦了,我们首先参考的是官方文档 https://flutter.cn/...这里要注意,创建ios项目的时候我的设置是: Interfase: StoryBoard LifeCycle: UIKit App Delegate Language:Swift 这是因为在官方后续的示例代码中...是淘宝) 更新这一步是没问题的,但是淘宝这个镜像就出问题了,目前这个链接已经无法访问了。...然后在新添加的左侧选择Any iOS Simulator SDK,双击右侧就会弹窗,在弹窗中添加一条arm64即可。 同样在Release下也操作一下,最后完成效果如上图。...)中搜索发现并没有这两个字段,说明在C文件中并没有定义这两个字段。

    4.3K50

    【从零学习python 】51.文件的打开与关闭及其在Python中的应用

    文件的打开与关闭 想一想: 如果想用word编写一份简历,应该有哪些流程呢?...打开word软件,新建一个word文件 写入个人简历信息 保存文件 关闭word软件 同样,在操作文件的整体过程与使用word编写一份简历的过程是很相似的 打开文件,或者新建立一个文件 读/写数据...打开文件 在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件 open(文件路径,访问模式) 示例如下: f = open('test.txt', 'w') 说明: 文件路径...文件的指针将会放在文件的开头。如果文件不存在,则报错。这是默认模式。w打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。a打开一个文件用于追加。...w+打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。

    11510

    iOS 创建 Universal Links【修订】

    中唤起app最广泛使用的方式并不是Universal Link,而是直接Schema跳转 location.href = 'schema://公众号:iOS逆向' 在 iOS9 之前,要在浏览器中唤醒...这种方式需要提前判断系统中是否安装了能够响应此scheme的App,并且这种方式在微信被禁用。...Universal Links 是标准 HTTP 或 HTTPS 链接,因此既适用于网站,也适用于应用程序。 如果未安装您的应用程序,则系统会在 Safari 中打开URL,以使您的网站能够处理它。...也就是说,让新的apple-app-association生效的方式是可以将App再发一个版本 III、iOS防止在WKWebView中打开Universal Link Prevent universal...links from opening in WKWebView iOS防止在WKWebView中打开Universal Link ———————————————— 版权声明:本文为CSDN博主「#公众号

    89940
    领券