自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(199)
  • 资源 (2)
  • 收藏
  • 关注

翻译 将人们带入AR(二)

作者:禮龍声明:转发本文,请联系作者授权Availability 可用性A12 and later A12处理器及以上Indoor environments 室内环境Occludes your own hands and feet 遮挡你手脚As well as other people 与其他人一样Recap 扼要重述Occlusion between people...

2019-06-28 15:38:58 1024

翻译 将人们带入AR(一)

Occlusion between people and rendered contentHow It Works 它是如何工作的Machine LearningARFrameComposition 构成RealityKit提供了新的ARView简单地在AR中使用超级现实主义的API内置支持People Occlusionov...

2019-06-27 16:25:06 965

翻译 与USD一起工作(三)

Python样例"样例"文件夹场景图网格材质和网格组变换动画皮肤和骨骼动画Subdivision Surfaces 细分曲面Efficient representation of curved surfaces 曲面的有效表示Dynamic tessellation 动态曲面细分 (e.g. based on distance to camera) 例如,基于与相机...

2019-06-26 14:36:11 1053 3

翻译 与USD一起工作(二)

作者: 声明:转发本文,请联系作者授权USD本质1. File Structure 文件结构#usda 1.0( upAxis = "Y")def Xform “simpleMesh” ( kind = "component"){ def Mesh "cube" // 属性定义 { point3f[] points = [(0,0,0), (1,0,0), ...

2019-06-25 14:42:38 688 1

翻译 与USD一起工作(一)

iOS整合Messages、Mail、Notes、News、Safari、Files以及其他第三方应用。什么是USD?USD全称为Universal Scene Description,即通用场景描述。由Pixar开发3D文件格式Python绑定的C++库读取/写入合成引擎更多。。。专注于速度、可扩展性、 协作USD文件类型什么是USD?USD的分配格...

2019-06-24 16:35:00 1827

原创 iOS 启动图和 appIcon 整理

启动图片整理设备竖屏横屏命名iPhone XS Max1242px × 2688px2688px × 1242pxDefault-1242h@3x.pngiPhone XSiPhone X1125px × 2436px436px × 1125pxDefault-812h@3x.pngiPhone XR828px × 1792px1792px ×...

2018-10-25 15:07:14 797

原创 AWK 简单使用

