Just My Life & My Work

Posts tagged ‘apple watch’

[APP] 訓練 (Training)

Apple Watch一機在手,讓我好想一探究竟,它到底有哪些功能,看著錶面上內建二十多個App,只知道大概功能。愛超慢跑的我就來觀察訓練 (Training)是怎麼運作,點開那跑步黑人綠色底圈圈⋯⋯

Apple Watch Happy Man00007 (繼續閱讀…)

[APP] 提醒事項 Watch App

上個禮拜剛認識的超慢跑團Phoenix Yeh,在跑的時候跟我聊天,因為我跟她介紹Apple Watch,才曉得她對3C相當著迷,我便拿下來給她把玩。她有許多個點子想要應用在Apple Watch上,其中一個是提醒事項 (Reminders),聽她說我才知道它還有其它用途,也就是除了將待辦事項打勾外,還能設定時間或地點

垃圾管家 Watch App00003

(繼續閱讀…)

[APP] 垃圾管家 Watch App

千呼萬喚始出來,終於把垃圾管家的Watch App給開發出來~

垃圾管家 Watch App00002

這是在特定時間跳出的訊息,建議使用者可以分享給朋友知道,有「垃圾管家」可以提醒自己倒垃圾~

垃圾管家 Watch App00001

我點擊後,多了「關閉」按鈕。

(繼續閱讀…)

[APP] 活動紀錄 (Activity)

趁著閒情逸致的時候來介紹Watch App吧!首先是活動紀錄 (Activity),它無時無刻默默地在記錄我的一舉一動,我都不用擔心錯過什麼~

活動紀錄 Activity00001

在Apple Watch上,它的icon是三個色圈,分別代表三種紀錄

(繼續閱讀…)

[寫真] Apple Watch 開箱

讓人期待超過半年的Apple Watch,總算到我手中啦~現在台灣還沒開賣,所以先拿到真是令人興奮!

Apple Watch Happy Man00001 (繼續閱讀…)

Apple Watch與iPhone 6+配對過程

千呼萬喚始出來,總算拿到夢寐以求的Apple Watch,等不及Po開箱文,先來欣賞我用iPhone 6錄影的Apple Watch與iPhone 6+配對過程吧~

首先要開啟iPhone 6+的藍芽,接著點擊Apple Watch App(iOS 8.2以上才有)。

Apple Watch與iPhone 6+配對過程

剛開機的Apple Watch會出現神秘圖案,此時要將iPhone 6+鏡頭對準Apple Watch⋯⋯

Apple Watch與iPhone 6+配對過程2

.

實在太令人興奮,為了開發出很棒使用者體驗的Watch App,從此我要時常帶著它把玩唷~

[iOS] Watch App Architecture

在瞭解Watch App目標架構後,我們想進一步瞭解:

  • Apple Watch與iPhone溝通
  • Watch App的運行流程
  • ViewController的生命週期

Apple Watch與iPhone溝通

Watch iPhone commucation

包含兩部分:Watch appWatchKit extension。Watch app在Watch上運行,只包含Storyboard和Resource;WatchKit extension在iPhone上運行,與對應的iPhone App在一起。當使用者點擊Watch App後,與Watch配對的iPhone會啟動WatchKit extension,然後與Watch建立連接,於是兩者可以溝通(如獲取資料等)。

(繼續閱讀…)

[iOS] Apple Watch 目標架構

開發Watch App時,所要注意的角色有三個,因為Watch App無法獨自運行,需要透過iOS App來啟動與操作它,而彼此溝通的橋樑則是WatchKit Extension。我們可以很清楚地從下圖得知三個角色的關係:

watch app target structure

使用Xcode 6.2開發Watch App時,原本的專案就是iOS App,操作順序:New->Target->Apple Watch->WatchKit App,便會同時產生WatchKit App與WatchKit Extension到專案中。WatchKit App僅含Storyboards與Resources,WatchKit Extension則含WatchKit Code與Resource。

new target watchkit app

據知未來Watch App可獨立運行,就讓我們拭目以待吧!

參考:Apple Watch开发初探

