1. iOS 内购项目的App Store推广

    iOS 11以后的用户可以在App Store内的下载页面内直接购买应用的内购商品,这项功能苹果称作做Promoting In-App Purchases,如果你的App需要在App Store推广自己的内购商品,则需要在App Store推广里上传推广用的图像,另外苹果也在iOS11 SDK里面新增了从App Store购买内购项目跳转到App的新方法 选择推广App内购买项目的好处 提高 …

    代码库 继续阅读

  2. iOS block原理详解

    block本质 block底层就是一个struct __main_block_impl_0类型的结构体,这个结构体中包含一个isa指针,本质上是一个OC对象 block是封装了函数调用以及函数调用环境的OC对象 block底层结构block底层结构就是__main_block_impl_0结构体,内部包含了impl结构体和Desc结构体以及外部需要访问的变量,block将需要执行的代码放 …

    代码库 继续阅读

  3. iOS 数据结构

    数组和链表的区别 数组地址连续,查找速度快,操作效率低存储单元在定义时分配,元素个数固定,内存空间要求高 链表地址不连续,查找速度慢,操作效率高存储单元在程序执行时动态申请,可按需动态增减 iOS内存分区的情况,五大区域 栈区Stack先进后出FILO由编译器自动分配和释放栈空间多线程不共享连续的内存地址,由高向低分配,不会产生碎片空间较小,运行速度较快,效率高栈是机器系统提供的数据 …

    代码库 继续阅读

  4. iOS Crash文件获取及符号化

    Crash文件获取 大致可以分为两种方式:远程获取和本地获取;具体可以分为如下四种途径 1.1. 远程获取;已经上传到iTunes Connect的应用,可以通过iTunes Connect的App分析查看App崩溃情况不会有崩溃日志,如果是TestFlight测试,则可以在iTunes Connect获取到崩溃日志 1.2. 远程获取;通过Xcode菜单Window -> Orga …

    代码库 继续阅读

  5. iOS 时间日期总结

    获取时间戳 单位秒,保留六位有效数字,格式如:1574068247.545103 12NSDate *datenow = [NSDate date];NSString *timeSp = [NSString stringWithFormat:@"%f", (double)[datenow timeIntervalSince1970]]; 单位秒,整数,格式如:1574 …

    代码库 继续阅读

  6. iOS 如何优化 App 的启动耗时

    iOS 的 App 启动时长大概可以这样计算: t(App 总启动时间) = t1(main 调用之前的加载时间) + t2(main 调用之后的加载时间) t1 = 系统 dylib(动态链接库)和自身 App 可执行文件的加载 t2 = main方法执行之后到AppDelegate类中的application:didFinishLaunchingWithOptions:方法执行结束前这段时间, …

    代码库 继续阅读

  7. iOS RunLoop

    RunLoop概念 RunLoop是通过内部维护的事件循环(Event Loop)来对事件/消息进行管理的一个对象 没有消息处理时,休眠以避免资源占用;有消息需要处理时,立刻被唤醒 为什么main函数不会退出12345int main(int argc, char * argv[]) { @autoreleasepool { return UIAppli …

    代码库 继续阅读

  8. iOS 多线程相关之performSelector、死锁

    performSelector12345678910//在当前线程延迟1s执行,响应了OC语言的动态性:延迟到运行时才绑定方法[self performSelector:@selector(aaa) withObject:nil afterDelay:1];// 回到主线程,waitUntilDone:是否将该回调方法执行完再执行后面的代码// 如果为YES:就必须等回调方法执行完成之后才能执行 …

    代码库 继续阅读

  9. iOS 中事件的响应链和传递链

    iOS事件链有两条:事件的响应链;Hit-Testing事件的传递链 响应链:由离用户最近的view向系统传递。initial view –> super view –> ….. –> view controller –> window –> Application –> AppDelegate 传递链:由系统向离用户最近的view传递。UIKit –> …

    代码库 继续阅读

  10. 一周年快乐

    去年这个时候发布了我的第一篇博文 — Hello World转眼已经写了一年了物是人非,感慨良多不管怎样我还是会继续坚持下去的,加油…圣诞节快乐…我的博客上线运行中… …

    代码库 继续阅读