mirror of https://github.com/grpc/grpc.git
parent
3b380ccb58
commit
90dac25693
41 changed files with 1689 additions and 35 deletions
@ -0,0 +1,41 @@ |
||||
install! 'cocoapods', :deterministic_uuids => false |
||||
|
||||
ROOT_DIR = '../../../..' |
||||
|
||||
def grpc_deps |
||||
pod 'gRPC-ProtoRPC', :path => ROOT_DIR |
||||
pod 'gRPC', :path => ROOT_DIR |
||||
pod 'gRPC-Core', :path => ROOT_DIR |
||||
pod 'gRPC-RxLibrary', :path => ROOT_DIR |
||||
pod 'RemoteTest', :path => "../RemoteTestClient" |
||||
pod '!ProtoCompiler-gRPCPlugin', :path => "#{ROOT_DIR}/src/objective-c" |
||||
pod 'BoringSSL-GRPC', :path => "#{ROOT_DIR}/third_party/boringssl" |
||||
pod '!ProtoCompiler', :path => "#{ROOT_DIR}/src/objective-c" |
||||
end |
||||
|
||||
target 'watchOS-sample' do |
||||
platform :ios, '8.0' |
||||
grpc_deps |
||||
end |
||||
|
||||
target 'watchOS-sample WatchKit Extension' do |
||||
platform :watchos, '4.0' |
||||
grpc_deps |
||||
end |
||||
|
||||
pre_install do |installer| |
||||
grpc_core_spec = installer.pod_targets.find{|t| t.name.start_with?('gRPC-Core')}.root_spec |
||||
|
||||
src_root = "$(PODS_TARGET_SRCROOT)" |
||||
grpc_core_spec.pod_target_xcconfig = { |
||||
'GRPC_SRC_ROOT' => src_root, |
||||
'HEADER_SEARCH_PATHS' => '"$(inherited)" "$(GRPC_SRC_ROOT)/include"', |
||||
'USER_HEADER_SEARCH_PATHS' => '"$(GRPC_SRC_ROOT)"', |
||||
# If we don't set these two settings, `include/grpc/support/time.h` and |
||||
# `src/core/lib/gpr/string.h` shadow the system `<time.h>` and `<string.h>`, breaking the |
||||
# build. |
||||
'USE_HEADERMAP' => 'NO', |
||||
'ALWAYS_SEARCH_USER_PATHS' => 'NO', |
||||
} |
||||
end |
||||
|
@ -0,0 +1,81 @@ |
||||
{ |
||||
"images" : [ |
||||
{ |
||||
"size" : "24x24", |
||||
"idiom" : "watch", |
||||
"scale" : "2x", |
||||
"role" : "notificationCenter", |
||||
"subtype" : "38mm" |
||||
}, |
||||
{ |
||||
"size" : "27.5x27.5", |
||||
"idiom" : "watch", |
||||
"scale" : "2x", |
||||
"role" : "notificationCenter", |
||||
"subtype" : "42mm" |
||||
}, |
||||
{ |
||||
"size" : "29x29", |
||||
"idiom" : "watch", |
||||
"role" : "companionSettings", |
||||
"scale" : "2x" |
||||
}, |
||||
{ |
||||
"size" : "29x29", |
||||
"idiom" : "watch", |
||||
"role" : "companionSettings", |
||||
"scale" : "3x" |
||||
}, |
||||
{ |
||||
"size" : "40x40", |
||||
"idiom" : "watch", |
||||
"scale" : "2x", |
||||
"role" : "appLauncher", |
||||
"subtype" : "38mm" |
||||
}, |
||||
{ |
||||
"size" : "44x44", |
||||
"idiom" : "watch", |
||||
"scale" : "2x", |
||||
"role" : "appLauncher", |
||||
"subtype" : "40mm" |
||||
}, |
||||
{ |
||||
"size" : "50x50", |
||||
"idiom" : "watch", |
||||
"scale" : "2x", |
||||
"role" : "appLauncher", |
||||
"subtype" : "44mm" |
||||
}, |
||||
{ |
||||
"size" : "86x86", |
||||
"idiom" : "watch", |
||||
"scale" : "2x", |
||||
"role" : "quickLook", |
||||
"subtype" : "38mm" |
||||
}, |
||||
{ |
||||
"size" : "98x98", |
||||
"idiom" : "watch", |
||||
"scale" : "2x", |
||||
"role" : "quickLook", |
||||
"subtype" : "42mm" |
||||
}, |
||||
{ |
||||
"size" : "108x108", |
||||
"idiom" : "watch", |
||||
"scale" : "2x", |
||||
"role" : "quickLook", |
||||
"subtype" : "44mm" |
||||
}, |
||||
{ |
||||
"idiom" : "watch-marketing", |
||||
"size" : "1024x1024", |
||||
"scale" : "1x" |
||||
} |
||||
], |
||||
"info" : { |
||||
"version" : 1, |
||||
"author" : "xcode" |
||||
} |
||||
} |
@ -0,0 +1,6 @@ |
||||
{ |
||||
"info" : { |
||||
"version" : 1, |
||||
"author" : "xcode" |
||||
} |
||||
} |
@ -0,0 +1,27 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<document type="com.apple.InterfaceBuilder.WatchKit.Storyboard" version="3.0" toolsVersion="14460.31" targetRuntime="watchKit" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="AgC-eL-Hgc"> |
||||
<device id="watch38" orientation="portrait"> |
||||
<adaptation id="fullscreen"/> |
||||
</device> |
||||
<dependencies> |
||||
<deployment identifier="watchOS"/> |
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14460.20"/> |
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBWatchKitPlugin" version="14460.16"/> |
||||
</dependencies> |
||||
<scenes> |
||||
<!--Interface Controller--> |
||||
<scene sceneID="aou-V4-d1y"> |
||||
<objects> |
||||
<controller id="AgC-eL-Hgc" customClass="InterfaceController"> |
||||
<items> |
||||
<button width="1" alignment="left" title="Make Call" id="NdL-j4-gf8"> |
||||
<connections> |
||||
<action selector="makeCall" destination="AgC-eL-Hgc" id="kpd-aE-V0n"/> |
||||
</connections> |
||||
</button> |
||||
</items> |
||||
</controller> |
||||
</objects> |
||||
</scene> |
||||
</scenes> |
||||
</document> |
@ -0,0 +1,33 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> |
||||
<plist version="1.0"> |
||||
<dict> |
||||
<key>CFBundleDevelopmentRegion</key> |
||||
<string>$(DEVELOPMENT_LANGUAGE)</string> |
||||
<key>CFBundleDisplayName</key> |
||||
<string>watchOS-sample WatchKit App</string> |
||||
<key>CFBundleExecutable</key> |
||||
<string>$(EXECUTABLE_NAME)</string> |
||||
<key>CFBundleIdentifier</key> |
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> |
||||
<key>CFBundleInfoDictionaryVersion</key> |
||||
<string>6.0</string> |
||||
<key>CFBundleName</key> |
||||
<string>$(PRODUCT_NAME)</string> |
||||
<key>CFBundlePackageType</key> |
||||
<string>APPL</string> |
||||
<key>CFBundleShortVersionString</key> |
||||
<string>1.0</string> |
||||
<key>CFBundleVersion</key> |
||||
<string>1</string> |
||||
<key>UISupportedInterfaceOrientations</key> |
||||
<array> |
||||
<string>UIInterfaceOrientationPortrait</string> |
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string> |
||||
</array> |
||||
<key>WKCompanionAppBundleIdentifier</key> |
||||
<string>com.google.watchOS-grpc-sample</string> |
||||
<key>WKWatchKitApp</key> |
||||
<true/> |
||||
</dict> |
||||
</plist> |
@ -0,0 +1,18 @@ |
||||
{ |
||||
"images" : [ |
||||
{ |
||||
"idiom" : "watch", |
||||
"scale" : "2x", |
||||
"screen-width" : "<=145" |
||||
}, |
||||
{ |
||||
"idiom" : "watch", |
||||
"scale" : "2x", |
||||
"screen-width" : ">145" |
||||
} |
||||
], |
||||
"info" : { |
||||
"version" : 1, |
||||
"author" : "xcode" |
||||
} |
||||
} |
@ -0,0 +1,48 @@ |
||||
{ |
||||
"assets" : [ |
||||
{ |
||||
"idiom" : "watch", |
||||
"filename" : "Circular.imageset", |
||||
"role" : "circular" |
||||
}, |
||||
{ |
||||
"idiom" : "watch", |
||||
"filename" : "Extra Large.imageset", |
||||
"role" : "extra-large" |
||||
}, |
||||
{ |
||||
"idiom" : "watch", |
||||
"filename" : "Graphic Bezel.imageset", |
||||
"role" : "graphic-bezel" |
||||
}, |
||||
{ |
||||
"idiom" : "watch", |
||||
"filename" : "Graphic Circular.imageset", |
||||
"role" : "graphic-circular" |
||||
}, |
||||
{ |
||||
"idiom" : "watch", |
||||
"filename" : "Graphic Corner.imageset", |
||||
"role" : "graphic-corner" |
||||
}, |
||||
{ |
||||
"idiom" : "watch", |
||||
"filename" : "Graphic Large Rectangular.imageset", |
||||
"role" : "graphic-large-rectangular" |
||||
}, |
||||
{ |
||||
"idiom" : "watch", |
||||
"filename" : "Modular.imageset", |
||||
"role" : "modular" |
||||
}, |
||||
{ |
||||
"idiom" : "watch", |
||||
"filename" : "Utilitarian.imageset", |
||||
"role" : "utilitarian" |
||||
} |
||||
], |
||||
"info" : { |
||||
"version" : 1, |
||||
"author" : "xcode" |
||||
} |
||||
} |
@ -0,0 +1,18 @@ |
||||
{ |
||||
"images" : [ |
||||
{ |
||||
"idiom" : "watch", |
||||
"scale" : "2x", |
||||
"screen-width" : "<=145" |
||||
}, |
||||
{ |
||||
"idiom" : "watch", |
||||
"scale" : "2x", |
||||
"screen-width" : ">145" |
||||
} |
||||
], |
||||
"info" : { |
||||
"version" : 1, |
||||
"author" : "xcode" |
||||
} |
||||
} |
@ -0,0 +1,18 @@ |
||||
{ |
||||
"images" : [ |
||||
{ |
||||
"idiom" : "watch", |
||||
"scale" : "2x", |
||||
"screen-width" : "<=145" |
||||
}, |
||||
{ |
||||
"idiom" : "watch", |
||||
"scale" : "2x", |
||||
"screen-width" : ">145" |
||||
} |
||||
], |
||||
"info" : { |
||||
"version" : 1, |
||||
"author" : "xcode" |
||||
} |
||||
} |
@ -0,0 +1,18 @@ |
||||
{ |
||||
"images" : [ |
||||
{ |
||||
"idiom" : "watch", |
||||
"scale" : "2x", |
||||
"screen-width" : "<=145" |
||||
}, |
||||
{ |
||||
"idiom" : "watch", |
||||
"scale" : "2x", |
||||
"screen-width" : ">145" |
||||
} |
||||
], |
||||
"info" : { |
||||
"version" : 1, |
||||
"author" : "xcode" |
||||
} |
||||
} |
@ -0,0 +1,18 @@ |
||||
{ |
||||
"images" : [ |
||||
{ |
||||
"idiom" : "watch", |
||||
"scale" : "2x", |
||||
"screen-width" : "<=145" |
||||
}, |
||||
{ |
||||
"idiom" : "watch", |
||||
"scale" : "2x", |
||||
"screen-width" : ">145" |
||||
} |
||||
], |
||||
"info" : { |
||||
"version" : 1, |
||||
"author" : "xcode" |
||||
} |
||||
} |
@ -0,0 +1,18 @@ |
||||
{ |
||||
"images" : [ |
||||
{ |
||||
"idiom" : "watch", |
||||
"scale" : "2x", |
||||
"screen-width" : "<=145" |
||||
}, |
||||
{ |
||||
"idiom" : "watch", |
||||
"scale" : "2x", |
||||
"screen-width" : ">145" |
||||
} |
||||
], |
||||
"info" : { |
||||
"version" : 1, |
||||
"author" : "xcode" |
||||
} |
||||
} |
@ -0,0 +1,18 @@ |
||||
{ |
||||
"images" : [ |
||||
{ |
||||
"idiom" : "watch", |
||||
"scale" : "2x", |
||||
"screen-width" : "<=145" |
||||
}, |
||||
{ |
||||
"idiom" : "watch", |
||||
"scale" : "2x", |
||||
"screen-width" : ">145" |
||||
} |
||||
], |
||||
"info" : { |
||||
"version" : 1, |
||||
"author" : "xcode" |
||||
} |
||||
} |
@ -0,0 +1,18 @@ |
||||
{ |
||||
"images" : [ |
||||
{ |
||||
"idiom" : "watch", |
||||
"scale" : "2x", |
||||
"screen-width" : "<=145" |
||||
}, |
||||
{ |
||||
"idiom" : "watch", |
||||
"scale" : "2x", |
||||
"screen-width" : ">145" |
||||
} |
||||
], |
||||
"info" : { |
||||
"version" : 1, |
||||
"author" : "xcode" |
||||
} |
||||
} |
@ -0,0 +1,6 @@ |
||||
{ |
||||
"info" : { |
||||
"version" : 1, |
||||
"author" : "xcode" |
||||
} |
||||
} |
@ -0,0 +1,13 @@ |
||||
//
|
||||
// ExtensionDelegate.h
|
||||
// watchOS-sample WatchKit Extension
|
||||
//
|
||||
// Created by Tony Lu on 7/12/19.
|
||||
// Copyright © 2019 Tony Lu. All rights reserved.
|
||||
//
|
||||
|
||||
#import <WatchKit/WatchKit.h> |
||||
|
||||
@interface ExtensionDelegate : NSObject <WKExtensionDelegate> |
||||
|
||||
@end |
@ -0,0 +1,61 @@ |
||||
// |
||||
// ExtensionDelegate.m |
||||
// watchOS-sample WatchKit Extension |
||||
// |
||||
// Created by Tony Lu on 7/12/19. |
||||
// Copyright © 2019 Tony Lu. All rights reserved. |
||||
// |
||||
|
||||
#import "ExtensionDelegate.h" |
||||
|
||||
@implementation ExtensionDelegate |
||||
|
||||
- (void)applicationDidFinishLaunching { |
||||
// Perform any final initialization of your application. |
||||
} |
||||
|
||||
- (void)applicationDidBecomeActive { |
||||
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. |
||||
} |
||||
|
||||
- (void)applicationWillResignActive { |
||||
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. |
||||
// Use this method to pause ongoing tasks, disable timers, etc. |
||||
} |
||||
|
||||
- (void)handleBackgroundTasks:(NSSet<WKRefreshBackgroundTask *> *)backgroundTasks { |
||||
// Sent when the system needs to launch the application in the background to process tasks. Tasks arrive in a set, so loop through and process each one. |
||||
for (WKRefreshBackgroundTask * task in backgroundTasks) { |
||||
// Check the Class of each task to decide how to process it |
||||
if ([task isKindOfClass:[WKApplicationRefreshBackgroundTask class]]) { |
||||
// Be sure to complete the background task once you’re done. |
||||
WKApplicationRefreshBackgroundTask *backgroundTask = (WKApplicationRefreshBackgroundTask*)task; |
||||
[backgroundTask setTaskCompletedWithSnapshot:NO]; |
||||
} else if ([task isKindOfClass:[WKSnapshotRefreshBackgroundTask class]]) { |
||||
// Snapshot tasks have a unique completion call, make sure to set your expiration date |
||||
WKSnapshotRefreshBackgroundTask *snapshotTask = (WKSnapshotRefreshBackgroundTask*)task; |
||||
[snapshotTask setTaskCompletedWithDefaultStateRestored:YES estimatedSnapshotExpiration:[NSDate distantFuture] userInfo:nil]; |
||||
} else if ([task isKindOfClass:[WKWatchConnectivityRefreshBackgroundTask class]]) { |
||||
// Be sure to complete the background task once you’re done. |
||||
WKWatchConnectivityRefreshBackgroundTask *backgroundTask = (WKWatchConnectivityRefreshBackgroundTask*)task; |
||||
[backgroundTask setTaskCompletedWithSnapshot:NO]; |
||||
} else if ([task isKindOfClass:[WKURLSessionRefreshBackgroundTask class]]) { |
||||
// Be sure to complete the background task once you’re done. |
||||
WKURLSessionRefreshBackgroundTask *backgroundTask = (WKURLSessionRefreshBackgroundTask*)task; |
||||
[backgroundTask setTaskCompletedWithSnapshot:NO]; |
||||
} else if ([task isKindOfClass:[WKRelevantShortcutRefreshBackgroundTask class]]) { |
||||
// Be sure to complete the relevant-shortcut task once you’re done. |
||||
WKRelevantShortcutRefreshBackgroundTask *relevantShortcutTask = (WKRelevantShortcutRefreshBackgroundTask*)task; |
||||
[relevantShortcutTask setTaskCompletedWithSnapshot:NO]; |
||||
} else if ([task isKindOfClass:[WKIntentDidRunRefreshBackgroundTask class]]) { |
||||
// Be sure to complete the intent-did-run task once you’re done. |
||||
WKIntentDidRunRefreshBackgroundTask *intentDidRunTask = (WKIntentDidRunRefreshBackgroundTask*)task; |
||||
[intentDidRunTask setTaskCompletedWithSnapshot:NO]; |
||||
} else { |
||||
// make sure to complete unhandled task types |
||||
[task setTaskCompletedWithSnapshot:NO]; |
||||
} |
||||
} |
||||
} |
||||
|
||||
@end |
@ -0,0 +1,36 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> |
||||
<plist version="1.0"> |
||||
<dict> |
||||
<key>CFBundleDevelopmentRegion</key> |
||||
<string>$(DEVELOPMENT_LANGUAGE)</string> |
||||
<key>CFBundleDisplayName</key> |
||||
<string>watchOS-sample WatchKit Extension</string> |
||||
<key>CFBundleExecutable</key> |
||||
<string>$(EXECUTABLE_NAME)</string> |
||||
<key>CFBundleIdentifier</key> |
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> |
||||
<key>CFBundleInfoDictionaryVersion</key> |
||||
<string>6.0</string> |
||||
<key>CFBundleName</key> |
||||
<string>$(PRODUCT_NAME)</string> |
||||
<key>CFBundlePackageType</key> |
||||
<string>XPC!</string> |
||||
<key>CFBundleShortVersionString</key> |
||||
<string>1.0</string> |
||||
<key>CFBundleVersion</key> |
||||
<string>1</string> |
||||
<key>NSExtension</key> |
||||
<dict> |
||||
<key>NSExtensionAttributes</key> |
||||
<dict> |
||||
<key>WKAppBundleIdentifier</key> |
||||
<string>com.google.watchOS-grpc-sample.watchkitapp</string> |
||||
</dict> |
||||
<key>NSExtensionPointIdentifier</key> |
||||
<string>com.apple.watchkit</string> |
||||
</dict> |
||||
<key>WKExtensionDelegateClassName</key> |
||||
<string>ExtensionDelegate</string> |
||||
</dict> |
||||
</plist> |
@ -0,0 +1,14 @@ |
||||
//
|
||||
// InterfaceController.h
|
||||
// watchOS-sample WatchKit Extension
|
||||
//
|
||||
// Created by Tony Lu on 7/12/19.
|
||||
// Copyright © 2019 Tony Lu. All rights reserved.
|
||||
//
|
||||
|
||||
#import <WatchKit/WatchKit.h> |
||||
#import <Foundation/Foundation.h> |
||||
|
||||
@interface InterfaceController : WKInterfaceController |
||||
|
||||
@end |
@ -0,0 +1,68 @@ |
||||
// |
||||
// InterfaceController.m |
||||
// watchOS-sample WatchKit Extension |
||||
// |
||||
// Created by Tony Lu on 7/12/19. |
||||
// Copyright © 2019 Tony Lu. All rights reserved. |
||||
// |
||||
|
||||
#import "InterfaceController.h" |
||||
|
||||
#import <RemoteTest/Messages.pbobjc.h> |
||||
#import <RemoteTest/Test.pbrpc.h> |
||||
|
||||
@interface InterfaceController ()<GRPCProtoResponseHandler> |
||||
|
||||
@end |
||||
|
||||
|
||||
@implementation InterfaceController { |
||||
GRPCCallOptions *_options; |
||||
RMTTestService *_service; |
||||
} |
||||
|
||||
- (void)awakeWithContext:(id)context { |
||||
[super awakeWithContext:context]; |
||||
|
||||
// Configure interface objects here. |
||||
|
||||
|
||||
GRPCMutableCallOptions *options = [[GRPCMutableCallOptions alloc] init]; |
||||
_options = options; |
||||
|
||||
_service = [[RMTTestService alloc] initWithHost:@"grpc-test.sandbox.googleapis.com" |
||||
callOptions:_options]; |
||||
} |
||||
|
||||
- (void)willActivate { |
||||
// This method is called when watch view controller is about to be visible to user |
||||
[super willActivate]; |
||||
} |
||||
|
||||
- (void)didDeactivate { |
||||
// This method is called when watch view controller is no longer visible |
||||
[super didDeactivate]; |
||||
} |
||||
|
||||
- (IBAction)makeCall { |
||||
|
||||
RMTSimpleRequest *request = [RMTSimpleRequest message]; |
||||
request.responseSize = 100; |
||||
GRPCUnaryProtoCall *call = [_service unaryCallWithMessage:request |
||||
responseHandler:self |
||||
callOptions:nil]; |
||||
[call start]; |
||||
} |
||||
|
||||
- (void)didReceiveProtoMessage:(GPBMessage *)message { |
||||
NSLog(@"%@", [message data]); |
||||
} |
||||
|
||||
- (dispatch_queue_t)dispatchQueue { |
||||
return dispatch_get_main_queue(); |
||||
} |
||||
|
||||
@end |
||||
|
||||
|
||||
|
@ -0,0 +1,750 @@ |
||||
// !$*UTF8*$! |
||||
{ |
||||
archiveVersion = 1; |
||||
classes = { |
||||
}; |
||||
objectVersion = 51; |
||||
objects = { |
||||
|
||||
/* Begin PBXBuildFile section */ |
||||
8C710D86B987697CC3B243A8 /* libPods-watchOS-sample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 56BDF7E8B01683A4EFDEC9CF /* libPods-watchOS-sample.a */; }; |
||||
8F4EFFA8E14960D3C5BD0046 /* libPods-watchOS-sample WatchKit Extension.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 76AFD66D880975F945E377C9 /* libPods-watchOS-sample WatchKit Extension.a */; }; |
||||
ABB17D5922D93BAB00C26D6E /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = ABB17D5822D93BAB00C26D6E /* AppDelegate.m */; }; |
||||
ABB17D5C22D93BAB00C26D6E /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = ABB17D5B22D93BAB00C26D6E /* ViewController.m */; }; |
||||
ABB17D5F22D93BAB00C26D6E /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = ABB17D5D22D93BAB00C26D6E /* Main.storyboard */; }; |
||||
ABB17D6122D93BAC00C26D6E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = ABB17D6022D93BAC00C26D6E /* Assets.xcassets */; }; |
||||
ABB17D6422D93BAC00C26D6E /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = ABB17D6222D93BAC00C26D6E /* LaunchScreen.storyboard */; }; |
||||
ABB17D6722D93BAC00C26D6E /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = ABB17D6622D93BAC00C26D6E /* main.m */; }; |
||||
ABB17D6B22D93BAC00C26D6E /* watchOS-sample WatchKit App.app in Embed Watch Content */ = {isa = PBXBuildFile; fileRef = ABB17D6A22D93BAC00C26D6E /* watchOS-sample WatchKit App.app */; }; |
||||
ABB17D7122D93BAC00C26D6E /* Interface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = ABB17D6F22D93BAC00C26D6E /* Interface.storyboard */; }; |
||||
ABB17D7322D93BAC00C26D6E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = ABB17D7222D93BAC00C26D6E /* Assets.xcassets */; }; |
||||
ABB17D7A22D93BAC00C26D6E /* watchOS-sample WatchKit Extension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = ABB17D7922D93BAC00C26D6E /* watchOS-sample WatchKit Extension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; |
||||
ABB17D8022D93BAC00C26D6E /* InterfaceController.m in Sources */ = {isa = PBXBuildFile; fileRef = ABB17D7F22D93BAC00C26D6E /* InterfaceController.m */; }; |
||||
ABB17D8322D93BAC00C26D6E /* ExtensionDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = ABB17D8222D93BAC00C26D6E /* ExtensionDelegate.m */; }; |
||||
ABB17D8522D93BAD00C26D6E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = ABB17D8422D93BAD00C26D6E /* Assets.xcassets */; }; |
||||
/* End PBXBuildFile section */ |
||||
|
||||
/* Begin PBXContainerItemProxy section */ |
||||
ABB17D6C22D93BAC00C26D6E /* PBXContainerItemProxy */ = { |
||||
isa = PBXContainerItemProxy; |
||||
containerPortal = ABB17D4C22D93BAB00C26D6E /* Project object */; |
||||
proxyType = 1; |
||||
remoteGlobalIDString = ABB17D6922D93BAC00C26D6E; |
||||
remoteInfo = "watchOS-sample WatchKit App"; |
||||
}; |
||||
ABB17D7B22D93BAC00C26D6E /* PBXContainerItemProxy */ = { |
||||
isa = PBXContainerItemProxy; |
||||
containerPortal = ABB17D4C22D93BAB00C26D6E /* Project object */; |
||||
proxyType = 1; |
||||
remoteGlobalIDString = ABB17D7822D93BAC00C26D6E; |
||||
remoteInfo = "watchOS-sample WatchKit Extension"; |
||||
}; |
||||
/* End PBXContainerItemProxy section */ |
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */ |
||||
ABB17D8C22D93BAD00C26D6E /* Embed App Extensions */ = { |
||||
isa = PBXCopyFilesBuildPhase; |
||||
buildActionMask = 2147483647; |
||||
dstPath = ""; |
||||
dstSubfolderSpec = 13; |
||||
files = ( |
||||
ABB17D7A22D93BAC00C26D6E /* watchOS-sample WatchKit Extension.appex in Embed App Extensions */, |
||||
); |
||||
name = "Embed App Extensions"; |
||||
runOnlyForDeploymentPostprocessing = 0; |
||||
}; |
||||
ABB17D9022D93BAD00C26D6E /* Embed Watch Content */ = { |
||||
isa = PBXCopyFilesBuildPhase; |
||||
buildActionMask = 2147483647; |
||||
dstPath = "$(CONTENTS_FOLDER_PATH)/Watch"; |
||||
dstSubfolderSpec = 16; |
||||
files = ( |
||||
ABB17D6B22D93BAC00C26D6E /* watchOS-sample WatchKit App.app in Embed Watch Content */, |
||||
); |
||||
name = "Embed Watch Content"; |
||||
runOnlyForDeploymentPostprocessing = 0; |
||||
}; |
||||
/* End PBXCopyFilesBuildPhase section */ |
||||
|
||||
/* Begin PBXFileReference section */ |
||||
0D53169393FEB36944484D25 /* Pods-watchOS-sample WatchKit Extension.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-watchOS-sample WatchKit Extension.release.xcconfig"; path = "Target Support Files/Pods-watchOS-sample WatchKit Extension/Pods-watchOS-sample WatchKit Extension.release.xcconfig"; sourceTree = "<group>"; }; |
||||
56BDF7E8B01683A4EFDEC9CF /* libPods-watchOS-sample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-watchOS-sample.a"; sourceTree = BUILT_PRODUCTS_DIR; }; |
||||
76AFD66D880975F945E377C9 /* libPods-watchOS-sample WatchKit Extension.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-watchOS-sample WatchKit Extension.a"; sourceTree = BUILT_PRODUCTS_DIR; }; |
||||
7DB8462D385A70A534800DAF /* Pods-watchOS-sample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-watchOS-sample.release.xcconfig"; path = "Target Support Files/Pods-watchOS-sample/Pods-watchOS-sample.release.xcconfig"; sourceTree = "<group>"; }; |
||||
8C5540E3A034586596BEFE2B /* Pods-watchOS-sample WatchKit Extension.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-watchOS-sample WatchKit Extension.debug.xcconfig"; path = "Target Support Files/Pods-watchOS-sample WatchKit Extension/Pods-watchOS-sample WatchKit Extension.debug.xcconfig"; sourceTree = "<group>"; }; |
||||
ABB17D5422D93BAB00C26D6E /* watchOS-sample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "watchOS-sample.app"; sourceTree = BUILT_PRODUCTS_DIR; }; |
||||
ABB17D5722D93BAB00C26D6E /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; }; |
||||
ABB17D5822D93BAB00C26D6E /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; }; |
||||
ABB17D5A22D93BAB00C26D6E /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; }; |
||||
ABB17D5B22D93BAB00C26D6E /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; }; |
||||
ABB17D5E22D93BAB00C26D6E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; }; |
||||
ABB17D6022D93BAC00C26D6E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; |
||||
ABB17D6322D93BAC00C26D6E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; }; |
||||
ABB17D6522D93BAC00C26D6E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; |
||||
ABB17D6622D93BAC00C26D6E /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; |
||||
ABB17D6A22D93BAC00C26D6E /* watchOS-sample WatchKit App.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "watchOS-sample WatchKit App.app"; sourceTree = BUILT_PRODUCTS_DIR; }; |
||||
ABB17D7022D93BAC00C26D6E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Interface.storyboard; sourceTree = "<group>"; }; |
||||
ABB17D7222D93BAC00C26D6E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; |
||||
ABB17D7422D93BAC00C26D6E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; |
||||
ABB17D7922D93BAC00C26D6E /* watchOS-sample WatchKit Extension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "watchOS-sample WatchKit Extension.appex"; sourceTree = BUILT_PRODUCTS_DIR; }; |
||||
ABB17D7E22D93BAC00C26D6E /* InterfaceController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = InterfaceController.h; sourceTree = "<group>"; }; |
||||
ABB17D7F22D93BAC00C26D6E /* InterfaceController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = InterfaceController.m; sourceTree = "<group>"; }; |
||||
ABB17D8122D93BAC00C26D6E /* ExtensionDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ExtensionDelegate.h; sourceTree = "<group>"; }; |
||||
ABB17D8222D93BAC00C26D6E /* ExtensionDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ExtensionDelegate.m; sourceTree = "<group>"; }; |
||||
ABB17D8422D93BAD00C26D6E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; |
||||
ABB17D8622D93BAD00C26D6E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; |
||||
CC865626944D2C3DD838F762 /* Pods-watchOS-sample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-watchOS-sample.debug.xcconfig"; path = "Target Support Files/Pods-watchOS-sample/Pods-watchOS-sample.debug.xcconfig"; sourceTree = "<group>"; }; |
||||
/* End PBXFileReference section */ |
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */ |
||||
ABB17D5122D93BAB00C26D6E /* Frameworks */ = { |
||||
isa = PBXFrameworksBuildPhase; |
||||
buildActionMask = 2147483647; |
||||
files = ( |
||||
8C710D86B987697CC3B243A8 /* libPods-watchOS-sample.a in Frameworks */, |
||||
); |
||||
runOnlyForDeploymentPostprocessing = 0; |
||||
}; |
||||
ABB17D7622D93BAC00C26D6E /* Frameworks */ = { |
||||
isa = PBXFrameworksBuildPhase; |
||||
buildActionMask = 2147483647; |
||||
files = ( |
||||
8F4EFFA8E14960D3C5BD0046 /* libPods-watchOS-sample WatchKit Extension.a in Frameworks */, |
||||
); |
||||
runOnlyForDeploymentPostprocessing = 0; |
||||
}; |
||||
F374C9EC9D24282B20A64719 /* Frameworks */ = { |
||||
isa = PBXFrameworksBuildPhase; |
||||
buildActionMask = 2147483647; |
||||
files = ( |
||||
); |
||||
runOnlyForDeploymentPostprocessing = 0; |
||||
}; |
||||
/* End PBXFrameworksBuildPhase section */ |
||||
|
||||
/* Begin PBXGroup section */ |
||||
2C4A0708747AAA7298F757DA /* Pods */ = { |
||||
isa = PBXGroup; |
||||
children = ( |
||||
CC865626944D2C3DD838F762 /* Pods-watchOS-sample.debug.xcconfig */, |
||||
7DB8462D385A70A534800DAF /* Pods-watchOS-sample.release.xcconfig */, |
||||
8C5540E3A034586596BEFE2B /* Pods-watchOS-sample WatchKit Extension.debug.xcconfig */, |
||||
0D53169393FEB36944484D25 /* Pods-watchOS-sample WatchKit Extension.release.xcconfig */, |
||||
); |
||||
path = Pods; |
||||
sourceTree = "<group>"; |
||||
}; |
||||
589283F4A582EEF2434E0220 /* Frameworks */ = { |
||||
isa = PBXGroup; |
||||
children = ( |
||||
56BDF7E8B01683A4EFDEC9CF /* libPods-watchOS-sample.a */, |
||||
76AFD66D880975F945E377C9 /* libPods-watchOS-sample WatchKit Extension.a */, |
||||
); |
||||
name = Frameworks; |
||||
sourceTree = "<group>"; |
||||
}; |
||||
ABB17D4B22D93BAB00C26D6E = { |
||||
isa = PBXGroup; |
||||
children = ( |
||||
ABB17D5622D93BAB00C26D6E /* watchOS-sample */, |
||||
ABB17D6E22D93BAC00C26D6E /* watchOS-sample WatchKit App */, |
||||
ABB17D7D22D93BAC00C26D6E /* watchOS-sample WatchKit Extension */, |
||||
ABB17D5522D93BAB00C26D6E /* Products */, |
||||
2C4A0708747AAA7298F757DA /* Pods */, |
||||
589283F4A582EEF2434E0220 /* Frameworks */, |
||||
); |
||||
sourceTree = "<group>"; |
||||
}; |
||||
ABB17D5522D93BAB00C26D6E /* Products */ = { |
||||
isa = PBXGroup; |
||||
children = ( |
||||
ABB17D5422D93BAB00C26D6E /* watchOS-sample.app */, |
||||
ABB17D6A22D93BAC00C26D6E /* watchOS-sample WatchKit App.app */, |
||||
ABB17D7922D93BAC00C26D6E /* watchOS-sample WatchKit Extension.appex */, |
||||
); |
||||
name = Products; |
||||
sourceTree = "<group>"; |
||||
}; |
||||
ABB17D5622D93BAB00C26D6E /* watchOS-sample */ = { |
||||
isa = PBXGroup; |
||||
children = ( |
||||
ABB17D5722D93BAB00C26D6E /* AppDelegate.h */, |
||||
ABB17D5822D93BAB00C26D6E /* AppDelegate.m */, |
||||
ABB17D5A22D93BAB00C26D6E /* ViewController.h */, |
||||
ABB17D5B22D93BAB00C26D6E /* ViewController.m */, |
||||
ABB17D5D22D93BAB00C26D6E /* Main.storyboard */, |
||||
ABB17D6022D93BAC00C26D6E /* Assets.xcassets */, |
||||
ABB17D6222D93BAC00C26D6E /* LaunchScreen.storyboard */, |
||||
ABB17D6522D93BAC00C26D6E /* Info.plist */, |
||||
ABB17D6622D93BAC00C26D6E /* main.m */, |
||||
); |
||||
path = "watchOS-sample"; |
||||
sourceTree = "<group>"; |
||||
}; |
||||
ABB17D6E22D93BAC00C26D6E /* watchOS-sample WatchKit App */ = { |
||||
isa = PBXGroup; |
||||
children = ( |
||||
ABB17D6F22D93BAC00C26D6E /* Interface.storyboard */, |
||||
ABB17D7222D93BAC00C26D6E /* Assets.xcassets */, |
||||
ABB17D7422D93BAC00C26D6E /* Info.plist */, |
||||
); |
||||
path = "watchOS-sample WatchKit App"; |
||||
sourceTree = "<group>"; |
||||
}; |
||||
ABB17D7D22D93BAC00C26D6E /* watchOS-sample WatchKit Extension */ = { |
||||
isa = PBXGroup; |
||||
children = ( |
||||
ABB17D7E22D93BAC00C26D6E /* InterfaceController.h */, |
||||
ABB17D7F22D93BAC00C26D6E /* InterfaceController.m */, |
||||
ABB17D8122D93BAC00C26D6E /* ExtensionDelegate.h */, |
||||
ABB17D8222D93BAC00C26D6E /* ExtensionDelegate.m */, |
||||
ABB17D8422D93BAD00C26D6E /* Assets.xcassets */, |
||||
ABB17D8622D93BAD00C26D6E /* Info.plist */, |
||||
); |
||||
path = "watchOS-sample WatchKit Extension"; |
||||
sourceTree = "<group>"; |
||||
}; |
||||
/* End PBXGroup section */ |
||||
|
||||
/* Begin PBXNativeTarget section */ |
||||
ABB17D5322D93BAB00C26D6E /* watchOS-sample */ = { |
||||
isa = PBXNativeTarget; |
||||
buildConfigurationList = ABB17D9122D93BAD00C26D6E /* Build configuration list for PBXNativeTarget "watchOS-sample" */; |
||||
buildPhases = ( |
||||
94316399D2F0BC04388E77B0 /* [CP] Check Pods Manifest.lock */, |
||||
ABB17D5022D93BAB00C26D6E /* Sources */, |
||||
ABB17D5122D93BAB00C26D6E /* Frameworks */, |
||||
ABB17D5222D93BAB00C26D6E /* Resources */, |
||||
ABB17D9022D93BAD00C26D6E /* Embed Watch Content */, |
||||
1E38C9CB686CAEF71A5A25B7 /* [CP] Copy Pods Resources */, |
||||
); |
||||
buildRules = ( |
||||
); |
||||
dependencies = ( |
||||
ABB17D6D22D93BAC00C26D6E /* PBXTargetDependency */, |
||||
); |
||||
name = "watchOS-sample"; |
||||
productName = "watchOS-sample"; |
||||
productReference = ABB17D5422D93BAB00C26D6E /* watchOS-sample.app */; |
||||
productType = "com.apple.product-type.application"; |
||||
}; |
||||
ABB17D6922D93BAC00C26D6E /* watchOS-sample WatchKit App */ = { |
||||
isa = PBXNativeTarget; |
||||
buildConfigurationList = ABB17D8D22D93BAD00C26D6E /* Build configuration list for PBXNativeTarget "watchOS-sample WatchKit App" */; |
||||
buildPhases = ( |
||||
ABB17D6822D93BAC00C26D6E /* Resources */, |
||||
ABB17D8C22D93BAD00C26D6E /* Embed App Extensions */, |
||||
F374C9EC9D24282B20A64719 /* Frameworks */, |
||||
); |
||||
buildRules = ( |
||||
); |
||||
dependencies = ( |
||||
ABB17D7C22D93BAC00C26D6E /* PBXTargetDependency */, |
||||
); |
||||
name = "watchOS-sample WatchKit App"; |
||||
productName = "watchOS-sample WatchKit App"; |
||||
productReference = ABB17D6A22D93BAC00C26D6E /* watchOS-sample WatchKit App.app */; |
||||
productType = "com.apple.product-type.application.watchapp2"; |
||||
}; |
||||
ABB17D7822D93BAC00C26D6E /* watchOS-sample WatchKit Extension */ = { |
||||
isa = PBXNativeTarget; |
||||
buildConfigurationList = ABB17D8922D93BAD00C26D6E /* Build configuration list for PBXNativeTarget "watchOS-sample WatchKit Extension" */; |
||||
buildPhases = ( |
||||
097AA61E20DEB1DB1E771FC9 /* [CP] Check Pods Manifest.lock */, |
||||
ABB17D7522D93BAC00C26D6E /* Sources */, |
||||
ABB17D7622D93BAC00C26D6E /* Frameworks */, |
||||
ABB17D7722D93BAC00C26D6E /* Resources */, |
||||
8F82497BD93485F0621F0F30 /* [CP] Copy Pods Resources */, |
||||
); |
||||
buildRules = ( |
||||
); |
||||
dependencies = ( |
||||
); |
||||
name = "watchOS-sample WatchKit Extension"; |
||||
productName = "watchOS-sample WatchKit Extension"; |
||||
productReference = ABB17D7922D93BAC00C26D6E /* watchOS-sample WatchKit Extension.appex */; |
||||
productType = "com.apple.product-type.watchkit2-extension"; |
||||
}; |
||||
/* End PBXNativeTarget section */ |
||||
|
||||
/* Begin PBXProject section */ |
||||
ABB17D4C22D93BAB00C26D6E /* Project object */ = { |
||||
isa = PBXProject; |
||||
attributes = { |
||||
LastUpgradeCheck = 1010; |
||||
ORGANIZATIONNAME = "Tony Lu"; |
||||
TargetAttributes = { |
||||
ABB17D5322D93BAB00C26D6E = { |
||||
CreatedOnToolsVersion = 10.1; |
||||
}; |
||||
ABB17D6922D93BAC00C26D6E = { |
||||
CreatedOnToolsVersion = 10.1; |
||||
}; |
||||
ABB17D7822D93BAC00C26D6E = { |
||||
CreatedOnToolsVersion = 10.1; |
||||
}; |
||||
}; |
||||
}; |
||||
buildConfigurationList = ABB17D4F22D93BAB00C26D6E /* Build configuration list for PBXProject "watchOS-sample" */; |
||||
compatibilityVersion = "Xcode 9.3"; |
||||
developmentRegion = en; |
||||
hasScannedForEncodings = 0; |
||||
knownRegions = ( |
||||
en, |
||||
Base, |
||||
); |
||||
mainGroup = ABB17D4B22D93BAB00C26D6E; |
||||
productRefGroup = ABB17D5522D93BAB00C26D6E /* Products */; |
||||
projectDirPath = ""; |
||||
projectRoot = ""; |
||||
targets = ( |
||||
ABB17D5322D93BAB00C26D6E /* watchOS-sample */, |
||||
ABB17D6922D93BAC00C26D6E /* watchOS-sample WatchKit App */, |
||||
ABB17D7822D93BAC00C26D6E /* watchOS-sample WatchKit Extension */, |
||||
); |
||||
}; |
||||
/* End PBXProject section */ |
||||
|
||||
/* Begin PBXResourcesBuildPhase section */ |
||||
ABB17D5222D93BAB00C26D6E /* Resources */ = { |
||||
isa = PBXResourcesBuildPhase; |
||||
buildActionMask = 2147483647; |
||||
files = ( |
||||
ABB17D6422D93BAC00C26D6E /* LaunchScreen.storyboard in Resources */, |
||||
ABB17D6122D93BAC00C26D6E /* Assets.xcassets in Resources */, |
||||
ABB17D5F22D93BAB00C26D6E /* Main.storyboard in Resources */, |
||||
); |
||||
runOnlyForDeploymentPostprocessing = 0; |
||||
}; |
||||
ABB17D6822D93BAC00C26D6E /* Resources */ = { |
||||
isa = PBXResourcesBuildPhase; |
||||
buildActionMask = 2147483647; |
||||
files = ( |
||||
ABB17D7322D93BAC00C26D6E /* Assets.xcassets in Resources */, |
||||
ABB17D7122D93BAC00C26D6E /* Interface.storyboard in Resources */, |
||||
); |
||||
runOnlyForDeploymentPostprocessing = 0; |
||||
}; |
||||
ABB17D7722D93BAC00C26D6E /* Resources */ = { |
||||
isa = PBXResourcesBuildPhase; |
||||
buildActionMask = 2147483647; |
||||
files = ( |
||||
ABB17D8522D93BAD00C26D6E /* Assets.xcassets in Resources */, |
||||
); |
||||
runOnlyForDeploymentPostprocessing = 0; |
||||
}; |
||||
/* End PBXResourcesBuildPhase section */ |
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */ |
||||
097AA61E20DEB1DB1E771FC9 /* [CP] Check Pods Manifest.lock */ = { |
||||
isa = PBXShellScriptBuildPhase; |
||||
buildActionMask = 2147483647; |
||||
files = ( |
||||
); |
||||
inputFileListPaths = ( |
||||
); |
||||
inputPaths = ( |
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock", |
||||
"${PODS_ROOT}/Manifest.lock", |
||||
); |
||||
name = "[CP] Check Pods Manifest.lock"; |
||||
outputFileListPaths = ( |
||||
); |
||||
outputPaths = ( |
||||
"$(DERIVED_FILE_DIR)/Pods-watchOS-sample WatchKit Extension-checkManifestLockResult.txt", |
||||
); |
||||
runOnlyForDeploymentPostprocessing = 0; |
||||
shellPath = /bin/sh; |
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; |
||||
showEnvVarsInLog = 0; |
||||
}; |
||||
1E38C9CB686CAEF71A5A25B7 /* [CP] Copy Pods Resources */ = { |
||||
isa = PBXShellScriptBuildPhase; |
||||
buildActionMask = 2147483647; |
||||
files = ( |
||||
); |
||||
inputFileListPaths = ( |
||||
"${PODS_ROOT}/Target Support Files/Pods-watchOS-sample/Pods-watchOS-sample-resources-${CONFIGURATION}-input-files.xcfilelist", |
||||
); |
||||
name = "[CP] Copy Pods Resources"; |
||||
outputFileListPaths = ( |
||||
"${PODS_ROOT}/Target Support Files/Pods-watchOS-sample/Pods-watchOS-sample-resources-${CONFIGURATION}-output-files.xcfilelist", |
||||
); |
||||
runOnlyForDeploymentPostprocessing = 0; |
||||
shellPath = /bin/sh; |
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-watchOS-sample/Pods-watchOS-sample-resources.sh\"\n"; |
||||
showEnvVarsInLog = 0; |
||||
}; |
||||
8F82497BD93485F0621F0F30 /* [CP] Copy Pods Resources */ = { |
||||
isa = PBXShellScriptBuildPhase; |
||||
buildActionMask = 2147483647; |
||||
files = ( |
||||
); |
||||
inputFileListPaths = ( |
||||
"${PODS_ROOT}/Target Support Files/Pods-watchOS-sample WatchKit Extension/Pods-watchOS-sample WatchKit Extension-resources-${CONFIGURATION}-input-files.xcfilelist", |
||||
); |
||||
name = "[CP] Copy Pods Resources"; |
||||
outputFileListPaths = ( |
||||
"${PODS_ROOT}/Target Support Files/Pods-watchOS-sample WatchKit Extension/Pods-watchOS-sample WatchKit Extension-resources-${CONFIGURATION}-output-files.xcfilelist", |
||||
); |
||||
runOnlyForDeploymentPostprocessing = 0; |
||||
shellPath = /bin/sh; |
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-watchOS-sample WatchKit Extension/Pods-watchOS-sample WatchKit Extension-resources.sh\"\n"; |
||||
showEnvVarsInLog = 0; |
||||
}; |
||||
94316399D2F0BC04388E77B0 /* [CP] Check Pods Manifest.lock */ = { |
||||
isa = PBXShellScriptBuildPhase; |
||||
buildActionMask = 2147483647; |
||||
files = ( |
||||
); |
||||
inputFileListPaths = ( |
||||
); |
||||
inputPaths = ( |
||||
"${PODS_PODFILE_DIR_PATH}/Podfile.lock", |
||||
"${PODS_ROOT}/Manifest.lock", |
||||
); |
||||
name = "[CP] Check Pods Manifest.lock"; |
||||
outputFileListPaths = ( |
||||
); |
||||
outputPaths = ( |
||||
"$(DERIVED_FILE_DIR)/Pods-watchOS-sample-checkManifestLockResult.txt", |
||||
); |
||||
runOnlyForDeploymentPostprocessing = 0; |
||||
shellPath = /bin/sh; |
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; |
||||
showEnvVarsInLog = 0; |
||||
}; |
||||
/* End PBXShellScriptBuildPhase section */ |
||||
|
||||
/* Begin PBXSourcesBuildPhase section */ |
||||
ABB17D5022D93BAB00C26D6E /* Sources */ = { |
||||
isa = PBXSourcesBuildPhase; |
||||
buildActionMask = 2147483647; |
||||
files = ( |
||||
ABB17D5C22D93BAB00C26D6E /* ViewController.m in Sources */, |
||||
ABB17D6722D93BAC00C26D6E /* main.m in Sources */, |
||||
ABB17D5922D93BAB00C26D6E /* AppDelegate.m in Sources */, |
||||
); |
||||
runOnlyForDeploymentPostprocessing = 0; |
||||
}; |
||||
ABB17D7522D93BAC00C26D6E /* Sources */ = { |
||||
isa = PBXSourcesBuildPhase; |
||||
buildActionMask = 2147483647; |
||||
files = ( |
||||
ABB17D8322D93BAC00C26D6E /* ExtensionDelegate.m in Sources */, |
||||
ABB17D8022D93BAC00C26D6E /* InterfaceController.m in Sources */, |
||||
); |
||||
runOnlyForDeploymentPostprocessing = 0; |
||||
}; |
||||
/* End PBXSourcesBuildPhase section */ |
||||
|
||||
/* Begin PBXTargetDependency section */ |
||||
ABB17D6D22D93BAC00C26D6E /* PBXTargetDependency */ = { |
||||
isa = PBXTargetDependency; |
||||
target = ABB17D6922D93BAC00C26D6E /* watchOS-sample WatchKit App */; |
||||
targetProxy = ABB17D6C22D93BAC00C26D6E /* PBXContainerItemProxy */; |
||||
}; |
||||
ABB17D7C22D93BAC00C26D6E /* PBXTargetDependency */ = { |
||||
isa = PBXTargetDependency; |
||||
target = ABB17D7822D93BAC00C26D6E /* watchOS-sample WatchKit Extension */; |
||||
targetProxy = ABB17D7B22D93BAC00C26D6E /* PBXContainerItemProxy */; |
||||
}; |
||||
/* End PBXTargetDependency section */ |
||||
|
||||
/* Begin PBXVariantGroup section */ |
||||
ABB17D5D22D93BAB00C26D6E /* Main.storyboard */ = { |
||||
isa = PBXVariantGroup; |
||||
children = ( |
||||
ABB17D5E22D93BAB00C26D6E /* Base */, |
||||
); |
||||
name = Main.storyboard; |
||||
sourceTree = "<group>"; |
||||
}; |
||||
ABB17D6222D93BAC00C26D6E /* LaunchScreen.storyboard */ = { |
||||
isa = PBXVariantGroup; |
||||
children = ( |
||||
ABB17D6322D93BAC00C26D6E /* Base */, |
||||
); |
||||
name = LaunchScreen.storyboard; |
||||
sourceTree = "<group>"; |
||||
}; |
||||
ABB17D6F22D93BAC00C26D6E /* Interface.storyboard */ = { |
||||
isa = PBXVariantGroup; |
||||
children = ( |
||||
ABB17D7022D93BAC00C26D6E /* Base */, |
||||
); |
||||
name = Interface.storyboard; |
||||
sourceTree = "<group>"; |
||||
}; |
||||
/* End PBXVariantGroup section */ |
||||
|
||||
/* Begin XCBuildConfiguration section */ |
||||
ABB17D8722D93BAD00C26D6E /* Debug */ = { |
||||
isa = XCBuildConfiguration; |
||||
buildSettings = { |
||||
ALWAYS_SEARCH_USER_PATHS = NO; |
||||
CLANG_ANALYZER_NONNULL = YES; |
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; |
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; |
||||
CLANG_CXX_LIBRARY = "libc++"; |
||||
CLANG_ENABLE_MODULES = YES; |
||||
CLANG_ENABLE_OBJC_ARC = YES; |
||||
CLANG_ENABLE_OBJC_WEAK = YES; |
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; |
||||
CLANG_WARN_BOOL_CONVERSION = YES; |
||||
CLANG_WARN_COMMA = YES; |
||||
CLANG_WARN_CONSTANT_CONVERSION = YES; |
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; |
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; |
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES; |
||||
CLANG_WARN_EMPTY_BODY = YES; |
||||
CLANG_WARN_ENUM_CONVERSION = YES; |
||||
CLANG_WARN_INFINITE_RECURSION = YES; |
||||
CLANG_WARN_INT_CONVERSION = YES; |
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; |
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; |
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; |
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; |
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; |
||||
CLANG_WARN_STRICT_PROTOTYPES = YES; |
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES; |
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; |
||||
CLANG_WARN_UNREACHABLE_CODE = YES; |
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; |
||||
CODE_SIGN_IDENTITY = "iPhone Developer"; |
||||
COPY_PHASE_STRIP = NO; |
||||
DEBUG_INFORMATION_FORMAT = dwarf; |
||||
ENABLE_STRICT_OBJC_MSGSEND = YES; |
||||
ENABLE_TESTABILITY = YES; |
||||
GCC_C_LANGUAGE_STANDARD = gnu11; |
||||
GCC_DYNAMIC_NO_PIC = NO; |
||||
GCC_NO_COMMON_BLOCKS = YES; |
||||
GCC_OPTIMIZATION_LEVEL = 0; |
||||
GCC_PREPROCESSOR_DEFINITIONS = ( |
||||
"DEBUG=1", |
||||
"$(inherited)", |
||||
); |
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES; |
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; |
||||
GCC_WARN_UNDECLARED_SELECTOR = YES; |
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; |
||||
GCC_WARN_UNUSED_FUNCTION = YES; |
||||
GCC_WARN_UNUSED_VARIABLE = YES; |
||||
IPHONEOS_DEPLOYMENT_TARGET = 12.1; |
||||
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; |
||||
MTL_FAST_MATH = YES; |
||||
ONLY_ACTIVE_ARCH = YES; |
||||
SDKROOT = iphoneos; |
||||
}; |
||||
name = Debug; |
||||
}; |
||||
ABB17D8822D93BAD00C26D6E /* Release */ = { |
||||
isa = XCBuildConfiguration; |
||||
buildSettings = { |
||||
ALWAYS_SEARCH_USER_PATHS = NO; |
||||
CLANG_ANALYZER_NONNULL = YES; |
||||
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; |
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; |
||||
CLANG_CXX_LIBRARY = "libc++"; |
||||
CLANG_ENABLE_MODULES = YES; |
||||
CLANG_ENABLE_OBJC_ARC = YES; |
||||
CLANG_ENABLE_OBJC_WEAK = YES; |
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; |
||||
CLANG_WARN_BOOL_CONVERSION = YES; |
||||
CLANG_WARN_COMMA = YES; |
||||
CLANG_WARN_CONSTANT_CONVERSION = YES; |
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; |
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; |
||||
CLANG_WARN_DOCUMENTATION_COMMENTS = YES; |
||||
CLANG_WARN_EMPTY_BODY = YES; |
||||
CLANG_WARN_ENUM_CONVERSION = YES; |
||||
CLANG_WARN_INFINITE_RECURSION = YES; |
||||
CLANG_WARN_INT_CONVERSION = YES; |
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; |
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; |
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; |
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; |
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; |
||||
CLANG_WARN_STRICT_PROTOTYPES = YES; |
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES; |
||||
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; |
||||
CLANG_WARN_UNREACHABLE_CODE = YES; |
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; |
||||
CODE_SIGN_IDENTITY = "iPhone Developer"; |
||||
COPY_PHASE_STRIP = NO; |
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; |
||||
ENABLE_NS_ASSERTIONS = NO; |
||||
ENABLE_STRICT_OBJC_MSGSEND = YES; |
||||
GCC_C_LANGUAGE_STANDARD = gnu11; |
||||
GCC_NO_COMMON_BLOCKS = YES; |
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES; |
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; |
||||
GCC_WARN_UNDECLARED_SELECTOR = YES; |
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; |
||||
GCC_WARN_UNUSED_FUNCTION = YES; |
||||
GCC_WARN_UNUSED_VARIABLE = YES; |
||||
IPHONEOS_DEPLOYMENT_TARGET = 12.1; |
||||
MTL_ENABLE_DEBUG_INFO = NO; |
||||
MTL_FAST_MATH = YES; |
||||
SDKROOT = iphoneos; |
||||
VALIDATE_PRODUCT = YES; |
||||
}; |
||||
name = Release; |
||||
}; |
||||
ABB17D8A22D93BAD00C26D6E /* Debug */ = { |
||||
isa = XCBuildConfiguration; |
||||
baseConfigurationReference = 8C5540E3A034586596BEFE2B /* Pods-watchOS-sample WatchKit Extension.debug.xcconfig */; |
||||
buildSettings = { |
||||
ASSETCATALOG_COMPILER_COMPLICATION_NAME = Complication; |
||||
CODE_SIGN_STYLE = Automatic; |
||||
DEVELOPMENT_TEAM = 6T98ZJNPG5; |
||||
INFOPLIST_FILE = "watchOS-sample WatchKit Extension/Info.plist"; |
||||
LD_RUNPATH_SEARCH_PATHS = ( |
||||
"$(inherited)", |
||||
"@executable_path/Frameworks", |
||||
"@executable_path/../../Frameworks", |
||||
); |
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.google.watchOS-grpc-sample.watchkitapp.watchkitextension"; |
||||
PRODUCT_NAME = "${TARGET_NAME}"; |
||||
SDKROOT = watchos; |
||||
SKIP_INSTALL = YES; |
||||
TARGETED_DEVICE_FAMILY = 4; |
||||
WATCHOS_DEPLOYMENT_TARGET = 5.1; |
||||
}; |
||||
name = Debug; |
||||
}; |
||||
ABB17D8B22D93BAD00C26D6E /* Release */ = { |
||||
isa = XCBuildConfiguration; |
||||
baseConfigurationReference = 0D53169393FEB36944484D25 /* Pods-watchOS-sample WatchKit Extension.release.xcconfig */; |
||||
buildSettings = { |
||||
ASSETCATALOG_COMPILER_COMPLICATION_NAME = Complication; |
||||
CODE_SIGN_STYLE = Automatic; |
||||
DEVELOPMENT_TEAM = 6T98ZJNPG5; |
||||
INFOPLIST_FILE = "watchOS-sample WatchKit Extension/Info.plist"; |
||||
LD_RUNPATH_SEARCH_PATHS = ( |
||||
"$(inherited)", |
||||
"@executable_path/Frameworks", |
||||
"@executable_path/../../Frameworks", |
||||
); |
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.google.watchOS-grpc-sample.watchkitapp.watchkitextension"; |
||||
PRODUCT_NAME = "${TARGET_NAME}"; |
||||
SDKROOT = watchos; |
||||
SKIP_INSTALL = YES; |
||||
TARGETED_DEVICE_FAMILY = 4; |
||||
WATCHOS_DEPLOYMENT_TARGET = 5.1; |
||||
}; |
||||
name = Release; |
||||
}; |
||||
ABB17D8E22D93BAD00C26D6E /* Debug */ = { |
||||
isa = XCBuildConfiguration; |
||||
buildSettings = { |
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; |
||||
CODE_SIGN_STYLE = Automatic; |
||||
DEVELOPMENT_TEAM = 6T98ZJNPG5; |
||||
IBSC_MODULE = watchOS_sample_WatchKit_Extension; |
||||
INFOPLIST_FILE = "watchOS-sample WatchKit App/Info.plist"; |
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.google.watchOS-grpc-sample.watchkitapp"; |
||||
PRODUCT_NAME = "$(TARGET_NAME)"; |
||||
SDKROOT = watchos; |
||||
SKIP_INSTALL = YES; |
||||
TARGETED_DEVICE_FAMILY = 4; |
||||
WATCHOS_DEPLOYMENT_TARGET = 5.1; |
||||
}; |
||||
name = Debug; |
||||
}; |
||||
ABB17D8F22D93BAD00C26D6E /* Release */ = { |
||||
isa = XCBuildConfiguration; |
||||
buildSettings = { |
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; |
||||
CODE_SIGN_STYLE = Automatic; |
||||
DEVELOPMENT_TEAM = 6T98ZJNPG5; |
||||
IBSC_MODULE = watchOS_sample_WatchKit_Extension; |
||||
INFOPLIST_FILE = "watchOS-sample WatchKit App/Info.plist"; |
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.google.watchOS-grpc-sample.watchkitapp"; |
||||
PRODUCT_NAME = "$(TARGET_NAME)"; |
||||
SDKROOT = watchos; |
||||
SKIP_INSTALL = YES; |
||||
TARGETED_DEVICE_FAMILY = 4; |
||||
WATCHOS_DEPLOYMENT_TARGET = 5.1; |
||||
}; |
||||
name = Release; |
||||
}; |
||||
ABB17D9222D93BAD00C26D6E /* Debug */ = { |
||||
isa = XCBuildConfiguration; |
||||
baseConfigurationReference = CC865626944D2C3DD838F762 /* Pods-watchOS-sample.debug.xcconfig */; |
||||
buildSettings = { |
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; |
||||
CODE_SIGN_STYLE = Automatic; |
||||
DEVELOPMENT_TEAM = 6T98ZJNPG5; |
||||
INFOPLIST_FILE = "watchOS-sample/Info.plist"; |
||||
LD_RUNPATH_SEARCH_PATHS = ( |
||||
"$(inherited)", |
||||
"@executable_path/Frameworks", |
||||
); |
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.google.watchOS-grpc-sample"; |
||||
PRODUCT_NAME = "$(TARGET_NAME)"; |
||||
TARGETED_DEVICE_FAMILY = "1,2"; |
||||
}; |
||||
name = Debug; |
||||
}; |
||||
ABB17D9322D93BAD00C26D6E /* Release */ = { |
||||
isa = XCBuildConfiguration; |
||||
baseConfigurationReference = 7DB8462D385A70A534800DAF /* Pods-watchOS-sample.release.xcconfig */; |
||||
buildSettings = { |
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; |
||||
CODE_SIGN_STYLE = Automatic; |
||||
DEVELOPMENT_TEAM = 6T98ZJNPG5; |
||||
INFOPLIST_FILE = "watchOS-sample/Info.plist"; |
||||
LD_RUNPATH_SEARCH_PATHS = ( |
||||
"$(inherited)", |
||||
"@executable_path/Frameworks", |
||||
); |
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.google.watchOS-grpc-sample"; |
||||
PRODUCT_NAME = "$(TARGET_NAME)"; |
||||
TARGETED_DEVICE_FAMILY = "1,2"; |
||||
}; |
||||
name = Release; |
||||
}; |
||||
/* End XCBuildConfiguration section */ |
||||
|
||||
/* Begin XCConfigurationList section */ |
||||
ABB17D4F22D93BAB00C26D6E /* Build configuration list for PBXProject "watchOS-sample" */ = { |
||||
isa = XCConfigurationList; |
||||
buildConfigurations = ( |
||||
ABB17D8722D93BAD00C26D6E /* Debug */, |
||||
ABB17D8822D93BAD00C26D6E /* Release */, |
||||
); |
||||
defaultConfigurationIsVisible = 0; |
||||
defaultConfigurationName = Release; |
||||
}; |
||||
ABB17D8922D93BAD00C26D6E /* Build configuration list for PBXNativeTarget "watchOS-sample WatchKit Extension" */ = { |
||||
isa = XCConfigurationList; |
||||
buildConfigurations = ( |
||||
ABB17D8A22D93BAD00C26D6E /* Debug */, |
||||
ABB17D8B22D93BAD00C26D6E /* Release */, |
||||
); |
||||
defaultConfigurationIsVisible = 0; |
||||
defaultConfigurationName = Release; |
||||
}; |
||||
ABB17D8D22D93BAD00C26D6E /* Build configuration list for PBXNativeTarget "watchOS-sample WatchKit App" */ = { |
||||
isa = XCConfigurationList; |
||||
buildConfigurations = ( |
||||
ABB17D8E22D93BAD00C26D6E /* Debug */, |
||||
ABB17D8F22D93BAD00C26D6E /* Release */, |
||||
); |
||||
defaultConfigurationIsVisible = 0; |
||||
defaultConfigurationName = Release; |
||||
}; |
||||
ABB17D9122D93BAD00C26D6E /* Build configuration list for PBXNativeTarget "watchOS-sample" */ = { |
||||
isa = XCConfigurationList; |
||||
buildConfigurations = ( |
||||
ABB17D9222D93BAD00C26D6E /* Debug */, |
||||
ABB17D9322D93BAD00C26D6E /* Release */, |
||||
); |
||||
defaultConfigurationIsVisible = 0; |
||||
defaultConfigurationName = Release; |
||||
}; |
||||
/* End XCConfigurationList section */ |
||||
}; |
||||
rootObject = ABB17D4C22D93BAB00C26D6E /* Project object */; |
||||
} |
@ -0,0 +1,17 @@ |
||||
//
|
||||
// AppDelegate.h
|
||||
// watchOS-sample
|
||||
//
|
||||
// Created by Tony Lu on 7/12/19.
|
||||
// Copyright © 2019 Tony Lu. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h> |
||||
|
||||
@interface AppDelegate : UIResponder <UIApplicationDelegate> |
||||
|
||||
@property (strong, nonatomic) UIWindow *window; |
||||
|
||||
|
||||
@end |
||||
|
@ -0,0 +1,51 @@ |
||||
// |
||||
// AppDelegate.m |
||||
// watchOS-sample |
||||
// |
||||
// Created by Tony Lu on 7/12/19. |
||||
// Copyright © 2019 Tony Lu. All rights reserved. |
||||
// |
||||
|
||||
#import "AppDelegate.h" |
||||
|
||||
@interface AppDelegate () |
||||
|
||||
@end |
||||
|
||||
@implementation AppDelegate |
||||
|
||||
|
||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { |
||||
// Override point for customization after application launch. |
||||
return YES; |
||||
} |
||||
|
||||
|
||||
- (void)applicationWillResignActive:(UIApplication *)application { |
||||
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. |
||||
// Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. |
||||
} |
||||
|
||||
|
||||
- (void)applicationDidEnterBackground:(UIApplication *)application { |
||||
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. |
||||
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. |
||||
} |
||||
|
||||
|
||||
- (void)applicationWillEnterForeground:(UIApplication *)application { |
||||
// Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. |
||||
} |
||||
|
||||
|
||||
- (void)applicationDidBecomeActive:(UIApplication *)application { |
||||
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. |
||||
} |
||||
|
||||
|
||||
- (void)applicationWillTerminate:(UIApplication *)application { |
||||
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. |
||||
} |
||||
|
||||
|
||||
@end |
@ -0,0 +1,98 @@ |
||||
{ |
||||
"images" : [ |
||||
{ |
||||
"idiom" : "iphone", |
||||
"size" : "20x20", |
||||
"scale" : "2x" |
||||
}, |
||||
{ |
||||
"idiom" : "iphone", |
||||
"size" : "20x20", |
||||
"scale" : "3x" |
||||
}, |
||||
{ |
||||
"idiom" : "iphone", |
||||
"size" : "29x29", |
||||
"scale" : "2x" |
||||
}, |
||||
{ |
||||
"idiom" : "iphone", |
||||
"size" : "29x29", |
||||
"scale" : "3x" |
||||
}, |
||||
{ |
||||
"idiom" : "iphone", |
||||
"size" : "40x40", |
||||
"scale" : "2x" |
||||
}, |
||||
{ |
||||
"idiom" : "iphone", |
||||
"size" : "40x40", |
||||
"scale" : "3x" |
||||
}, |
||||
{ |
||||
"idiom" : "iphone", |
||||
"size" : "60x60", |
||||
"scale" : "2x" |
||||
}, |
||||
{ |
||||
"idiom" : "iphone", |
||||
"size" : "60x60", |
||||
"scale" : "3x" |
||||
}, |
||||
{ |
||||
"idiom" : "ipad", |
||||
"size" : "20x20", |
||||
"scale" : "1x" |
||||
}, |
||||
{ |
||||
"idiom" : "ipad", |
||||
"size" : "20x20", |
||||
"scale" : "2x" |
||||
}, |
||||
{ |
||||
"idiom" : "ipad", |
||||
"size" : "29x29", |
||||
"scale" : "1x" |
||||
}, |
||||
{ |
||||
"idiom" : "ipad", |
||||
"size" : "29x29", |
||||
"scale" : "2x" |
||||
}, |
||||
{ |
||||
"idiom" : "ipad", |
||||
"size" : "40x40", |
||||
"scale" : "1x" |
||||
}, |
||||
{ |
||||
"idiom" : "ipad", |
||||
"size" : "40x40", |
||||
"scale" : "2x" |
||||
}, |
||||
{ |
||||
"idiom" : "ipad", |
||||
"size" : "76x76", |
||||
"scale" : "1x" |
||||
}, |
||||
{ |
||||
"idiom" : "ipad", |
||||
"size" : "76x76", |
||||
"scale" : "2x" |
||||
}, |
||||
{ |
||||
"idiom" : "ipad", |
||||
"size" : "83.5x83.5", |
||||
"scale" : "2x" |
||||
}, |
||||
{ |
||||
"idiom" : "ios-marketing", |
||||
"size" : "1024x1024", |
||||
"scale" : "1x" |
||||
} |
||||
], |
||||
"info" : { |
||||
"version" : 1, |
||||
"author" : "xcode" |
||||
} |
||||
} |
@ -0,0 +1,6 @@ |
||||
{ |
||||
"info" : { |
||||
"version" : 1, |
||||
"author" : "xcode" |
||||
} |
||||
} |
@ -0,0 +1,25 @@ |
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM"> |
||||
<dependencies> |
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/> |
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/> |
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> |
||||
</dependencies> |
||||
<scenes> |
||||
<!--View Controller--> |
||||
<scene sceneID="EHf-IW-A2E"> |
||||
<objects> |
||||
<viewController id="01J-lp-oVM" sceneMemberID="viewController"> |
||||
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3"> |
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/> |
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> |
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
||||
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/> |
||||
</view> |
||||
</viewController> |
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/> |
||||
</objects> |
||||
<point key="canvasLocation" x="53" y="375"/> |
||||
</scene> |
||||
</scenes> |
||||
</document> |
@ -0,0 +1,24 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="BYZ-38-t0r"> |
||||
<dependencies> |
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/> |
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/> |
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> |
||||
</dependencies> |
||||
<scenes> |
||||
<!--View Controller--> |
||||
<scene sceneID="tne-QT-ifu"> |
||||
<objects> |
||||
<viewController id="BYZ-38-t0r" customClass="ViewController" customModuleProvider="" sceneMemberID="viewController"> |
||||
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC"> |
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/> |
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> |
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
||||
<viewLayoutGuide key="safeArea" id="Uee-0j-aNJ"/> |
||||
</view> |
||||
</viewController> |
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/> |
||||
</objects> |
||||
</scene> |
||||
</scenes> |
||||
</document> |
@ -0,0 +1,45 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> |
||||
<plist version="1.0"> |
||||
<dict> |
||||
<key>CFBundleDevelopmentRegion</key> |
||||
<string>$(DEVELOPMENT_LANGUAGE)</string> |
||||
<key>CFBundleExecutable</key> |
||||
<string>$(EXECUTABLE_NAME)</string> |
||||
<key>CFBundleIdentifier</key> |
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> |
||||
<key>CFBundleInfoDictionaryVersion</key> |
||||
<string>6.0</string> |
||||
<key>CFBundleName</key> |
||||
<string>$(PRODUCT_NAME)</string> |
||||
<key>CFBundlePackageType</key> |
||||
<string>APPL</string> |
||||
<key>CFBundleShortVersionString</key> |
||||
<string>1.0</string> |
||||
<key>CFBundleVersion</key> |
||||
<string>1</string> |
||||
<key>LSRequiresIPhoneOS</key> |
||||
<true/> |
||||
<key>UILaunchStoryboardName</key> |
||||
<string>LaunchScreen</string> |
||||
<key>UIMainStoryboardFile</key> |
||||
<string>Main</string> |
||||
<key>UIRequiredDeviceCapabilities</key> |
||||
<array> |
||||
<string>armv7</string> |
||||
</array> |
||||
<key>UISupportedInterfaceOrientations</key> |
||||
<array> |
||||
<string>UIInterfaceOrientationPortrait</string> |
||||
<string>UIInterfaceOrientationLandscapeLeft</string> |
||||
<string>UIInterfaceOrientationLandscapeRight</string> |
||||
</array> |
||||
<key>UISupportedInterfaceOrientations~ipad</key> |
||||
<array> |
||||
<string>UIInterfaceOrientationPortrait</string> |
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string> |
||||
<string>UIInterfaceOrientationLandscapeLeft</string> |
||||
<string>UIInterfaceOrientationLandscapeRight</string> |
||||
</array> |
||||
</dict> |
||||
</plist> |
@ -0,0 +1,15 @@ |
||||
//
|
||||
// ViewController.h
|
||||
// watchOS-sample
|
||||
//
|
||||
// Created by Tony Lu on 7/12/19.
|
||||
// Copyright © 2019 Tony Lu. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h> |
||||
|
||||
@interface ViewController : UIViewController |
||||
|
||||
|
||||
@end |
||||
|
@ -0,0 +1,25 @@ |
||||
// |
||||
// ViewController.m |
||||
// watchOS-sample |
||||
// |
||||
// Created by Tony Lu on 7/12/19. |
||||
// Copyright © 2019 Tony Lu. All rights reserved. |
||||
// |
||||
|
||||
#import "ViewController.h" |
||||
|
||||
#import <RemoteTest/Messages.pbobjc.h> |
||||
|
||||
@interface ViewController () |
||||
|
||||
@end |
||||
|
||||
@implementation ViewController |
||||
|
||||
- (void)viewDidLoad { |
||||
[super viewDidLoad]; |
||||
// Do any additional setup after loading the view, typically from a nib. |
||||
} |
||||
|
||||
|
||||
@end |
@ -0,0 +1,16 @@ |
||||
// |
||||
// main.m |
||||
// watchOS-sample |
||||
// |
||||
// Created by Tony Lu on 7/12/19. |
||||
// Copyright © 2019 Tony Lu. All rights reserved. |
||||
// |
||||
|
||||
#import <UIKit/UIKit.h> |
||||
#import "AppDelegate.h" |
||||
|
||||
int main(int argc, char * argv[]) { |
||||
@autoreleasepool { |
||||
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); |
||||
} |
||||
} |
Loading…
Reference in new issue