chiery'blog


  • Home

  • Tags

  • Categories

  • Archives

基于标记的AR

Posted on 2017-02-23 | In 基于标记的AR | Visitors:

最近看了AR相关的知识,大体上可以将ar技术总结为:

  • 基于标记的AR
  • 基于地理位置的AR

这里先介绍一下两个技术的不同点,AR增强现实技术是结合设备摄像头完成的虚拟现实。比如在一个指定的目标上增加一张图片,这样的例子就属于基于标记的AR,这个标记就是指定的目标了。设备需要扫描这个目标来确定目标通过摄像头反馈到屏幕的位置,再在这个位置上添加虚拟的图片。这样的例子有很多,例如Nike球鞋展示,国内的应用视+…基于地理位置的AR参考点是目标物与当前位置的方位角。这样的例子就更多了,QQ AR红包,支付宝红包等等。这里首先来看一下效果:

Read more »

Notification Optimization

Posted on 2016-11-23 | In NotificationOptimization | Visitors:

ios10对推送做了很大的优化,我们先来看一下推送展示的逻辑:

如上图所示:在功能上可以划分为四个模块:

A: 服务端推送模块

决定推送的内容,以及推送采取的展示方案(展示方案通过category标识)

B: NotificationExtensionServie 推送到达时展示预处理模块

这个模块的处理是很快的,目前apple给出的推荐demo中的演示是加载附件中的图片。...
在测试中你会发现,一个带有图片的推送到达时做了处理但是没有展示。
但是在第二次推送的时候却展示了。这是因为servieExtension会将已经存在的推送内容直接展示,
需要网络获取的文件有30s的时间可以缓存。所以基本山在第二次推送到达的时候,这个图片已经加载完成,
并缓存了起来

C: NotificationExtensionContent 推送中间层展开界面的处理

主要根据业务需求,自定义功能界面

D: Appdelegate.m 注册按钮样式

在UNUserNotification中注册按钮样式,在推送到达后展开推送中间页时使用。
Read more »

宫崎骏作品年表

Posted on 2016-11-11 | In 宫崎骏 | Visitors:

心灵童真的归属-宫崎骏执导监督剧场动画

* 1979年:《鲁邦三世卡里奥斯特罗之城》
* 1984年:《风之谷》
* 1986年:《天空之城》
* 1988年:《龙猫》
* 1989年:《魔女宅急便》
* 1992年:《红猪》
* 1997年:《幽灵公主》
* 2001年:《千与千寻》
* 2004年:《哈尔移动城堡》
* 2008年:《悬崖上的金鱼公主》
* 2013年:《起风了》
Read more »

图片

Posted on 2016-10-21 | In 效率 | Visitors:

在开发程序的过程中,简单的将图片加载到当前绘制的界面中,这可以解决大部分的问题,当工程的size不是很大的情况下。一旦工程的size达到了一定的值,就需要在各个方面来做瘦身,例如:

删除重复文件
删除不被使用的文件
...

这是最最开始我们应该想到的,当将工程中的这些未被调用的文件以及重复的文件删除了之后,size还是没有达到我们预料的要求,这时可能需要

  • 简化API
  • 压缩图片
  • 提取公共的API
  • 删除过期的业务活动代码
  • …
Read more »

Network

Posted on 2016-08-31 | In Network | Visitors:

一个好的网络框架的设计是很复杂的,抛开设计本身,一个好的网络框架的设计应该包含如下几种特性:

尽可能多的传输请求的数据。
避免失效
大流量传输的需要配备UE
适当的错误处理
适当的处理网络状况受限
选择该任务的API
小心谨慎的设计软件,避免风险
Read more »

安全方案

Posted on 2016-08-18 | In Security | Visitors:

安全方案

KeyChain的使用,这里只讲述两个场景:

非越狱
越狱

在存储用户的登录相关信息的时候,可以选择很多的方式,目前设备中使用最多的存储方式

