Apple Watch デバイスサイズ取得 Obj-C

Apple Watch デバイスサイズの取得方法について調べてみました。

アップル·ウォッチは、2つのサイズ38mmと42mmがあります。それぞれのデバイスサイズに応じたロジックを記述する必要があります。Apple Watch デバイスのサイズを確認するには、2つの方法しかありません。


WKInterfaceDevice currentDeviceのpreferredContentSizeCategoryからカテゴリーを取得。
WKInterfaceDevice currentDeviceのscreenBoundsからサイズを取得。
これでデバイスサイズに応じた画像をセレクト表示出来ます。

#import <WatchKit/WatchKit.h>


// WKInterfaceDevice Size

@property(nonatomic, readonly) CGRect screenBounds;


// WKInterfaceDevice Category

@property(nonatomic,readonly,copyNSString *preferredContentSizeCategory;


// Apple Watch デバイスサイズ取得

- (void)logSizeCategory

{

    

    // WKInterfaceDevice Size

    WKInterfaceDevice *currentDevice = WKInterfaceDevice.currentDevice;

    CGSize bounds = currentDevice.screenBounds.size;


    // 38mm: (0.0, 0.0, 136.0, 170.0)

    // 42mm: (0.0, 0.0, 156.0, 195.0)

    

    if (bounds.width > 136.0){

        NSLog(@"42mm big watch");

    } else {

        NSLog(@"38mm small watch");

    }

    

    // WKInterfaceDevice Category

    NSString *sizeCategory = [NSString stringWithFormat:@"%@",

             [WKInterfaceDevice currentDevice].preferredContentSizeCategory];

    

    // 42mm UICTContentSizeCategoryL

    if ([sizeCategory isEqual:@"UICTContentSizeCategoryL"]){

        

        NSLog(@"42mm UICTContentSizeCategoryL");

    }

    

    // 38mm UICTContentSizeCategoryS

    if ([sizeCategory isEqual:@"UICTContentSizeCategoryS"]){

        

        NSLog(@"38mm UICTContentSizeCategoryS");

    }

}

  

目 次