参考文献
面试题 - 应用程序
简单说下APP的启动过程 从main文件开始说起
1.有storyboard情况下
- main函数
- UIApplicationMain
@创建UIApplication对象
@创建UIApplication的delegate对象
- 根据Info.plist获得最主要storyboard的文件名 加载最主要的
storyboard(有storyboard)
@创建UIWindow
@创建和设置UIWindow的rootViewController
@显示窗口
2.没有storyboard情况下
- main函数
- UIApplicationMain
@创建UIApplication对象
@创建UIApplication的delegate对象
- delegate对象开始处理(监听)系统事件(没有storyboard)
@程序启动完毕的时候 就会调用代理的application:didFinishLaunchin
gWithOptions:方法 在application:didFinishLaunchingWithOptions
:中创建UIWindow创建和设置UIWindow的rootViewController
@显示窗口
把程序自己关掉和程序进入后台 远程推送的区别
1.关闭后不执行任何代码 不能处理事件
2.应用程序进入后台状态不久后转入挂起状态 在这种状态下 应用程序不执行
任何代码 并有可能在任意时候从内存中删除 只有当用户再次运行此应用 应用
才会从挂起状态唤醒 代码得以继续执行
或者进入后台时开启多任务状态 保存在内存中 这样就可以执行系统运行的
动作
3.远程推送是由远程服务器上的程序发送到APNS 再由APNS把消息推送至设备
上的程序 当应用程序收到推送的消息会自动调用特定的方法执行事先写好的
代码
本地通知和远程推送通知的基本概念和用法
1.本地通知和远程推送通知都可以向不在前台运行的应用发送消息 这种消息既
可能是即将发生的事件 也可能是服务器的新数据 不管本地通知还是远程通知
他们在程序界面的显示效果相同 都可能显示为一段警告消息或应用程序图标上的
徽章
2.本地通知和远程推送通知的基本目的都是让应用程序能够通知用户某些事情
而且不需要应用程序在前台运行
3.二者的区别在于本地通知由本应用负责调用 只能从当前设备上的ios发出 而
远程通知由远程服务器上的程序发送到APNS 再由APNS把消息推送至设备上的程
序
如果有人恶意重复注册账号 让我写一个接口 我怎么防止这样的事情
使用HTTPS 加时间戳1分钟内不允许重复发送 短信验证 判断手机号段保证号码
正确 不是虚拟号码 保证邮箱 手机号等设备的标识唯一 并且在输入验证时判断
如果多次验证码错误 可以锁定账号或手机注册
网友评论