Focus - 有些事情需要这份执着

Focus一次探索watchOS的实践。再次慨叹下Apple的审核速度,just one day...

Focus - 有些事情需要这份执着

人这一辈子总有一些一定要去做必须要去体验的东西。

对于这些事物的追求需要这份执念。

Focus帮助我们专注于做最重要的事情,给她一个期限,可能是一两年,也可能只有几天或者几小时,总之一旦决定拥有她,那么中途就不要背弃她。

人这一辈子不要过得太复杂,专注于现在,执着于每次的努力,当回看过往,必将为自己而骄傲。

Focus App Store:传送门

Focus长什么样

focus_appstore.png

Focus参数

  • Language: pure Swift3
  • Support: iOS9+、watchOS3.0+(包含Complication、WatchConnectivity)
  • Vender: Realm(iOS、watchOS)、DCPathButton、IQKeyboardManagerSwift、SCLAlertView、SnapKit
  • OpenSource:梳理完毕后开源

为什么要做这么个App

Apple发布了新款的Apple Watch Series2,之前一直想涉足watchOS的领域,一看设备更新了就赶紧入手了一款。这么贵的东东,不开发点东西感觉对不起自己花出去的银子。于是在认真体验了一段时间后,进行了以下产品思考:

aw_mind.png

最后决定先尝试制作一款GTD类APP,跟其它同质App的区别呢就在于只关注于一件事情的实现引导。提供的Apple Watch端App包含了几乎所有iOS端的功能,同时结合Complication可以将Focus的精简信息展现到表盘中。利用Apple Watch的贴近特点,进行一些轻度提醒。(说不定过段时间可能会搞一下那个偷偷录音的APP _

Focus让我了解了什么

1. Swift3

Swift3更新以来,还没有将原有的swift2项目进行迁移,正好拿个人项目进行了实践。

综合体会就是更加优雅简洁了,这里就不展开描述了。推荐几个不错的教程,首先是官方文档,然后有猫神的《Swifter - 100Swift 必备 tips》(买的正版,动态更新为了swift3的版本),还有raywenderlich的swift相关教程也在第一时间更新为了swift3版本。

2. watchOS 3.0

初涉watch SDK,现在的感觉是相较iOS SDK各有优劣,不过watch SDK的劣势多了一些。

几个小例子:

  • table这一块,watchOS的处理会更“简约”一些,没有这么多的数据代理,转而采用了配置方法的调用,初始化配置更集中了。这里也是针对watch的使用场景进行了SDK层面的精简优化。
  • 自带一个计时性质的文本控件date、timer,一般的场景只需要简单配置就可以使用了(不过可定制项比较有限,Focus中为了统一,还是改为自己实现一个倒计时)
  • 感觉watchOS中的picker就是一个噩梦。。。,官方是没有提供watchOS版本的日期选择器的,所以需要自己用picker进行组装,里面好多坑,这块等开源后感兴趣的同学可以参考下。
  • 关于控件封装,原本搞完了watchOS版本的日期选择器是打算抽离封装一下的,但是发现watchOS的控件封装真的没有太好的途径,总不能把一个controller分享出来吧。。。(虽然github上有人这么搞)

几个建议:

  • 将iOS与watchOS的公用模块提取为单独的framework方便复用。

  • iOS与watchOS的数据同步通过WatchConnectivity,由于一些技术文章的更新缓慢,其中介绍的appgroup方式其实已经不适用了(被坑了一轮)。

    同时建议除了配置自动的同步机制外,添加一个按钮触发的同步操作,以方便用户及时进行同步。例如Focus中当点击iPhone或者watch主页面中央的小漏斗时,会弹出同步提示窗口:

    sync.PNG
  • 关于文本录入这块watchOS3已经可以使用presentTextInputController(withSuggestions:allowedInputMode:)了,弹出的输入模块可以进行语音录入,建议选择以及新更新的Scribble,也建议大家使用。(虽然中文的录入还是有点难用)

3. Realm

早就听说了realm的大名,一直想尝试一下,正好借助这个机会集成了进去。不过得出的结论是,其实就目前的realm而言,个人感觉不太适合用于watch相关的应用。主要原因就是库文件略大,watch应用四五十兆的应用大小限制,使得每一寸空间都显得特别珍贵(App Store审核的限制,其实相较Apple Watch的存储来说集成realm造成的空间占用还是可以接受的)。

说说使用realm的几点感受:

  • 用起来确实很爽,很容易上手,基本就是在操作对象,用过coredata的同学应该很习惯这种方式。

  • 数据库版本迁移这块仔细一点也很容易搞定。

  • 因为要同时集成iOS跟watchOS两个版本的realm所以不要将他们放在同一个项目文件夹下,分别创建文件夹添加引用。

  • 官方的提供的run script:

    bash "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/Realm.framework/strip-frameworks.sh"
    

    需要在iOS和watch extension的Build Phases中都要进行添加调用。(我就是因为没有在extension中添加调用导致模拟器真机运行正常,上传App Store却总是验证报错...)

  • 对于添加了realm的watchOS项目建议打开bitcode,也是为了优化watch APP的体积。

4. “新”产品上线

好久没有完整的操作一遍应用的上线流程了,体会有几点:

  • Xcode8.1的自动管理签名还是挺好用的,尚未发现问题。使用该配置后,记得Build Settings中Code Signing Identity的子选项都要配置为iOS Developer。
  • 发现Certificate中添加了专门用于生成服务器推送证书的功能。(估计早就更新了,之前没在意)
  • 新的itunes connect功能真的挺好用,相较原来的版本慢慢的幸福感。
  • 慨叹下目前Apple的审核速度,真实快啊,上传到上架one day。

可利用的资源

小结

Focus会持续更新,目前主要解决了我自己的一些痛点,希望她也能够帮助到你。如果有什么好的建议欢迎留言讨论。Watch中的App种类确实很有限,不像iOS的这么丰富,有好的产品创意也欢迎一起讨论。watchOS 3.0的更新让Apple Watch焕发了新的生机,有了不少新的可能,让我们一起把我们的Apple Watch丰富起来吧_

最后附上50个促销代码,感兴趣的同学可以下载使用。

促销码传送门

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 11,612评论 4 59
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一种新的协议。它实...
    香橙柚子阅读 22,956评论 8 183
  • 小姨是标准的新中国同龄人,回首六十多年来与共和国一起走过的风风雨雨,小姨心里感慨良多。 六十多年的时间,饭桌上的变...
    魏昊霖阅读 343评论 0 2