Luosky's Playground

It's better to burn out than to fade away.

PassKit (PassBook Api) 学习笔记

Permalink

PassKit 学习笔记

PassBook里存放的是一个个电子凭证(pass),这些pass可以是兑换券,机票,门票等,这些pass可以通过各种第三方app,网站,或者email进行安装. PassBook本身不提供这些pass,只是提供了一个查看这些pass,以及接受pass更新的平台. PassKit则是这个平台开放的API.

pass的安装方式

  1. 通过网站下载 (MIME type: application/vnd-com.apple.pkpass)
  2. 通过email下载
  3. 通过提供pass的app安装

pass type identifier

必须在developer.apple.com里注册自己pass type identifier

pass的类型

  • boardingPass
  • coupon
  • eventTicket
  • storeCard 余额卡,必须指定余额值
  • generic

pass的提醒方式

预先指定的提醒:

  • 时间 –当时间接近时可在锁屏界面提醒用户相关信息
  • 地点 –当用户接近指定地点时提醒用户相关信息(指定地点最多只能指定10个)

预先指定的提醒在发布到用户的PassBook后仍可以随时被修改.

实时提醒:

  • 当pass信息需要更改时,可通过推送通知用户,界面上可展示相应的修改信息. (除了pass的类型和序列号,其他字段都可以随时修改)

pass的样式

颜色:

image

样式:

store card & coupon:

image

event :

image

pass的字段

image

  • serialNumber用来标识pass,同样的pass type identifier 下不能有两个pass的serialNumber相同
  • 只有发布时指定了验证地址和验证token的pass才能在发布后进行修改(这个token只是用来验证pass本身可以接收更新,和设备是没有关系的)
  • webServiceURL token的验证地址,指向用户自己实现的rest服务器,必须实现更新pass所需的各种接口,必须是https…
  • relevantDate 提醒用户的时间. 具体显示提醒的时间范围由pass类型决定
  • locations 提醒用户的地址.范围大小由pass类型决定
  • 显示App Store item : "associatedStoreIdentifiers" : [ 375380948 ]

    注意点

  • iPad上没有Passbook

  • 导出P12时不用选中私钥
  • 签名和打包pass可用wwdc示例代码提供的签名工具
  • BARCODE不支持中文(应该跟用的编码有关)
  • 日期格式: 2012-06-20T17:30+08:00
  • 使用相对时间的格式 “isRelative” : true
  • coupon的primaryFields很大,中文只能放4个字()
  • PKPassLibrary不是singleton,注册PKPassLibraryDidChangeNotification通知时,通知是针对某个具体的library对象的,所以需将你创建的library传过去.
1
2
3
4
    [noteCenter addObserver:self
                   selector:@selector(passLibraryDidChange)
                       name:PKPassLibraryDidChangeNotification
                     object:self.library];

附上自己写的 pass工程 (你可能需要换成自己开发者账号签名的pass才能在pass列表中查看已安装的pass,添加pass的话则不需要)

家庭无线音乐方案

Permalink

AirPlay

  • 优点:
    • 有了苹果的推广,前景有不小的想象空间
    • 支持视频
  • 缺点:
    • 需要一个master设备来输出多媒体数据,一个slave设备来展现多媒体
    • 目前只能一对一
  • 入门体验:
    • 正道:买个Airport Express,既可以用作无线路由器,插在离音箱近的地方用音频线连接音响即可无线播放音乐了
    • 歪道:使用破解了AirPlay密钥的开源方案,如Shairport,将电脑变成AirPlay的音频输出端.

Sonos

  • 优点:支持多个输出点,如果你需要多个房间无线同步播放音乐,Sonos适合你
  • 缺点:
    • 相比AirPlay来讲,前景没那么乐观
    • 入门价格较贵

第一次处理Github的Pull Request

Permalink

第一次处理Github的Pull Request,还是CocoaPods这样的项目,要点Merge pull request时不禁有点手抖…

算是对CocoaPods做了点小贡献.

============== 我是分隔线 ==============

CocoaPods很活跃, 我的pull request提交没多久, 管理员就提了修改建议,并且把我加入到了成员组里,同时还有另外一个人也提了别的建议.

关注了这个框架挺久了, 因为改动太大,之前一直不敢用. 现在算是已经挺成熟的了,这几天正在把爱折客换成用它来管理用到的组件.强烈推荐iOS和 Mac开发者也试试,要升级你用到的组件的版本真的非常方便.

2011年小结

Permalink

Blog

发表了256篇blog (btw,这个数字真不错)
link

电影

2011 年,看了 58 部电影,打出 8.4 的平均分。电影关键词是: 美剧 电视剧 文艺 暴力 成长 奇幻 浪漫 搞笑 友情 政

link

音乐

我在虾米的这些年,累计听歌10285首!
link

Google Reader

Since June 22, 2006 you have read a total of 101,836 articles.

电脑使用情况(从下半年开始使用RescueTime统计)

Overview

image

All Activities

image

Finder居然花了33h 42m,位居第七,实在超乎想象.看来是应该找个替代品了. 不知道Alfred的Power Pack能否完全替代Finder?

Activities by week

image

去过的地方

image