作者:AK引用(张星宇发布的 “2018 年将至,iOS 工程师如何自我提高” 脚本语言非常重要,绝对是提升工作效率的神器,我强烈建议每个客户端工程师都应该了解一些 Shell 脚本并且掌握 Python,Ruby 和 JS 中至少一门语言。理论上来说没有什么是脚本语言做得到,Java 做不到的,但脚本语言最大的特点就是快,快到极点的那种快。对于一些极度简单的小需求,比如统计一个文件中某...

2018-09-25 15:45:20 424

原创 解决新版本 Chrome 安装第三方插件失败

环境系统版本: macOS 10.13.5 (17F77)型号名称: MacBook ProChrome版本: 68.0.3440.106(正式版本) (64 位)测试插件: SwitchyOmega2.3.9_0解决办法一不安装了!%&*@(!2646kdir@#%^&!解决办法二1,电动窗->扩展程序 打开开发者模式 2,...

2018-09-11 16:52:46 12480

翻译 iOS AVAudioEngine使用教程

翻译: AK 声明:转发本文,请联系作者授权 原文地址在这个AVAudioEngine教程中,您将学习如何使用Apple的更高级音频工具包添加高级音频功能.向大多数iOS开发人员提及音频处理,它们会给你带来恐惧和恐惧。这是因为,在iOS 8之前,要深入了解非常低层的Core Audio frameworw - 只有少数勇敢才才能做到这一点。值得庆幸的是,随着iO...

2018-09-03 16:15:43 6610

转载 Swift 4 泛型:如何在你的代码或App里应用泛型

原文链接问题 1:我能否写一个 Swift 函数用于查找在任意数组中存储的任意类型的任何实例对象的位置\索引。 问题 2:我能否写一个 Swift 函数用于确定在任意数组中存储的任意类型的任何实例对象的类型。我所说的 “任何类型”,包括自定义类型,比如我们自己定义的 Class 类型。提示:我知道我能够用 Swift Array 类型的内置方法,如 index 和 contains,但今...

2018-08-30 11:05:34 2556

原创 目录

Weekly 第一期(2017.03.31)iOS App 签名的原理 - by ll 响应链 - by ffiOS10 系统跳转到系统设置 - by lm 深入思考NSNotification - by akWeekly 第二期(2017.04.07)使用SDWebImage和YYImage下载高分辨率图,导致内存暴增的解决办法 - by lmiOS圆角避免离屏渲染...

2018-08-28 10:44:50 434

原创 xcode9下相册访问权限问题

iOS11下,苹果对相册的权限key做了调整,原来的 NSPhotoLibraryUsageDescription ,在iOS11之后,改成了 NSPhotoLibraryAddUsageDescription。需要在 info.plist 中 添加 key NSPhotoLibraryAddUsageDescription...

2018-08-28 10:44:09 1380

原创 draw

绘制带阴影的字符串NSString 使用 drawAtPoint / drawInRect 设置NSShadowAttributeName阴影属性时,单独设置不好使,必须指定的属性搭配才好使。和这三个任一个都好使,NSVerticalGlyphFormAttributeName,NSObliquenessAttributeName,NSExpansionAttributeNameN...

2018-08-28 10:43:52 339

原创 ios7以前使用[uicolor xxxcolor]类方法创建的颜色类型为 UIDeviceCachedColorSpace

[UIColor WhiteColor]类方法获取的CGColorGetNumberOfComponents是2 而且打印出来的UIDeviceWhiteColorSpace只有两个数字RGBA彩色颜色测试获取的CGColorGetNumberOfComponents是4 而且打印出来的UIDeviceWhiteColorSpace只有四个数字结论:用[UICo...

2018-08-28 10:42:53 1135

原创 取消延时执行之坑

启动3S延时执行有一份[self performSelector:@selector(didRuninCurrModel:) withObject:@(YES) afterDelay:3.0f];在做取消操作时有两个坑1,要在主线中执行取消2,需要注意的是参数的一致性否则取消不掉[NSObject cancelPreviousPerformRequestsWithTa...

2018-08-28 10:42:07 733

转载 Xcode 7新的特性Lightweight Generics 轻量级泛型与__kindof修饰符

Xcode 7新的特性Lightweight Generics 轻量级泛型与__kindof修饰符Lightweight Generics 轻量级泛型,轻量是因为这是个纯编译器的语法支持(llvm 7.0),和 Nullability 一样,没有借助任何 objc runtime 的升级,也就是说,这个新语法在 Xcode 7 上可以使用且完全向下兼容(更低的 iOS 版本)带泛型...

2018-08-28 10:39:00 443

转载 TOLL-FREE BRIDGING 和 UNMANAGED

TOLL-FREE BRIDGING 和 UNMANAGED有经验的读者看到这章的标题就能知道我们要谈论的是 Core Foundation。在 Swift 中对于 Core Foundation (以及其他一系列 Core 开头的框架) 在内存管理进行了一系列简化,大大降低了与这些 Core Foundation (以下简称 CF ) API 打交道的复杂程度。首先值得一提的是对于 ...

2018-08-28 10:37:56 334

转载 MMKV–基于 mmap 的 iOS 高性能通用 key-value 组件

MMKV–基于 mmap 的 iOS 高性能通用 key-value 组件MMKV 是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。MMKV 源起在 iOS 微信的日常运营中,时不时就会爆发特殊文字引起 iOS 系统的 crash,《iOS微信特殊字符保护方案》,文章里面设计的技术方案是在关键代...

2018-08-27 10:47:52 1409

转载 iOS传感器:App前后台切换后,获取敏感信息使用touch ID进行校验

iOS传感器:App前后台切换后,获取敏感信息使用touch ID进行校验今天咱们要实现的一个案例需求就是:使用touch ID进行指纹识别指纹识别错误之后,可以使用apple ID的密码进行验证APP进入到后台,10秒之内切回到前台,不做二次验证。APP进入到后台,超过10秒切回到前台,再次进行指纹验证。1. 指纹识别传感器的用法介绍上面听完介绍,感觉好像屌屌的...

2018-08-27 10:45:20 574

原创 NSString转换float的精度问题

NSString 转换 float 的精度问题, 换double类型可以解决@”0.01” 转换成float时, 经常会变成 0.009999799 这种形式, 因为float类型无法精准保存, 系统会选一个接近的值来代替.而double类型则可以有更好的精度.http://stackoverflow.com/questions/9328260/converting-nsst...

2018-08-27 10:43:49 3509 1

原创 UITableview偏移异常问题

UITableView在reloadData时,如果当前tableview的偏移处于末端,则系统会将其偏移置为最大偏移量,导致设置的contentOffset无效。解决方案:需要在reloadData之前记录刷新的临界值,在刷新之后对该临界偏移值进行相应的处理。...

2018-08-27 10:38:06 1369

原创 避免同时点击多个button

有些时候屏幕上会出现多处的“button”可点击区域,这个时候我们需要做个处理,避免在同一个界面的时候同时点击多个button,从而造成不应有的问题。代码如下:1.在AppDelegate中添加 [[UIButton appearance] setExclusiveTouch:YES];2.button.exclusiveTouch = YES;建议使用第一种全局设置, 不用在每一个 ...

2018-08-27 10:37:27 1339

转载 ios 11 上tableview 改动

ios 11 上tableview 改动1、 UIViewController的automaticallyAdjustsScrollViewInsets属性被废弃。需要使用UIScrollView的contentInsetAdjustmentBehavior来替代。 关于 contentInsetAdjustmentBehaviortypedef NS_ENUM(NSIntege...

2018-08-27 10:36:57 413

原创 scroll上的button延迟响应问题

UIButton在某些情况下不能立刻响应TouchDown事件,换句话说,迅速点击按钮时,你是永远看不见这个按钮的高亮状态的. 出现这种情况时,这些按钮都在UIScrollView的子类上.这是因为 scroll有一个属性delaysContentTouches,默认值为YES.值为YES时,UIScrollView会在接收到手势时延迟150ms来判断该手势是否能够出发UIScrollView的...

2018-08-27 10:36:16 750

转载 UIButton触发边界事件

UIButton触发边界事件时,事件并没有触发,而是到了远离button近70个像素时才收到回调。这是因为在UIButton周围会有70px的扩展范围。与边界有关的事件:UIControlEventTouchDragInsideUIControlEventTouchDragOutsideUIControlEventTouchDragEnterUIControlEventTouch...

2018-08-27 10:35:32 646

原创 YYImage显示指定区域的webP图片

YYImage 显示指定区域的webP图片YYImage 显示区域与图片大小不一致时,默认显示的是居中部分 如果想指定显示区域 需要重写YYImage以下代码为显示从1/8位置开始的图片#import "PLImage.h"@implementation PLImage- (CGRect)animatedImageContentsRectAtIndex:(NSUInteg...

2018-08-27 10:34:44 1497

转载 微信iOS SQLite源码优化实践

# 微信iOS SQLite源码优化实践Dev Club 是一个交流移动开发技术,结交朋友,扩展人脉的社群,成员都是经过审核的移动开发工程师。每周都会举行嘉宾分享,话题讨论等活动。本期,我们邀请了腾讯WXG iOS 开发工程师——张三华,为大家分享《微信iOS SQLite源码优化实践》。### 分享内容简介:SQLite是微信iOS选用的数据库,随着微信iOS客户端业务的增长...

2018-08-23 10:41:07 718

转载 iOS应用UI线程卡顿监控

iOS设备虽然在硬件和软件层面一直在优化,但还是有不少坑会导致UI线程的卡顿。如果能一套机制能自动预报“卡顿”并检测出导致该“卡顿”的代码位置就能够更方便调试和优化.解决方案分析简单来说,主线程为了达到接近60fps的绘制效率,不能在UI线程有单个超过(1/60s≈16ms)的计算任务。通过Instrument设置16ms的采样率可以检测出大部分这种费时的任务,但有以下缺点:In...

2018-08-23 10:40:07 513

转载 提升 iOS 开发效率! Xcode 9 内置模拟器的9个技巧

提升 iOS 开发效率! Xcode 9 内置模拟器的9个技巧iOS模拟器是在开发任意iOS应用程序过程中不可或缺、无法被忽视的一个部分。值得一提的是,Xcode 9的新模拟器带来了很多有用的功能,能够提升你的开发效率。对比历代模拟器的更新,这次有了很重大的改变。所以让我们开始这篇教程的重点吧,本文会列出我在新iOS模拟器中发现的新功能(一些技巧也可以在旧的模拟器中使用)。1....

2018-08-23 10:38:42 686

转载 谈谈 iOS 中图片的解压缩

原文地址 对于大多数 iOS 应用来说,图片往往是最占用手机内存的资源之一,同时也是不可或缺的组成部分。将一张图片从磁盘中加载出来,并最终显示到屏幕上,中间其实经过了一系列复杂的处理过程,其中就包括了对图片的解压缩。图片加载的工作流概括来说,从磁盘中加载一张图片,并将它显示到屏幕上,中间的主要工作流如下:假设我们使用 +imageWithContentsOfFile: 方法从磁...

2018-08-23 10:38:12 1093

转载 谈nonatomic非线程安全问题

谈nonatomic非线程安全问题背景由于我对SDWebImage这块比较熟悉,并且基于SDWebImage封装了一层对业务更友好的HTSWebImage库。所以一直以来SDWebImage的相关Crash都是我在负责。由于图片加载频繁使用到多线程,所以SDWebImage的crash总是时不时会带来些惊喜(惊悚)。也有不少常年未解之谜,明明看上去没有任何问题,但是就是发生了E...

2018-08-23 10:37:45 504

转载 深入理解Tagged Pointer

深入理解Tagged Pointer原文地址:http://www.infoq.com/cn/articles/deep-understanding-of-tagged-pointer/前言在2013年9月,苹果推出了iPhone5s,与此同时,iPhone5s配备了首个采用64位架构的A7双核处理器,为了节省内存和提高执行效率,苹果提出了Tagged Pointer的概念。对...

2018-08-23 10:37:15 305

转载 如何在 table view 中添加 3D Touch Peek & Pop 功能

如何在 table view 中添加 3D Touch Peek & Pop 功能Peek & Pop 在 iPhone 中是很实用的一个硬件相关特色功能,既可以提高操作效率,又有清晰的视觉表达。Peek & Pop 是两个过程的组合,Peek 代表轻按屏幕激活预览窗口(会不会联想到在电脑中鼠标滑过链接时给出的提示,但这里视觉上更丰富了),Pop 代表继续重(z...

2018-08-23 10:35:21 259

转载 深拷贝和浅拷贝

对象拷贝有两种方式:浅拷贝和深拷贝。顾名思义,浅拷贝,并不拷贝对象本身,仅仅是拷贝指向对象的指针;深拷贝是直接拷贝整个对象内存到另一块内存中。定义浅拷贝 copy指针拷贝 - 将指针中的地址值拷贝一份.只复制指向对象的指针,而不复制引用对象本身。copy返回的为imutable对象.如果对copy返回值使用mutable对象接口就会crash深拷贝 mutabl...

2018-08-22 11:03:27 202

转载 浅析移动蜂窝网络的特点及其省电方案

浅析移动蜂窝网络的特点及其省电方案蜂窝网络的架构类似于我们常见的蜂窝,是由一个个基站组成的蜂窝,理想状态中我们的蜂窝网络应该是下面这个样子的。当然,现实生活中网络资源分布并没有这么的均匀。 Wi-Fi 是一种无限局域网技术,Wi-Fi 信号需要有线网来提供,比如我们家里常用的宽带上网,就是将有线信号转换成 Wi-Fi 信号。 计费的差异性我们平时使用的蜂窝网络一般都是按照流量来...

2018-08-22 11:02:03 1025

转载 pods的原理

CocoaPods是IOS项目的依赖管理工具,CocoaPods负责管理对第三方库的依赖,即如果A依赖于B,B依赖C,我们在A工程里指出A依赖于B,CocoaPods会自动为我们下载C,并在构建时链接C库。IOS工程有3种库项目,framework,static library,meta library,我们通常只使用前两种。我们在使用static library库工程时,一般使用它编译出来的...

2018-08-22 11:00:44 4617

转载 ObjC和JavaScript的交互,在恰当的时机注入对象

ObjC和JavaScript的交互,在恰当的时机注入对象原文地址: http://www.jianshu.com/p/2e53d87c826b* 警告:文章中提到的 *- (void)webView:(id)unuse didCreateJavaScriptContext:(JSContext *)ctx forFrame:(id)frame;方法涉及私有API,有网友反...

2018-08-22 11:00:06 383

转载 NSLog效率低下的原因及尝试lldb断点打印Log

NSLog效率低下的原因及尝试lldb断点打印Log原文地址:http://blog.sunnyxx.com/2014/04/22/objc_dig_nslog/我是前言打Log是我们debug时最简单朴素的方法,NSLog对于objc开发就像printf对于c一样重要。但在使用NSLog打印大量Log,尤其是在游戏开发时(如每一帧都打印数据),NSLog会明显的拖慢程序的运行...

2018-08-22 10:56:38 294

转载 metal简介

原文Metal 框架支持 GPU 加速高级 3D 图像渲染,以及数据并行计算工作。Metal 提供了先进合理的 API,它不仅为图形的组织、处理和呈现,也为计算命令以及为这些命令相关的数据和资源的管理,提供了细粒度和底层的控制。Metal 的主要目的是最小化 GPU 工作时 CPU 所要的消耗。Metal Programming GuideMetal 是针对 iPhone 和 iP...

2018-08-22 10:55:16 1361

转载 iOS应用瘦身方法思路整理

iOS应用瘦身方法思路整理一、前言前段时间注意到我们APP的包大小超过100MB了,所以随口跟吕老板说了下能否采用字体文件(.ttf)替代PNG图片,吕老板对应用瘦身很感兴趣因此让我做下技术调研。这篇文章主要是将我们的各个技术方案的思路做一下整理和总结,希望对大家有所帮助。二、iOS内置资源的集中方式在介绍技术方案前我们先来看下iOS内置图片资源都有哪些常见的方式:...

2018-08-21 10:42:35 568

3D数学基础 图形与游戏开发.pdf

介绍基础概念,讨论了3D中的方位,包括四元数和不同表示技术之间优劣势的比较

2018-08-13

OpenGL ES 应用开发实践指南 iOS卷

OpenGL ES 应用开发实践指南 iOS卷,系统讲解 OpenGL ES 的核心概念、技术以及iOS的图形机制

2018-08-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除