UserDefault
KeyChain
  • UserDefault优缺点

    API亲和
    使用简单
    依附于程序,程序删除后,登录信息也会被删除
    文件本身没有加密,拿到用户设备的时候,可以在Library中查看UserDefault的plist文件
  • KeyChain优缺点

    API需要自己整合
    使用背景和方式需要调研
    不依附于程序本身,独立于程序之外
    文件本身是加密(Triple Digital Encryption Standard (3DES))存在,即便拿到设备,非越狱无法获得信息

根据上面的分析,KeyChain在用户登录的信息上,占据了更大的优势。但是在向KeyChain中添加数据的时候,考虑到越狱设备的影响,可以先将用户数据加密后再添加到KeyChain中去。

Read more »

CoreText实现添加标签

Posted on 2016-08-17 | In CoreText | Visitors:

CoreText实现添加标签

CoreText是基于C语言的API设计,主要通过UIView的drawRect:来实现自定义的文案排版,但是在OS X系统上放回的确实NSRect的一个对象,这个时候你可以使用的NSRectToCGRect这个函数来将结果做一下转化,以适应更多的平台。这里有个需要注意的点:图形环境是根据UIGraphicsGetCurrentContext此函数的结果,但是在这个结果的参考系是左下角,ios的参考系确实在左上角,所以,如果你是在ios上做CoreText对文案的排版,你需要转换一下参考系。由于CoreText是基于C的语言所以在速度上有所提升,在语言上也比较简单。

CoreText渲染引擎使用的场景经常是attributeString/graphicsPath之类,这些对象在被渲染的时候都是包含自己的Properties(or “attributes”),这样引擎就可以知道这些文字或是图形将要被渲染成什么样式。

Read more »

Remote Notification

Posted on 2016-07-08 | In APNs | Visitors:

remote Notification

在做远程推送的时候,需要向apple申请证书上的支持。首先介绍如何完成远程推送的前期准备,主要是证书的申请和制作,这里只做简单介绍。主要的操作都是在macOS系统上完成的,跟着操作一步一步来,就可以生成测试使用的证书:

  • 登录到 iPhone Developer Connection Portal 并点击 App IDs
  • 创建一个不使用通配符的 App ID 。通配符 ID 不能用于推送通知服务。例如,我们的iPhone程序ID像这样: AB123346CD.com.serverdensity.iphone
  • 点击App ID旁的“Configure”,然后按下按钮生产 推送通知许可证。根据“向导”指导的步骤生成一个签名并上传,最后下载生成的许可证。此步骤在 Apple文档中 也有谈到。
  • 通过双击.cer文件将你的 aps_developer_identity.cer 引入Keychain中。
  • 在Mac上启动 Keychain助手,然后在login keychain中选择 Certificates分类。你将看到一个可扩展选项“Apple Development Push Services”
  • 扩展此选项然后右击“Apple Development Push Services” > Export “Apple Development Push Services ID123”。保存为 apns-dev-cert.p12 文件。
  • 扩展“Apple Development Push Services” 对“Private Key”做同样操作,保存为 apns-dev-key.p12 文件。
  • 需要通过终端命令将这些文件转换为PEM格式:
Read more »

locationNotification实践

Posted on 2016-07-05 | In APNs | Visitors:

LocationNotification实践

当你手上拿着锤子的时候,全世界都是钉子。迫不及待的想试验一下新的Notification到底长得什么模样。下载最新的Xcode beta,新建工程,开始用swift语言尝试写工程。首先向用户申请打开推送请求

// 向用户请求认证信息
func authorizationNotification() {
    UNUserNotificationCenter.current().requestAuthorization(options: [.alert,.sound,.badge]) { (granted, error) in
        if granted {
            // 用户已经认证了
            self.addNotificationHandleInApplication()
        }
        else {
            // 用户拒绝
            print("用户拒绝了")
        }
    }
}
Read more »

Notification 在IOS10上的变化

Posted on 2016-07-03 | In APNs | Visitors:

Notification在iOS10上的变化

ios10在notification上的变化还是很大的,notificationCenter中显示的不在是之前仅仅只有一个body,新增了如下几点。

title
subtitle
attachment(giff,image,video)
Read more »
1234

John Doe

持续、专注

37 posts
25 categories
15 tags
© 2019 John Doe
Powered by Hexo
|
Theme — NexT.Muse v5.1.4