Abhishek Banthia
9 years ago
38 changed files with 657 additions and 171 deletions
Binary file not shown.
@ -0,0 +1,77 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES"> |
||||
<dependencies> |
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/> |
||||
</dependencies> |
||||
<objects> |
||||
<customObject id="-2" userLabel="File's Owner" customClass="CLIntroViewController"> |
||||
<connections> |
||||
<outlet property="onboardingImageView" destination="qZ4-qB-r3O" id="5cu-wZ-y8M"/> |
||||
<outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/> |
||||
</connections> |
||||
</customObject> |
||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> |
||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/> |
||||
<customView id="Hz6-mo-xeY"> |
||||
<rect key="frame" x="0.0" y="0.0" width="485" height="520"/> |
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> |
||||
<subviews> |
||||
<visualEffectView wantsLayer="YES" alphaValue="0.80000000000000004" blendingMode="behindWindow" state="followsWindowActiveState" translatesAutoresizingMaskIntoConstraints="NO" id="G8h-RB-gyd"> |
||||
<rect key="frame" x="0.0" y="-10" width="485" height="530"/> |
||||
<subviews> |
||||
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="qZ4-qB-r3O"> |
||||
<rect key="frame" x="0.0" y="60" width="485" height="479"/> |
||||
<constraints> |
||||
<constraint firstAttribute="height" constant="479" id="QkO-Un-33O"/> |
||||
<constraint firstAttribute="width" constant="485" id="Ymc-PM-QEC"/> |
||||
</constraints> |
||||
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="Onboarding" id="Rvj-vz-qz1"/> |
||||
</imageView> |
||||
</subviews> |
||||
<constraints> |
||||
<constraint firstItem="qZ4-qB-r3O" firstAttribute="top" secondItem="G8h-RB-gyd" secondAttribute="top" constant="-9" id="DK4-8b-YaJ"/> |
||||
<constraint firstItem="qZ4-qB-r3O" firstAttribute="leading" secondItem="G8h-RB-gyd" secondAttribute="leading" id="WFY-ka-uhT"/> |
||||
<constraint firstAttribute="trailing" secondItem="qZ4-qB-r3O" secondAttribute="trailing" id="jid-yl-vki"/> |
||||
</constraints> |
||||
<shadow key="shadow"> |
||||
<color key="color" white="0.0" alpha="1" colorSpace="calibratedWhite"/> |
||||
</shadow> |
||||
</visualEffectView> |
||||
<button focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="sgW-1g-MOH"> |
||||
<rect key="frame" x="186" y="13" width="114" height="32"/> |
||||
<constraints> |
||||
<constraint firstAttribute="height" constant="21" id="d55-vu-duj"/> |
||||
<constraint firstAttribute="width" constant="102" id="v47-Kn-aPA"/> |
||||
</constraints> |
||||
<buttonCell key="cell" type="push" title="Continue" bezelStyle="rounded" alignment="center" borderStyle="border" focusRingType="none" imageScaling="proportionallyDown" inset="2" id="VSI-LD-Fkc"> |
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> |
||||
<font key="font" metaFont="system"/> |
||||
<string key="keyEquivalent" base64-UTF8="YES"> |
||||
DQ |
||||
</string> |
||||
<userDefinedRuntimeAttributes> |
||||
<userDefinedRuntimeAttribute type="color" keyPath="backgroundColor"> |
||||
<color key="value" red="0.5" green="0.0" blue="0.5" alpha="1" colorSpace="calibratedRGB"/> |
||||
</userDefinedRuntimeAttribute> |
||||
</userDefinedRuntimeAttributes> |
||||
</buttonCell> |
||||
<connections> |
||||
<action selector="continueOnboarding:" target="-2" id="VxO-5e-FH6"/> |
||||
</connections> |
||||
</button> |
||||
</subviews> |
||||
<constraints> |
||||
<constraint firstItem="sgW-1g-MOH" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="OlA-UF-19Y"/> |
||||
<constraint firstAttribute="bottom" secondItem="G8h-RB-gyd" secondAttribute="bottom" constant="-10" id="Sme-p8-MK1"/> |
||||
<constraint firstItem="G8h-RB-gyd" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="Ugy-Fp-utH"/> |
||||
<constraint firstAttribute="bottom" secondItem="sgW-1g-MOH" secondAttribute="bottom" constant="20" id="Zuy-ve-Ywq"/> |
||||
<constraint firstItem="G8h-RB-gyd" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" id="bYK-JY-bx6"/> |
||||
<constraint firstAttribute="trailing" secondItem="G8h-RB-gyd" secondAttribute="trailing" id="tS5-KQ-4aS"/> |
||||
</constraints> |
||||
<point key="canvasLocation" x="185.5" y="348"/> |
||||
</customView> |
||||
</objects> |
||||
<resources> |
||||
<image name="Onboarding" width="916" height="794"/> |
||||
</resources> |
||||
</document> |
@ -0,0 +1,13 @@
|
||||
//
|
||||
// CLIntroViewController.h
|
||||
// Clocker
|
||||
//
|
||||
// Created by Abhishek Banthia on 1/19/16.
|
||||
//
|
||||
//
|
||||
|
||||
#import <Cocoa/Cocoa.h> |
||||
|
||||
@interface CLIntroViewController : NSViewController |
||||
|
||||
@end |
@ -0,0 +1,59 @@
|
||||
// |
||||
// CLIntroViewController.m |
||||
// Clocker |
||||
// |
||||
// Created by Abhishek Banthia on 1/19/16. |
||||
// |
||||
// |
||||
|
||||
#import "CLIntroViewController.h" |
||||
#import <QuartzCore/QuartzCore.h> |
||||
#import "ApplicationDelegate.h" |
||||
|
||||
|
||||
@interface CLIntroViewController () |
||||
@property (weak) IBOutlet NSImageView *onboardingImageView; |
||||
|
||||
@end |
||||
|
||||
@implementation CLIntroViewController |
||||
|
||||
- (void)viewDidLoad { |
||||
[super viewDidLoad]; |
||||
// Do view setup here. |
||||
|
||||
// self.view.window.titleVisibility = NSWindowTitleHidden; |
||||
|
||||
CALayer *viewLayer = [CALayer layer]; |
||||
[viewLayer setBackgroundColor:CGColorCreateGenericRGB(255.0, 255.0, 255.0, 0.8)]; //RGB plus Alpha Channel |
||||
[self.view setWantsLayer:YES]; // view's backing store is using a Core Animation Layer |
||||
[self.view setLayer:viewLayer]; |
||||
|
||||
self.view.window.styleMask = NSFullSizeContentViewWindowMask; |
||||
} |
||||
|
||||
- (IBAction)continueOnboarding:(NSButton *)sender |
||||
{ |
||||
if ([sender.title isEqualToString:@"Get Started"]) |
||||
{ |
||||
[self.view.window close]; |
||||
ApplicationDelegate *delegate = (ApplicationDelegate*)[NSApplication sharedApplication].delegate; |
||||
[delegate togglePanel:nil]; |
||||
return; |
||||
} |
||||
|
||||
self.onboardingImageView.image = [NSImage imageNamed:@"FinalOnboarding"]; |
||||
[sender setTitle:@"Get Started"]; |
||||
|
||||
CATransition *transition = [CATransition animation]; |
||||
transition.duration = 1.0f; |
||||
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]; |
||||
transition.type = kCATransitionMoveIn; |
||||
[self.view setWantsLayer:YES]; |
||||
|
||||
[self.onboardingImageView.layer addAnimation:transition forKey:nil]; |
||||
|
||||
} |
||||
|
||||
|
||||
@end |
@ -0,0 +1,110 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES"> |
||||
<dependencies> |
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/> |
||||
</dependencies> |
||||
<objects> |
||||
<customObject id="-2" userLabel="File's Owner" customClass="CLOnboardingWindowController"> |
||||
<connections> |
||||
<outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/> |
||||
</connections> |
||||
</customObject> |
||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> |
||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/> |
||||
<window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" releasedWhenClosed="NO" animationBehavior="default" id="F0z-JX-Cv5"> |
||||
<windowStyleMask key="styleMask" titled="YES" closable="YES"/> |
||||
<rect key="contentRect" x="196" y="240" width="275" height="233"/> |
||||
<rect key="screenRect" x="0.0" y="0.0" width="1280" height="777"/> |
||||
<view key="contentView" id="se5-gp-TjO"> |
||||
<rect key="frame" x="0.0" y="0.0" width="275" height="233"/> |
||||
<autoresizingMask key="autoresizingMask"/> |
||||
<subviews> |
||||
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="TaQ-Ln-Vip"> |
||||
<rect key="frame" x="114" y="155" width="48" height="48"/> |
||||
<constraints> |
||||
<constraint firstAttribute="width" constant="48" id="Ll6-ju-UBQ"/> |
||||
<constraint firstAttribute="height" constant="48" id="kpd-df-Kmk"/> |
||||
</constraints> |
||||
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="ClockerIcon-256" id="2t2-AF-Gtf"/> |
||||
</imageView> |
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="oiI-iN-JcW"> |
||||
<rect key="frame" x="18" y="120" width="239" height="30"/> |
||||
<constraints> |
||||
<constraint firstAttribute="height" constant="30" id="C7v-6N-7K9"/> |
||||
</constraints> |
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="center" title="Clocker" id="r8V-tn-VkN"> |
||||
<font key="font" size="20" name="SFUIDisplay-Bold"/> |
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> |
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> |
||||
</textFieldCell> |
||||
</textField> |
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="oyE-6j-Mni"> |
||||
<rect key="frame" x="18" y="11" width="239" height="17"/> |
||||
<constraints> |
||||
<constraint firstAttribute="height" constant="17" id="Ttg-Xe-RUI"/> |
||||
</constraints> |
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="center" placeholderString="Made by Abhishek Banthia" id="cdT-3T-Jmu"> |
||||
<font key="font" size="11" name="SFUIDisplay-Light"/> |
||||
<color key="textColor" name="secondaryLabelColor" catalog="System" colorSpace="catalog"/> |
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> |
||||
</textFieldCell> |
||||
</textField> |
||||
<button focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="MQa-AK-s2j"> |
||||
<rect key="frame" x="81" y="27" width="114" height="32"/> |
||||
<constraints> |
||||
<constraint firstAttribute="width" constant="102" id="17K-x2-WJw"/> |
||||
<constraint firstAttribute="height" constant="21" id="uWT-Rz-CCE"/> |
||||
</constraints> |
||||
<buttonCell key="cell" type="push" title="Continue" bezelStyle="rounded" alignment="center" borderStyle="border" focusRingType="none" imageScaling="proportionallyDown" inset="2" id="TjC-Ot-oen"> |
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/> |
||||
<font key="font" metaFont="system"/> |
||||
<string key="keyEquivalent" base64-UTF8="YES"> |
||||
DQ |
||||
</string> |
||||
<userDefinedRuntimeAttributes> |
||||
<userDefinedRuntimeAttribute type="color" keyPath="backgroundColor"> |
||||
<color key="value" red="0.5" green="0.0" blue="0.5" alpha="1" colorSpace="calibratedRGB"/> |
||||
</userDefinedRuntimeAttribute> |
||||
</userDefinedRuntimeAttributes> |
||||
</buttonCell> |
||||
<connections> |
||||
<action selector="continueButtonPressed:" target="-2" id="vNV-kl-MtP"/> |
||||
</connections> |
||||
</button> |
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="wod-xv-dtj"> |
||||
<rect key="frame" x="18" y="99" width="239" height="19"/> |
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="center" title="Your timezone manager!" id="hQe-Z5-uca"> |
||||
<font key="font" size="13" name="SFUIDisplay-Light"/> |
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> |
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/> |
||||
</textFieldCell> |
||||
</textField> |
||||
</subviews> |
||||
<constraints> |
||||
<constraint firstItem="MQa-AK-s2j" firstAttribute="centerX" secondItem="se5-gp-TjO" secondAttribute="centerX" id="3QT-5g-r17"/> |
||||
<constraint firstItem="wod-xv-dtj" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="20" id="6V0-ex-bD0"/> |
||||
<constraint firstAttribute="trailing" secondItem="oyE-6j-Mni" secondAttribute="trailing" constant="20" id="Cnl-ve-VbG"/> |
||||
<constraint firstItem="oiI-iN-JcW" firstAttribute="top" secondItem="TaQ-Ln-Vip" secondAttribute="bottom" constant="5" id="M9K-qv-5Bd"/> |
||||
<constraint firstItem="TaQ-Ln-Vip" firstAttribute="top" secondItem="se5-gp-TjO" secondAttribute="top" constant="30" id="MAA-ac-ceo"/> |
||||
<constraint firstItem="oyE-6j-Mni" firstAttribute="top" secondItem="MQa-AK-s2j" secondAttribute="bottom" constant="6" id="U8v-lf-N46"/> |
||||
<constraint firstItem="oiI-iN-JcW" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="20" id="ajN-5l-kDS"/> |
||||
<constraint firstItem="wod-xv-dtj" firstAttribute="top" secondItem="oiI-iN-JcW" secondAttribute="bottom" constant="2" id="bed-o9-FYi"/> |
||||
<constraint firstItem="wod-xv-dtj" firstAttribute="centerX" secondItem="se5-gp-TjO" secondAttribute="centerX" id="bm9-w8-ea0"/> |
||||
<constraint firstItem="TaQ-Ln-Vip" firstAttribute="centerX" secondItem="se5-gp-TjO" secondAttribute="centerX" id="dV9-LG-Mh6"/> |
||||
<constraint firstAttribute="bottom" secondItem="oyE-6j-Mni" secondAttribute="bottom" constant="11" id="fGG-Ao-iJ2"/> |
||||
<constraint firstItem="oyE-6j-Mni" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="20" id="fMJ-gf-n5K"/> |
||||
<constraint firstAttribute="trailing" secondItem="wod-xv-dtj" secondAttribute="trailing" constant="20" id="kcg-ph-uGv"/> |
||||
<constraint firstItem="oiI-iN-JcW" firstAttribute="centerX" secondItem="se5-gp-TjO" secondAttribute="centerX" id="nnJ-Ie-tQW"/> |
||||
<constraint firstAttribute="trailing" secondItem="oiI-iN-JcW" secondAttribute="trailing" constant="20" id="ux4-02-bAj"/> |
||||
</constraints> |
||||
</view> |
||||
<connections> |
||||
<outlet property="delegate" destination="-2" id="0bl-1N-AYu"/> |
||||
</connections> |
||||
<point key="canvasLocation" x="295.5" y="171.5"/> |
||||
</window> |
||||
</objects> |
||||
<resources> |
||||
<image name="ClockerIcon-256" width="256" height="256"/> |
||||
</resources> |
||||
</document> |
@ -0,0 +1,18 @@
|
||||
//
|
||||
// CLOnboardingWindowController.h
|
||||
// Clocker
|
||||
//
|
||||
// Created by Abhishek Banthia on 1/19/16.
|
||||
//
|
||||
//
|
||||
|
||||
#import <Cocoa/Cocoa.h> |
||||
#import "CLIntroViewController.h" |
||||
|
||||
@interface CLOnboardingWindowController : NSWindowController |
||||
|
||||
@property (strong, nonatomic) CLIntroViewController *introViewController; |
||||
|
||||
+ (instancetype)sharedWindow; |
||||
|
||||
@end |
@ -0,0 +1,63 @@
|
||||
// |
||||
// CLOnboardingWindowController.m |
||||
// Clocker |
||||
// |
||||
// Created by Abhishek Banthia on 1/19/16. |
||||
// |
||||
// |
||||
|
||||
#import "CLOnboardingWindowController.h" |
||||
#import <QuartzCore/QuartzCore.h> |
||||
|
||||
@interface CLOnboardingWindowController () |
||||
|
||||
@end |
||||
|
||||
static CLOnboardingWindowController *sharedOnboardingWindow; |
||||
|
||||
@implementation CLOnboardingWindowController |
||||
|
||||
- (void)windowDidLoad { |
||||
[super windowDidLoad]; |
||||
|
||||
CALayer *viewLayer = [CALayer layer]; |
||||
[viewLayer setBackgroundColor:CGColorCreateGenericRGB(255.0, 255.0, 255.0, 0.8)]; //RGB plus Alpha Channel |
||||
[self.window.contentView setWantsLayer:YES]; // view's backing store is using a Core Animation Layer |
||||
[self.window.contentView setLayer:viewLayer]; |
||||
self.window.titlebarAppearsTransparent = YES; |
||||
|
||||
self.window.backgroundColor = [NSColor whiteColor]; |
||||
|
||||
self.window.titleVisibility = NSWindowTitleHidden; |
||||
|
||||
// Implement this method to handle any initialization after your window controller's window has been loaded from its nib file. |
||||
} |
||||
|
||||
+ (instancetype)sharedWindow |
||||
{ |
||||
if (sharedOnboardingWindow == nil) |
||||
{ |
||||
/*Using a thread safe pattern*/ |
||||
static dispatch_once_t onceToken; |
||||
dispatch_once(&onceToken, ^{ |
||||
sharedOnboardingWindow = [[self alloc] initWithWindowNibName:@"CLOnboardingWindow"]; |
||||
|
||||
}); |
||||
} |
||||
return sharedOnboardingWindow; |
||||
} |
||||
|
||||
- (IBAction)continueButtonPressed:(id)sender |
||||
{ |
||||
|
||||
self.introViewController = [[CLIntroViewController alloc] initWithNibName:@"CLIntroView" bundle:nil]; |
||||
[[self.window animator] setContentSize:self.introViewController.view.frame.size]; |
||||
[[self.window animator] setContentView:self.introViewController.view]; |
||||
|
||||
CGFloat xPos = NSWidth([[self.window screen] frame])/2 - NSWidth([self.window frame])/2; |
||||
CGFloat yPos = NSHeight([[self.window screen] frame])/2 - NSHeight([self.window frame])/2; |
||||
[self.window setFrame:NSMakeRect(xPos, yPos, NSWidth([self.window frame]), NSHeight([self.window frame])) display:YES]; |
||||
} |
||||
|
||||
|
||||
@end |
@ -0,0 +1,21 @@
|
||||
{ |
||||
"images" : [ |
||||
{ |
||||
"idiom" : "universal", |
||||
"filename" : "EmptyPanel.png", |
||||
"scale" : "1x" |
||||
}, |
||||
{ |
||||
"idiom" : "universal", |
||||
"scale" : "2x" |
||||
}, |
||||
{ |
||||
"idiom" : "universal", |
||||
"scale" : "3x" |
||||
} |
||||
], |
||||
"info" : { |
||||
"version" : 1, |
||||
"author" : "xcode" |
||||
} |
||||
} |
After Width: | Height: | Size: 13 KiB |
@ -0,0 +1,21 @@
|
||||
{ |
||||
"images" : [ |
||||
{ |
||||
"idiom" : "universal", |
||||
"filename" : "FinalOnboarding.png", |
||||
"scale" : "1x" |
||||
}, |
||||
{ |
||||
"idiom" : "universal", |
||||
"scale" : "2x" |
||||
}, |
||||
{ |
||||
"idiom" : "universal", |
||||
"scale" : "3x" |
||||
} |
||||
], |
||||
"info" : { |
||||
"version" : 1, |
||||
"author" : "xcode" |
||||
} |
||||
} |
After Width: | Height: | Size: 91 KiB |
@ -0,0 +1,21 @@
|
||||
{ |
||||
"images" : [ |
||||
{ |
||||
"idiom" : "universal", |
||||
"filename" : "Future Slider.png", |
||||
"scale" : "1x" |
||||
}, |
||||
{ |
||||
"idiom" : "universal", |
||||
"scale" : "2x" |
||||
}, |
||||
{ |
||||
"idiom" : "universal", |
||||
"scale" : "3x" |
||||
} |
||||
], |
||||
"info" : { |
||||
"version" : 1, |
||||
"author" : "xcode" |
||||
} |
||||
} |
After Width: | Height: | Size: 29 KiB |
@ -0,0 +1,21 @@
|
||||
{ |
||||
"images" : [ |
||||
{ |
||||
"idiom" : "universal", |
||||
"filename" : "Main Panel.png", |
||||
"scale" : "1x" |
||||
}, |
||||
{ |
||||
"idiom" : "universal", |
||||
"scale" : "2x" |
||||
}, |
||||
{ |
||||
"idiom" : "universal", |
||||
"scale" : "3x" |
||||
} |
||||
], |
||||
"info" : { |
||||
"version" : 1, |
||||
"author" : "xcode" |
||||
} |
||||
} |
After Width: | Height: | Size: 76 KiB |
@ -0,0 +1,21 @@
|
||||
{ |
||||
"images" : [ |
||||
{ |
||||
"idiom" : "universal", |
||||
"filename" : "Onboarding.png", |
||||
"scale" : "1x" |
||||
}, |
||||
{ |
||||
"idiom" : "universal", |
||||
"scale" : "2x" |
||||
}, |
||||
{ |
||||
"idiom" : "universal", |
||||
"scale" : "3x" |
||||
} |
||||
], |
||||
"info" : { |
||||
"version" : 1, |
||||
"author" : "xcode" |
||||
} |
||||
} |
After Width: | Height: | Size: 95 KiB |
Loading…
Reference in new issue