[iOS] WatchKit 與 UIKit

Apple Watch即將上市,對iOS開發者而言,無疑是個一定要了解的全新裝置,特別是在使用者體驗上,如何設計適合小螢幕的界面。這種改變從電腦轉移到手機已經歷過一次,如今要從手機移轉到手錶,螢幕可是越變越小呢~

手機上所呈現的界面是透過UIKit framework,而手錶所呈現的界面則是透過WatchKit framework,這兩者有相似的地方,也有許多不一樣的地方

WatchKit 與 UIKit

基本上,WatchKit是UIKit的簡化版,之後Apple應該會根據需求新增修改些property或method。一般而言,手錶的功用是瀏覽重於互動,所以framework少有互動的設計。

WatchKit的元件

WKInterfaceObject繼承於NSObject。WKInterfaceImage繼承於WKInterfaceObject、WKInterfaceLabel繼承於WKInterfaceObject,其餘依此類推,都是繼承於WKInterfaceObject。

其property與method也很陽春,只有一些基本的設定。

  • WKInterfaceObject

#import <Foundation/Foundation.h>
#import <CoreGraphics/CoreGraphics.h>
#import <WatchKit/WKDefines.h>

WK_CLASS_AVAILABLE_IOS(8_2)
@interface WKInterfaceObject : NSObject

- (instancetype)init NS_UNAVAILABLE;

- (void)setHidden:(BOOL)hidden;
- (void)setAlpha:(CGFloat)alpha;

- (void)setWidth:(CGFloat)width;   // setting to 0 means use natural size. ignored for table
- (void)setHeight:(CGFloat)height;

@property(nonatomic,readonly,copy) NSString *interfaceProperty;   // same as controller's property name

@end

@interface WKInterfaceObject (WKAccessibility)

- (void)setAccessibilityLabel:(NSString *)accessibilityLabel;
- (void)setAccessibilityHint:(NSString *)accessibilityHint;
- (void)setAccessibilityValue:(NSString *)accessibilityValue;

@end
  • WKInterfaceImage

#import <Foundation/Foundation.h>
#import <WatchKit/WKDefines.h>
#import <WatchKit/WKInterfaceObject.h>

@class UIImage;

WK_CLASS_AVAILABLE_IOS(8_2)
@interface WKInterfaceImage : WKInterfaceObject

- (void)setImage:(UIImage *)image;
- (void)setImageData:(NSData *)imageData;
- (void)setImageNamed:(NSString *)imageName;

- (void)startAnimating;	      // play all images repeatedly using duration specified in interface description
- (void)startAnimatingWithImagesInRange:(NSRange)imageRange duration:(NSTimeInterval)duration repeatCount:(NSInteger)repeatCount; // play subset of images for a certain number of times. 0 means repeat until stop
- (void)stopAnimating;

@end

我們很驚訝地發現,居然沒有frame這個特性!也就是我們無法設定其座標(但可設定長與高),也無法使用Auto Layout。實際上,WatchKit界面元件只能在格子中透過邊界相對位置來放置。

還有許多特性需要好好了解,因為本來就不該把手錶當作手機來設計,而簡化自然有其好處!持續去研究吧~

參考:WatchKit – NSHipster。

[iOS] 大小類別 (Size Class)

大小類別 (Size Class)iOS 8新釋出的類別,主要目的是想要解決設備歧異的問題,透過實作Size Class,我們可以減少許多客製設備類別 (iPhone、iPad)與螢幕大小 (iPhone:3.5吋、4吋、4.7吋、5.5吋,iPad:7.9吋、9.7吋)的程式碼!還有之所以推出,是為了因應未來有更多不一樣螢幕大小的產品(如Apple Watch),所以若能採用Size Class便可減輕開發負擔!

Size Class

其分為普通(Regular)緊密 (Compact)兩個種類(class)。開發者便可以無視實際的尺寸,而是對這兩類和它們的組合進行適應。這樣不論在設計時還是程式碼上,我們都可以不再受限於實際的尺寸,而是變成遵循尺寸的視覺感官來進行適應。

(繼續閱讀…)

標籤雲