已行驶 7,537 公里,距月球还有 355,566 多公里

在上海的签到点

image

在厦门的签到点

image

link

没走的路

Permalink

Posted on 2011-11-02 by luosky

小时候觉得,一个人的一生,如果不能使人类的科技或文明前进哪怕一小步,那人生还有什么意义。

当初的一小步,现在想想,却是那么的遥不可及。
就连儿时梦想的成为一名天文学家,宇航员或考古学家,现在想想,也已经是风马牛不相及的事了。

人生有很多的岔路,选择了一个,就没法选另一个。却总是时不时不经意地想起那些没走的路,以及曾经决心要做的而最终却没做成的事,心怀愧疚。

写到这里突然想起多年前曾经摘抄过的诗,竟然还静静地躺在原来的博客里。多年后重读,有了更深的感悟。

http://my.opera.com/Luosky/blog/show.dml/389440

The Road Not Taken

Saturday, August 5, 2006 2:54:09 AM
life, poetry

The Road Not Taken
-Robert Frost

Two roads diverged in a yellow wood,
And sorry I could not travel both
And be one traveler, long I stood
And looked down one as far as I could
To where it bent in the undergrowth;

Then took the other, as just as fair,
And having perhaps the better claim
Because it was grassy and wanted wear;
Though as for that, the passing there
Had worn them really about the same,

And both that morning equally lay
In leaves no step had trodden black.
Oh, I marked the first for another day!
Yet knowing how way leads on to way
I doubted if I should ever come back.

I shall be telling this with a sigh
Somewhere ages and ages hence:
Two roads diverged in a wood, and I,
I took the one less traveled by,
And that has made all the difference.

黄叶林中分出两条小路,
可惜我一人不能同时涉足,
我在路口伫立良久,
向着其中一条翘首极目,
直到它消失在丛林深处。

但我选择了另一条路,
芳草待踏,分外幽寂,
同样显得诱人,美丽,
显然这两条路是如此相似,
都几乎没有旅人的足迹。

那天清晨落叶满地,
两条都是未经脚步踩踏的小径,
呵,留下一条路等下次再走,
但我知道路径蜿蜒没有尽头,
恐怕一走就再难回首。

也许多少年后在某地,
我回首往事轻声叹息,
两条道路分散在树林里
而我选择的那条更少人迹,
从此决定了我人生的迥异

20111102-234423.jpg

挥别乔布斯

Permalink

Posted on 2011-10-06 by luosky

今天插着耳机一个人走了大半个厦门
我想还是应该写篇blog悼念一下

作为一个iOS开发者,我的工作可以说是拜Steve Jobs所赐

他让我”follow your heart”

他让我明白交互设计的重要性

他让我看到科学和艺术能够结合得如此紧密

也是他让我能够在生活中享受着那些便利

我向来比较理智,我也会说苹果这样那样的不好,我不会说自己是果粉

他辞去CEO的那天,我就知道这一天应该不远了

但当这一天真的来临的时候,心里还是不免难过

昨天iPhone 4S 的S对我来说代表的还是”Same” as iphone 4

今天这个S恐怕要代表Steve了

我想我会去买一台你的遗作来收藏

以此感谢你带给我们的一切

Rest in peace, Steve Jobs

First Week on Xcode

Permalink

经历了上周的one week on rails,这周又切换回iOS了.自从更新了Xcode 4之后,就跑去做支付宝连接和学习Ruby on Rails去了,一直没有碰Xcode.

Xcode 4相比Xcode 3变化好大,这一周花了N多时间在熟悉和折腾Xcode 4上.

Xcode 4亮点很多,比如Interface Builder现在和Xcode整合在一起了,创建outlet只要拖动到代码里就搞定了,非常方便,让我不禁又重回xib的怀抱.还有其他不少改进.

相关的文章已经很多了.这里就仅记录下碰到的问题,方便后来者:

无法自动补全 / 没有语法高亮 的问题:

在build settings里将precompile prefix header设为NO,删掉Derived Data目录(在Organizer里可以找到),等index完之后再看看

打开static library时出现 “workspace integrity”错误:

这一般是在打开了引用这个static library的项目的情况下打开这个static library项目导致的.关掉那个项目的xcode窗口即可.

按照文档创建workspace后将static library项目拖进workspace结果只是认成是一个文件的问题:

同上.因为这个static library 项目已经在别的xcode窗口中打开了.

带有static library的项目找不到lib的问题:

检查static library项目和主项目的building setting是否一致.比如主项目的building setting用的是自建的Distribution而不是Release,那么在static library里也得有这个Distribution名字的setting(并且由于前面的workspace integrity问题当时还没解决,无法打开该library项目,使得这个问题花了我n多时间才解决)

带有static library的项目用Organizer提交到app store时无法verify/share/submit的问题:

在static library的building settings里将skip install设为YES

窗外

Permalink

Posted on 2011-03-20 by luosky

花谢花开又是一季
对于有些花儿
这是它的起点
对于有些花儿
这是它的终点

地球是圆的
你的春天也许正是别人的秋天
如果你看过(500)Days of Summer
你的夏天就是别人的秋天

Media_httpimagesinsta_arbhj

Taken at 汤臣豪园