diff --git a/.gitignore b/.gitignore index 392c6ee02..6f1bc0b9c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ # Xcode -# !**/*.xcodeproj !**/*.pbxproj !**/*.xcworkspacedata @@ -22,4 +21,8 @@ DerivedData *.ipa *.xcuserstate +# OS X +.DS_Store + +# Node node_modules diff --git a/Examples/Movies/AppDelegate.m b/Examples/Movies/AppDelegate.m index c01fc2ca9..a402c7901 100644 --- a/Examples/Movies/AppDelegate.m +++ b/Examples/Movies/AppDelegate.m @@ -2,7 +2,7 @@ #import "AppDelegate.h" -#import "RCTRootView.h" +#import @implementation AppDelegate diff --git a/Examples/Movies/Movies.xcodeproj/project.pbxproj b/Examples/Movies/Movies.xcodeproj/project.pbxproj index e2fd6fc01..6e3846623 100644 --- a/Examples/Movies/Movies.xcodeproj/project.pbxproj +++ b/Examples/Movies/Movies.xcodeproj/project.pbxproj @@ -11,19 +11,9 @@ 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; - 8323482C1A77B59500B55238 /* libReactKit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832348291A77B50100B55238 /* libReactKit.a */; }; + 8A63AAB95DEC603F81CC9914 /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1C80E9DAC4721961D27A5C59 /* libPods.a */; }; /* End PBXBuildFile section */ -/* Begin PBXContainerItemProxy section */ - 832348281A77B50100B55238 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 834D32361A76971A00F38302 /* ReactKit.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192; - remoteInfo = ReactKit; - }; -/* End PBXContainerItemProxy section */ - /* Begin PBXFileReference section */ 13B07F961A680F5B00A75B9A /* Movies.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Movies.app; sourceTree = BUILT_PRODUCTS_DIR; }; 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; @@ -32,7 +22,17 @@ 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 834D32361A76971A00F38302 /* ReactKit.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ReactKit.xcodeproj; path = ../../ReactKit/ReactKit.xcodeproj; sourceTree = ""; }; + 1C80E9DAC4721961D27A5C59 /* libPods.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPods.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 484633F6AF8FF4B8EB89512A /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.release.xcconfig; path = "Pods/Target Support Files/Pods/Pods.release.xcconfig"; sourceTree = ""; }; + 5845B59FBF51C4AAA4222097 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = ""; }; + 587650991A9EA0C6008B8F17 /* libPods-RCTDataManager.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libPods-RCTDataManager.a"; path = "Pods/build/Debug-iphoneos/libPods-RCTDataManager.a"; sourceTree = ""; }; + 5876509A1A9EA0C6008B8F17 /* libPods-RCTNetworkImage.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libPods-RCTNetworkImage.a"; path = "Pods/build/Debug-iphoneos/libPods-RCTNetworkImage.a"; sourceTree = ""; }; + 5876509B1A9EA0C6008B8F17 /* libPods-RCTText.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libPods-RCTText.a"; path = "Pods/build/Debug-iphoneos/libPods-RCTText.a"; sourceTree = ""; }; + 5876509C1A9EA0C6008B8F17 /* libPods-ReactKit.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libPods-ReactKit.a"; path = "Pods/build/Debug-iphoneos/libPods-ReactKit.a"; sourceTree = ""; }; + 587650A11A9EA235008B8F17 /* libPods-RCTDataManager.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libPods-RCTDataManager.a"; path = "Pods/build/Debug-iphoneos/libPods-RCTDataManager.a"; sourceTree = ""; }; + 587650A21A9EA235008B8F17 /* libPods-RCTNetworkImage.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libPods-RCTNetworkImage.a"; path = "Pods/build/Debug-iphoneos/libPods-RCTNetworkImage.a"; sourceTree = ""; }; + 587650A31A9EA235008B8F17 /* libPods-RCTText.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libPods-RCTText.a"; path = "Pods/build/Debug-iphoneos/libPods-RCTText.a"; sourceTree = ""; }; + 587650A41A9EA235008B8F17 /* libPods-ReactKit.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libPods-ReactKit.a"; path = "Pods/build/Debug-iphoneos/libPods-ReactKit.a"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -40,13 +40,22 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8323482C1A77B59500B55238 /* libReactKit.a in Frameworks */, + 8A63AAB95DEC603F81CC9914 /* libPods.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 0D1AC39A16823DF8332A23B7 /* Pods */ = { + isa = PBXGroup; + children = ( + 5845B59FBF51C4AAA4222097 /* Pods.debug.xcconfig */, + 484633F6AF8FF4B8EB89512A /* Pods.release.xcconfig */, + ); + name = Pods; + sourceTree = ""; + }; 13B07FAE1A68108700A75B9A /* Movies */ = { isa = PBXGroup; children = ( @@ -60,20 +69,13 @@ name = Movies; sourceTree = ""; }; - 832348241A77B50100B55238 /* Products */ = { - isa = PBXGroup; - children = ( - 832348291A77B50100B55238 /* libReactKit.a */, - ); - name = Products; - sourceTree = ""; - }; 83CBB9F61A601CBA00E9B192 = { isa = PBXGroup; children = ( - 834D32361A76971A00F38302 /* ReactKit.xcodeproj */, 13B07FAE1A68108700A75B9A /* Movies */, 83CBBA001A601CBA00E9B192 /* Products */, + 0D1AC39A16823DF8332A23B7 /* Pods */, + B748CE19D7EAD496E0205240 /* Frameworks */, ); sourceTree = ""; }; @@ -85,6 +87,22 @@ name = Products; sourceTree = ""; }; + B748CE19D7EAD496E0205240 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 587650A11A9EA235008B8F17 /* libPods-RCTDataManager.a */, + 587650A21A9EA235008B8F17 /* libPods-RCTNetworkImage.a */, + 587650A31A9EA235008B8F17 /* libPods-RCTText.a */, + 587650A41A9EA235008B8F17 /* libPods-ReactKit.a */, + 587650991A9EA0C6008B8F17 /* libPods-RCTDataManager.a */, + 5876509A1A9EA0C6008B8F17 /* libPods-RCTNetworkImage.a */, + 5876509B1A9EA0C6008B8F17 /* libPods-RCTText.a */, + 5876509C1A9EA0C6008B8F17 /* libPods-ReactKit.a */, + 1C80E9DAC4721961D27A5C59 /* libPods.a */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -92,9 +110,11 @@ isa = PBXNativeTarget; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "Movies" */; buildPhases = ( + 480757813B188E9D7AD89A37 /* Check Pods Manifest.lock */, 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, + 602457BB761A1DB37CEBD865 /* Copy Pods Resources */, ); buildRules = ( ); @@ -125,12 +145,6 @@ mainGroup = 83CBB9F61A601CBA00E9B192; productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; projectDirPath = ""; - projectReferences = ( - { - ProductGroup = 832348241A77B50100B55238 /* Products */; - ProjectRef = 834D32361A76971A00F38302 /* ReactKit.xcodeproj */; - }, - ); projectRoot = ""; targets = ( 13B07F861A680F5B00A75B9A /* Movies */, @@ -138,16 +152,6 @@ }; /* End PBXProject section */ -/* Begin PBXReferenceProxy section */ - 832348291A77B50100B55238 /* libReactKit.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libReactKit.a; - remoteRef = 832348281A77B50100B55238 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - /* Begin PBXResourcesBuildPhase section */ 13B07F8E1A680F5B00A75B9A /* Resources */ = { isa = PBXResourcesBuildPhase; @@ -160,6 +164,39 @@ }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + 480757813B188E9D7AD89A37 /* Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Check Pods Manifest.lock"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; + showEnvVarsInLog = 0; + }; + 602457BB761A1DB37CEBD865 /* Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ 13B07F871A680F5B00A75B9A /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -186,22 +223,44 @@ /* Begin XCBuildConfiguration section */ 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 5845B59FBF51C4AAA4222097 /* Pods.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../../ReactKit/**", + ); INFOPLIST_FILE = "$(SRCROOT)/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - OTHER_LDFLAGS = "-ObjC"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Pods/build/Debug-iphoneos", + ); + ONLY_ACTIVE_ARCH = YES; + OTHER_LDFLAGS = "$(inherited)"; PRODUCT_NAME = Movies; }; name = Debug; }; 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 484633F6AF8FF4B8EB89512A /* Pods.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../../ReactKit/**", + ); INFOPLIST_FILE = "$(SRCROOT)/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - OTHER_LDFLAGS = "-ObjC"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Pods/build/Debug-iphoneos", + ); + ONLY_ACTIVE_ARCH = YES; + OTHER_LDFLAGS = "$(inherited)"; PRODUCT_NAME = Movies; }; name = Release; diff --git a/Examples/Movies/Movies.xcworkspace/contents.xcworkspacedata b/Examples/Movies/Movies.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..c4885a713 --- /dev/null +++ b/Examples/Movies/Movies.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/Examples/Movies/Podfile b/Examples/Movies/Podfile new file mode 100644 index 000000000..c8e32868d --- /dev/null +++ b/Examples/Movies/Podfile @@ -0,0 +1,6 @@ +source 'https://github.com/CocoaPods/Specs.git' + +pod 'RCTDataManager', :path => '../../Libraries/Network' +pod 'RCTNetworkImage', :path => '../../Libraries/Image' +pod 'RCTText', :path => '../../Libraries/Text' +pod 'ReactKit', :path => '../../ReactKit' diff --git a/Examples/Movies/Podfile.lock b/Examples/Movies/Podfile.lock new file mode 100644 index 000000000..cc2a8f981 --- /dev/null +++ b/Examples/Movies/Podfile.lock @@ -0,0 +1,32 @@ +PODS: + - RCTDataManager (0.0.1): + - ReactKit (~> 0.0.1) + - RCTNetworkImage (0.0.1): + - ReactKit (~> 0.0.1) + - RCTText (0.0.1): + - ReactKit (~> 0.0.1) + - ReactKit (0.0.1) + +DEPENDENCIES: + - RCTDataManager (from `../../Libraries/Network`) + - RCTNetworkImage (from `../../Libraries/Image`) + - RCTText (from `../../Libraries/Text`) + - ReactKit (from `../../ReactKit`) + +EXTERNAL SOURCES: + RCTDataManager: + :path: ../../Libraries/Network + RCTNetworkImage: + :path: ../../Libraries/Image + RCTText: + :path: ../../Libraries/Text + ReactKit: + :path: ../../ReactKit + +SPEC CHECKSUMS: + RCTDataManager: d38d2a6555886d68e8de623c4b97e2acdf01ed3e + RCTNetworkImage: 6d99735875916e098a65c68a54a72e67e24a402a + RCTText: 5c0cf4635241e8c02e8933853df03809d2dc8327 + ReactKit: 65c02c1e95951c198e491d2a4c1972675d4af254 + +COCOAPODS: 0.35.0 diff --git a/ReactKit/Modules/RCTDataManager.h b/Examples/Movies/Pods/Headers/Public/RCTDataManager/RCTDataManager.h similarity index 100% rename from ReactKit/Modules/RCTDataManager.h rename to Examples/Movies/Pods/Headers/Public/RCTDataManager/RCTDataManager.h diff --git a/ReactKit/Base/RCTImageDownloader.h b/Examples/Movies/Pods/Headers/Public/RCTNetworkImage/RCTImageDownloader.h similarity index 100% rename from ReactKit/Base/RCTImageDownloader.h rename to Examples/Movies/Pods/Headers/Public/RCTNetworkImage/RCTImageDownloader.h diff --git a/ReactKit/Views/RCTNetworkImageView.h b/Examples/Movies/Pods/Headers/Public/RCTNetworkImage/RCTNetworkImageView.h similarity index 100% rename from ReactKit/Views/RCTNetworkImageView.h rename to Examples/Movies/Pods/Headers/Public/RCTNetworkImage/RCTNetworkImageView.h diff --git a/ReactKit/Views/RCTNetworkImageViewManager.h b/Examples/Movies/Pods/Headers/Public/RCTNetworkImage/RCTNetworkImageViewManager.h similarity index 100% rename from ReactKit/Views/RCTNetworkImageViewManager.h rename to Examples/Movies/Pods/Headers/Public/RCTNetworkImage/RCTNetworkImageViewManager.h diff --git a/ReactKit/Views/RCTRawTextManager.h b/Examples/Movies/Pods/Headers/Public/RCTText/RCTRawTextManager.h similarity index 100% rename from ReactKit/Views/RCTRawTextManager.h rename to Examples/Movies/Pods/Headers/Public/RCTText/RCTRawTextManager.h diff --git a/ReactKit/Views/RCTShadowRawText.h b/Examples/Movies/Pods/Headers/Public/RCTText/RCTShadowRawText.h similarity index 100% rename from ReactKit/Views/RCTShadowRawText.h rename to Examples/Movies/Pods/Headers/Public/RCTText/RCTShadowRawText.h diff --git a/ReactKit/Views/RCTShadowText.h b/Examples/Movies/Pods/Headers/Public/RCTText/RCTShadowText.h similarity index 100% rename from ReactKit/Views/RCTShadowText.h rename to Examples/Movies/Pods/Headers/Public/RCTText/RCTShadowText.h diff --git a/ReactKit/Views/RCTText.h b/Examples/Movies/Pods/Headers/Public/RCTText/RCTText.h similarity index 100% rename from ReactKit/Views/RCTText.h rename to Examples/Movies/Pods/Headers/Public/RCTText/RCTText.h diff --git a/ReactKit/Views/RCTTextManager.h b/Examples/Movies/Pods/Headers/Public/RCTText/RCTTextManager.h similarity index 100% rename from ReactKit/Views/RCTTextManager.h rename to Examples/Movies/Pods/Headers/Public/RCTText/RCTTextManager.h diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/Layout.h b/Examples/Movies/Pods/Headers/Public/ReactKit/Layout.h new file mode 100644 index 000000000..51f72493b --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/Layout.h @@ -0,0 +1,148 @@ +/** + * @generated SignedSource<<58298c7a8815a8675e970b0347dedfed>> + * + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + * !! This file is a check-in from github! !! + * !! !! + * !! You should not modify this file directly. Instead: !! + * !! 1) Go to https://github.com/facebook/css-layout !! + * !! 2) Make a pull request and get it merged !! + * !! 3) Execute ./import.sh to pull in the latest version !! + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + * + * Copyright (c) 2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +#ifndef __LAYOUT_H +#define __LAYOUT_H + +#include +#include +#define CSS_UNDEFINED NAN + +typedef enum { + CSS_FLEX_DIRECTION_COLUMN = 0, + CSS_FLEX_DIRECTION_ROW +} css_flex_direction_t; + +typedef enum { + CSS_JUSTIFY_FLEX_START = 0, + CSS_JUSTIFY_CENTER, + CSS_JUSTIFY_FLEX_END, + CSS_JUSTIFY_SPACE_BETWEEN, + CSS_JUSTIFY_SPACE_AROUND +} css_justify_t; + +// Note: auto is only a valid value for alignSelf. It is NOT a valid value for +// alignItems. +typedef enum { + CSS_ALIGN_AUTO = 0, + CSS_ALIGN_FLEX_START, + CSS_ALIGN_CENTER, + CSS_ALIGN_FLEX_END, + CSS_ALIGN_STRETCH +} css_align_t; + +typedef enum { + CSS_POSITION_RELATIVE = 0, + CSS_POSITION_ABSOLUTE +} css_position_type_t; + +typedef enum { + CSS_NOWRAP = 0, + CSS_WRAP +} css_wrap_type_t; + +// Note: left and top are shared between position[2] and position[4], so +// they have to be before right and bottom. +typedef enum { + CSS_LEFT = 0, + CSS_TOP, + CSS_RIGHT, + CSS_BOTTOM, + CSS_POSITION_COUNT +} css_position_t; + +typedef enum { + CSS_WIDTH = 0, + CSS_HEIGHT +} css_dimension_t; + +typedef struct { + float position[2]; + float dimensions[2]; + + // Instead of recomputing the entire layout every single time, we + // cache some information to break early when nothing changed + bool should_update; + float last_requested_dimensions[2]; + float last_parent_max_width; + float last_dimensions[2]; + float last_position[2]; +} css_layout_t; + +typedef struct { + float dimensions[2]; +} css_dim_t; + +typedef struct { + css_flex_direction_t flex_direction; + css_justify_t justify_content; + css_align_t align_items; + css_align_t align_self; + css_position_type_t position_type; + css_wrap_type_t flex_wrap; + float flex; + float margin[4]; + float position[4]; + /** + * You should skip all the rules that contain negative values for the + * following attributes. For example: + * {padding: 10, paddingLeft: -5} + * should output: + * {left: 10 ...} + * the following two are incorrect: + * {left: -5 ...} + * {left: 0 ...} + */ + float padding[4]; + float border[4]; + float dimensions[2]; +} css_style_t; + +typedef struct css_node { + css_style_t style; + css_layout_t layout; + int children_count; + + css_dim_t (*measure)(void *context, float width); + void (*print)(void *context); + struct css_node* (*get_child)(void *context, int i); + bool (*is_dirty)(void *context); + void *context; +} css_node_t; + + +// Lifecycle of nodes and children +css_node_t *new_css_node(void); +void init_css_node(css_node_t *node); +void free_css_node(css_node_t *node); + +// Print utilities +typedef enum { + CSS_PRINT_LAYOUT = 1, + CSS_PRINT_STYLE = 2, + CSS_PRINT_CHILDREN = 4, +} css_print_options_t; +void print_css_node(css_node_t *node, css_print_options_t options); + +// Function that computes the layout! +void layoutNode(css_node_t *node, float maxWidth); +bool isUndefined(float value); + +#endif diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTAlertManager.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTAlertManager.h new file mode 100644 index 000000000..e24e0bc95 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTAlertManager.h @@ -0,0 +1,9 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTBridgeModule.h" + +@interface RCTAlertManager : NSObject + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTAnimationType.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTAnimationType.h new file mode 100644 index 000000000..dae90b845 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTAnimationType.h @@ -0,0 +1,11 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +typedef NS_ENUM(NSInteger, RCTAnimationType) { + RCTAnimationTypeSpring = 0, + RCTAnimationTypeLinear, + RCTAnimationTypeEaseIn, + RCTAnimationTypeEaseOut, + RCTAnimationTypeEaseInEaseOut, +}; diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTAssert.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTAssert.h new file mode 100644 index 000000000..66f670430 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTAssert.h @@ -0,0 +1,36 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#define RCTErrorDomain @"RCTErrorDomain" + +#define RCTAssert(condition, message, ...) _RCTAssert(condition, message, ##__VA_ARGS__) +#define RCTCAssert(condition, message, ...) _RCTCAssert(condition, message, ##__VA_ARGS__) + +typedef void (^RCTAssertFunction)(BOOL condition, NSString *message, ...); + +extern RCTAssertFunction RCTInjectedAssertFunction; +extern RCTAssertFunction RCTInjectedCAssertFunction; + +void RCTInjectAssertFunctions(RCTAssertFunction assertFunction, RCTAssertFunction cAssertFunction); + +#define _RCTAssert(condition, message, ...) \ +do { \ + if (RCTInjectedAssertFunction) { \ + RCTInjectedAssertFunction(condition, message, ##__VA_ARGS__); \ + } else { \ + NSAssert(condition, message, ##__VA_ARGS__); \ + } \ +} while (false) + +#define _RCTCAssert(condition, message, ...) \ +do { \ + if (RCTInjectedCAssertFunction) { \ + RCTInjectedCAssertFunction(condition, message, ##__VA_ARGS__); \ + } else { \ + NSCAssert(condition, message, ##__VA_ARGS__); \ + } \ +} while (false) + +#define RCTAssertMainThread() RCTAssert([NSThread isMainThread], @"This method must be called on the main thread"); +#define RCTCAssertMainThread() RCTCAssert([NSThread isMainThread], @"This function must be called on the main thread"); diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTAutoInsetsProtocol.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTAutoInsetsProtocol.h new file mode 100644 index 000000000..4f1cd4ba2 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTAutoInsetsProtocol.h @@ -0,0 +1,13 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +/** + * Defines a View that wants to support auto insets adjustment + */ +@protocol RCTAutoInsetsProtocol + +@property (nonatomic, assign, readwrite) UIEdgeInsets contentInset; +@property (nonatomic, assign, readwrite) BOOL automaticallyAdjustContentInsets; + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTBridge.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTBridge.h new file mode 100644 index 000000000..9a890a07a --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTBridge.h @@ -0,0 +1,107 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTBridgeModule.h" +#import "RCTInvalidating.h" +#import "RCTJavaScriptExecutor.h" + +@class RCTBridge; +@class RCTEventDispatcher; +@class RCTRootView; + +/** + * Utilities for constructing common response objects. When sending a + * systemError back to JS, it's important to describe whether or not it was a + * system error, or API usage error. System errors should never happen and are + * therefore logged using `RCTLogError()`. API usage errors are expected if the + * API is misused and will therefore not be logged using `RCTLogError()`. The JS + * application code is expected to handle them. Regardless of type, each error + * should be logged at most once. + */ +static inline NSDictionary *RCTSystemErrorObject(NSString *msg) +{ + return @{@"systemError": msg ?: @""}; +} + +static inline NSDictionary *RCTAPIErrorObject(NSString *msg) +{ + return @{@"apiError": msg ?: @""}; +} + +/** + * This block can be used to instantiate modules that require additional + * init parameters, or additional configuration prior to being used. + */ +typedef NSArray *(^RCTBridgeModuleProviderBlock)(RCTBridge *bridge); + +/** + * Async batched bridge used to communicate with the JavaScript application. + */ +@interface RCTBridge : NSObject + +/** + * The designated initializer. This creates a new bridge on top of the specified + * executor. The bridge should then be used for all subsequent communication + * with the JavaScript code running in the executor. Modules will be automatically + * instantiated using the default contructor, but you can optionally pass in a + * module provider block to manually instantiate modules that require additional + * init parameters or configuration. + */ +- (instancetype)initWithJavaScriptExecutor:(id)javaScriptExecutor + moduleProvider:(RCTBridgeModuleProviderBlock)block NS_DESIGNATED_INITIALIZER; + +/** + * This method is used to call functions in the JavaScript application context. + * It is primarily intended for use by modules that require two-way communication + * with the JavaScript code. + */ +- (void)enqueueJSCall:(NSString *)moduleDotMethod args:(NSArray *)args; + +/** + * This method is used to execute a new application script. It is called + * internally whenever a JS application bundle is loaded/reloaded, but should + * probably not be used at any other time. + */ +- (void)enqueueApplicationScript:(NSString *)script url:(NSURL *)url onComplete:(RCTJavaScriptCompleteBlock)onComplete; + +/** + * The event dispatcher is a wrapper around -enqueueJSCall:args: that provides a + * higher-level interface for sending UI events such as touches and text input. + */ +@property (nonatomic, readonly) RCTEventDispatcher *eventDispatcher; + +/** + * A dictionary of all registered RCTBridgeModule instances, keyed by moduleName. + */ +@property (nonatomic, copy, readonly) NSDictionary *modules; + +/** + * The shadow queue is used to execute callbacks from the JavaScript code. All + * native hooks (e.g. exported module methods) will be executed on the shadow + * queue. + */ +@property (nonatomic, readonly) dispatch_queue_t shadowQueue; + +// For use in implementing delegates, which may need to queue responses. +- (RCTResponseSenderBlock)createResponseSenderBlock:(NSInteger)callbackID; + +/** + * Register a root view with the bridge. Theorectically, a single bridge can + * support multiple root views, however this feature is not currently exposed + * and may eventually be removed. + */ +- (void)registerRootView:(RCTRootView *)rootView; + +/** + * Global logging function that will print to both xcode and JS debugger consoles. + * + * NOTE: Use via RCTLog* macros defined in RCTLog.h + * TODO (#5906496): should log function be exposed here, or could it be a module? + */ ++ (void)log:(NSArray *)objects level:(NSString *)level; + +/** + * Method to check that a valid executor exists with which to log + */ ++ (BOOL)hasValidJSExecutor; + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTBridgeModule.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTBridgeModule.h new file mode 100644 index 000000000..d9df70a22 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTBridgeModule.h @@ -0,0 +1,64 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTJSMethodRegistrar.h" + +@class RCTBridge; + +/** + * The type of a block that is capable of sending a response to a bridged + * operation. Use this for returning callback methods to JS. + */ +typedef void (^RCTResponseSenderBlock)(NSArray *response); + +/** + * Provides the interface needed to register a bridge module. + */ +@protocol RCTBridgeModule +@optional + +/** + * Optional initializer for modules that require access + * to bridge features, such as sending events or making JS calls + */ +- (instancetype)initWithBridge:(RCTBridge *)bridge; + +/** + * The module name exposed to JS. If omitted, this will be inferred + * automatically by using the native module's class name. + */ ++ (NSString *)moduleName; + +/** + * Place this macro inside the method body of any method you want to expose + * to JS. The optional js_name argument will be used as the JS method name + * (the method will be namespaced to the module name, as specified above). + * If omitted, the JS method name will match the first part of the Objective-C + * method selector name (up to the first colon). + */ +#define RCT_EXPORT(js_name) __attribute__((used, section("__DATA,RCTExport" \ +))) static const char *__rct_export_entry__[] = { __func__, #js_name } + +/** + * Injects constants into JS. These constants are made accessible via + * NativeModules.moduleName.X. Note that this method is not inherited when you + * subclass a module, and you should not call [super constantsToExport] when + * implementing it. + */ ++ (NSDictionary *)constantsToExport; + +/** + * Some "constants" are not really constant, and need to be re-generated + * each time the bridge module is created. Support for this feature is + * deprecated and may be going away or changing, but for now you can use + * the -constantsToExport instance method to register these "pseudo-constants". + */ +- (NSDictionary *)constantsToExport; + +/** + * Notifies the module that a batch of JS method invocations has just completed. + */ +- (void)batchDidComplete; + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTCache.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTCache.h new file mode 100644 index 000000000..75943ae4f --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTCache.h @@ -0,0 +1,22 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@interface RCTCache : NSObject + +- (instancetype)init; // name = @"default" +- (instancetype)initWithName:(NSString *)name; + +@property (nonatomic, assign) NSUInteger maximumDiskSize; // in bytes + +#pragma mark - Retrieval + +- (BOOL)hasDataForKey:(NSString *)key; +- (void)fetchDataForKey:(NSString *)key completionHandler:(void (^)(NSData *data))completionHandler; + +#pragma mark - Insertion + +- (void)setData:(NSData *)data forKey:(NSString *)key; +- (void)removeAllData; + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTContextExecutor.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTContextExecutor.h new file mode 100644 index 000000000..638ad8ba6 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTContextExecutor.h @@ -0,0 +1,21 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTJavaScriptExecutor.h" + +// TODO (#5906496): Might RCTJSCoreExecutor be a better name for this? + +/** + * Uses a JavaScriptCore context as the execution engine. + */ +@interface RCTContextExecutor : NSObject + +/** + * Configures the executor to run JavaScript on a custom performer. + * You probably don't want to use this; use -init instead. + */ +- (instancetype)initWithJavaScriptThread:(NSThread *)javaScriptThread + globalContextRef:(JSGlobalContextRef)context; + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTConvert.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTConvert.h new file mode 100644 index 000000000..51a6b76ce --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTConvert.h @@ -0,0 +1,85 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import +#import + +#import "Layout.h" +#import "RCTPointerEvents.h" +#import "RCTAnimationType.h" + +/** + * This class provides a collection of conversion functions for mapping + * JSON objects to native types and classes. These are useful when writing + * custom RCTViewManager setter methods. + */ +@interface RCTConvert : NSObject + ++ (BOOL)BOOL:(id)json; ++ (double)double:(id)json; ++ (float)float:(id)json; ++ (int)int:(id)json; + ++ (NSString *)NSString:(id)json; ++ (NSNumber *)NSNumber:(id)json; ++ (NSInteger)NSInteger:(id)json; ++ (NSUInteger)NSUInteger:(id)json; + ++ (NSURL *)NSURL:(id)json; ++ (NSURLRequest *)NSURLRequest:(id)json; + ++ (NSDate *)NSDate:(id)json; ++ (NSTimeZone *)NSTimeZone:(id)json; ++ (NSTimeInterval)NSTimeInterval:(id)json; + ++ (NSTextAlignment)NSTextAlignment:(id)json; ++ (NSWritingDirection)NSWritingDirection:(id)json; ++ (UITextAutocapitalizationType)UITextAutocapitalizationType:(id)json; ++ (UIKeyboardType)UIKeyboardType:(id)json; + ++ (CGFloat)CGFloat:(id)json; ++ (CGPoint)CGPoint:(id)json; ++ (CGSize)CGSize:(id)json; ++ (CGRect)CGRect:(id)json; ++ (UIEdgeInsets)UIEdgeInsets:(id)json; + ++ (CATransform3D)CATransform3D:(id)json; ++ (CGAffineTransform)CGAffineTransform:(id)json; + ++ (UIColor *)UIColor:(id)json; ++ (CGColorRef)CGColor:(id)json; + ++ (CAKeyframeAnimation *)GIF:(id)json; ++ (UIImage *)UIImage:(id)json; ++ (CGImageRef)CGImage:(id)json; + ++ (UIFont *)UIFont:(UIFont *)font withSize:(id)json; ++ (UIFont *)UIFont:(UIFont *)font withWeight:(id)json; ++ (UIFont *)UIFont:(UIFont *)font withFamily:(id)json; ++ (UIFont *)UIFont:(UIFont *)font withFamily:(id)json size:(id)json weight:(id)json; + ++ (BOOL)css_overflow:(id)json; ++ (css_flex_direction_t)css_flex_direction_t:(id)json; ++ (css_justify_t)css_justify_t:(id)json; ++ (css_align_t)css_align_t:(id)json; ++ (css_position_type_t)css_position_type_t:(id)json; ++ (css_wrap_type_t)css_wrap_type_t:(id)json; + ++ (RCTPointerEvents)RCTPointerEvents:(id)json; ++ (RCTAnimationType)RCTAnimationType:(id)json; + +@end + +/** + * This function will attempt to set a property using a json value by first + * inferring the correct type from all available information, and then + * applying an appropriate conversion method. If the property does not + * exist, or the type cannot be inferred, the function will return NO. + */ +BOOL RCTSetProperty(id target, NSString *keypath, id json); + +/** + * This function attempts to copy a property from the source object to the + * destination object using KVC. If the property does not exist, or cannot + * be set, it will do nothing and return NO. + */ +BOOL RCTCopyProperty(id target, id source, NSString *keypath); diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTEventDispatcher.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTEventDispatcher.h new file mode 100644 index 000000000..5c97c8de6 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTEventDispatcher.h @@ -0,0 +1,66 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@class RCTBridge; + +typedef NS_ENUM(NSInteger, RCTTextEventType) { + RCTTextEventTypeFocus, + RCTTextEventTypeBlur, + RCTTextEventTypeChange, + RCTTextEventTypeSubmit, + RCTTextEventTypeEnd +}; + +typedef NS_ENUM(NSInteger, RCTScrollEventType) { + RCTScrollEventTypeStart, + RCTScrollEventTypeMove, + RCTScrollEventTypeEnd, + RCTScrollEventTypeStartDeceleration, + RCTScrollEventTypeEndDeceleration, + RCTScrollEventTypeEndAnimation, +}; + +/** + * This class wraps the -[RCTBridge enqueueJSCall:args:] method, and + * provides some convenience methods for generating event calls. + */ +@interface RCTEventDispatcher : NSObject + +- (instancetype)initWithBridge:(RCTBridge *)bridge; + +/** + * Send an application-specific event that does not relate to a specific + * view, e.g. a navigation or data update notification. + */ +- (void)sendAppEventWithName:(NSString *)name body:(id)body; + +/** + * Send a device or iOS event that does not relate to a specific view, + * e.g.rotation, location, keyboard show/hide, background/awake, etc. + */ +- (void)sendDeviceEventWithName:(NSString *)name body:(id)body; + +/** + * Send a user input event. The body dictionary must contain a "target" + * parameter, representing the react tag of the view sending the event + */ +- (void)sendInputEventWithName:(NSString *)name body:(NSDictionary *)body; + +/** + * Send a text input/focus event. + */ +- (void)sendTextEventWithType:(RCTTextEventType)type + reactTag:(NSNumber *)reactTag + text:(NSString *)text; + +/** + * Send a scroll event. + * (You can send a fake scroll event by passing nil for scrollView). + */ +- (void)sendScrollEventWithType:(RCTScrollEventType)type + reactTag:(NSNumber *)reactTag + scrollView:(UIScrollView *)scrollView + userData:(NSDictionary *)userData; + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTExceptionsManager.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTExceptionsManager.h new file mode 100644 index 000000000..02ea33202 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTExceptionsManager.h @@ -0,0 +1,9 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTBridgeModule.h" + +@interface RCTExceptionsManager : NSObject + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTInvalidating.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTInvalidating.h new file mode 100644 index 000000000..e810519fd --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTInvalidating.h @@ -0,0 +1,16 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +// TODO (#5906496): is there a reason for this protocol? It seems to be +// used in a number of places where it isn't really required - only the +// RCTBridge actually ever calls casts to it - in all other +// cases it is simply a way of adding some method definitions to classes + +@protocol RCTInvalidating + +@property (nonatomic, assign, readonly, getter = isValid) BOOL valid; + +- (void)invalidate; + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTJSMethodRegistrar.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTJSMethodRegistrar.h new file mode 100644 index 000000000..20a35a96b --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTJSMethodRegistrar.h @@ -0,0 +1,24 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@class RCTBridge; + +/** + * Provides an interface to register JS methods to be called via the bridge. + */ +@protocol RCTJSMethodRegistrar +@optional + +/** + * An array of JavaScript methods that the class will call via the + * -[RCTBridge enqueueJSCall:args:] method. Each method should be specified + * as a string of the form "JSModuleName.jsMethodName". Attempting to call a + * method that has not been registered will result in an error. If a method + * has already been registered by another class, it is not necessary to + * register it again, but it is good practice. Registering the same method + * more than once is silently ignored and will not result in an error. + */ ++ (NSArray *)JSMethods; + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTJavaScriptExecutor.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTJavaScriptExecutor.h new file mode 100644 index 000000000..7062570a4 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTJavaScriptExecutor.h @@ -0,0 +1,35 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTInvalidating.h" + +typedef void (^RCTJavaScriptCompleteBlock)(NSError *error); +typedef void (^RCTJavaScriptCallback)(id objcValue, NSError *error); + +/** + * Abstracts away a JavaScript execution context - we may be running code in a + * web view (for debugging purposes), or may be running code in a `JSContext`. + */ +@protocol RCTJavaScriptExecutor + +/** + * Executes given method with arguments on JS thread and calls the given callback + * with JSValue and JSContext as a result of the JS module call. + */ +- (void)executeJSCall:(NSString *)name + method:(NSString *)method + arguments:(NSArray *)arguments + callback:(RCTJavaScriptCallback)onComplete; + +/** + * Runs an application script, and notifies of the script load being complete via `onComplete`. + */ +- (void)executeApplicationScript:(NSString *)script + sourceURL:(NSURL *)url + onComplete:(RCTJavaScriptCompleteBlock)onComplete; + +- (void)injectJSONText:(NSString *)script + asGlobalObjectNamed:(NSString *)objectName + callback:(RCTJavaScriptCompleteBlock)onComplete; +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTKeyCommands.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTKeyCommands.h new file mode 100644 index 000000000..f6748826e --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTKeyCommands.h @@ -0,0 +1,28 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@interface RCTKeyCommands : NSObject + ++ (instancetype)sharedInstance; + +/** + * Register a keyboard command. + */ +- (void)registerKeyCommandWithInput:(NSString *)input + modifierFlags:(UIKeyModifierFlags)flags + action:(void (^)(UIKeyCommand *command))block; + +/** + * Unregister a keyboard command. + */ +- (void)unregisterKeyCommandWithInput:(NSString *)input + modifierFlags:(UIKeyModifierFlags)flags; + +/** + * Check if a command is registered. + */ +- (BOOL)isKeyCommandRegisteredForInput:(NSString *)input + modifierFlags:(UIKeyModifierFlags)flags; + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTLog.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTLog.h new file mode 100644 index 000000000..a97d13458 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTLog.h @@ -0,0 +1,69 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTAssert.h" +#import "RCTRedBox.h" + +#define RCTLOG_INFO 1 +#define RCTLOG_WARN 2 +#define RCTLOG_ERROR 3 +#define RCTLOG_MUSTFIX 4 + +// If set to e.g. `RCTLOG_ERROR`, will assert after logging the first error. +#if DEBUG +#define RCTLOG_FATAL_LEVEL RCTLOG_MUSTFIX +#define RCTLOG_REDBOX_LEVEL RCTLOG_ERROR +#else +#define RCTLOG_FATAL_LEVEL (RCTLOG_MUSTFIX + 1) +#define RCTLOG_REDBOX_LEVEL (RCTLOG_MUSTFIX + 1) +#endif + +// If defined, only log messages that match this regex will fatal +#define RCTLOG_FATAL_REGEX nil + +#define _RCTLog(__RCTLog__level, ...) do { \ + NSString *__RCTLog__levelStr; \ + switch(__RCTLog__level) { \ + case RCTLOG_INFO: __RCTLog__levelStr = @"info"; break; \ + case RCTLOG_WARN: __RCTLog__levelStr = @"warn"; break; \ + case RCTLOG_ERROR: __RCTLog__levelStr = @"error"; break; \ + case RCTLOG_MUSTFIX: __RCTLog__levelStr = @"mustfix"; break; \ + } \ + NSString *__RCTLog__msg = _RCTLogObjects(RCTLogFormat(__VA_ARGS__), __RCTLog__levelStr); \ + if (__RCTLog__level >= RCTLOG_FATAL_LEVEL) { \ + BOOL __RCTLog__fail = YES; \ + if (RCTLOG_FATAL_REGEX) { \ + NSError *__RCTLog__e; \ + NSRegularExpression *__RCTLog__regex = [NSRegularExpression regularExpressionWithPattern:RCTLOG_FATAL_REGEX options:0 error:&__RCTLog__e]; \ + __RCTLog__fail = [__RCTLog__regex numberOfMatchesInString:__RCTLog__msg options:0 range:NSMakeRange(0, [__RCTLog__msg length])] > 0; \ + } \ + RCTCAssert(!__RCTLog__fail, @"RCTLOG_FATAL_LEVEL %@: %@", __RCTLog__levelStr, __RCTLog__msg); \ + } \ + if (__RCTLog__level >= RCTLOG_REDBOX_LEVEL) { \ + RCTRedBox *__RCTLog__redBox = [RCTRedBox sharedInstance]; \ + [__RCTLog__redBox showErrorMessage:__RCTLog__msg]; \ + } \ +} while (0) + +#define RCTLog(...) _RCTLog(RCTLOG_INFO, __VA_ARGS__) +#define RCTLogInfo(...) _RCTLog(RCTLOG_INFO, __VA_ARGS__) +#define RCTLogWarn(...) _RCTLog(RCTLOG_WARN, __VA_ARGS__) +#define RCTLogError(...) _RCTLog(RCTLOG_ERROR, __VA_ARGS__) +#define RCTLogMustFix(...) _RCTLog(RCTLOG_MUSTFIX, __VA_ARGS__) + +#define RCTLogFormat(...) _RCTLogFormat(__FILE__, __LINE__, __PRETTY_FUNCTION__, __VA_ARGS__) +#define RCTLogFormatString(...) _RCTLogFormatString(__FILE__, __LINE__, __PRETTY_FUNCTION__, __VA_ARGS__) + +#ifdef __cplusplus +extern "C" { +#endif + +NSString *_RCTLogObjects(NSArray *objects, NSString *level); +NSArray *_RCTLogFormat(const char *file, int lineNumber, const char *funcName, NSString *format, ...) NS_FORMAT_FUNCTION(4,5); +NSString *_RCTLogFormatString(const char *file, int lineNumber, const char *funcName, NSString *format, ...) NS_FORMAT_FUNCTION(4,5); + +#ifdef __cplusplus +} +#endif + +typedef void (^RCTLogFunction)(NSString *format, NSString *str); +void RCTInjectLogFunction(RCTLogFunction func); diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTNavItem.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTNavItem.h new file mode 100644 index 000000000..68f12fd45 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTNavItem.h @@ -0,0 +1,14 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@interface RCTNavItem : UIView + +@property (nonatomic, copy) NSString *title; +@property (nonatomic, copy) NSString *rightButtonTitle; +@property (nonatomic, copy) NSString *backButtonTitle; +@property (nonatomic, copy) UIColor *tintColor; +@property (nonatomic, copy) UIColor *barTintColor; +@property (nonatomic, copy) UIColor *titleTextColor; + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTNavItemManager.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTNavItemManager.h new file mode 100644 index 000000000..3c2a32105 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTNavItemManager.h @@ -0,0 +1,8 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTViewManager.h" + +@interface RCTNavItemManager : RCTViewManager + +@end + diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTNavigator.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTNavigator.h new file mode 100644 index 000000000..5d928efa7 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTNavigator.h @@ -0,0 +1,26 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTInvalidating.h" + +@class RCTEventDispatcher; + +@interface RCTNavigator : UIView + +@property (nonatomic, strong) UIView *reactNavSuperviewLink; +@property (nonatomic, assign) NSInteger requestedTopOfStack; + +- (instancetype)initWithEventDispatcher:(RCTEventDispatcher *)eventDispatcher; + +/** + * Schedules a JavaScript navigation and prevents `UIKit` from navigating until + * JavaScript has sent its scheduled navigation. + * + * @returns Whether or not a JavaScript driven navigation could be + * scheduled/reserved. If returning `NO`, JavaScript should usually just do + * nothing at all. + */ +- (BOOL)requestSchedulingJavaScriptNavigation; + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTNavigatorManager.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTNavigatorManager.h new file mode 100644 index 000000000..d32d21096 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTNavigatorManager.h @@ -0,0 +1,8 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTViewManager.h" + +@interface RCTNavigatorManager : RCTViewManager + +@end + diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTPointerEvents.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTPointerEvents.h new file mode 100644 index 000000000..522bcce4c --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTPointerEvents.h @@ -0,0 +1,10 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +typedef NS_ENUM(NSInteger, RCTPointerEvents) { + RCTPointerEventsUnspecified = 0, // Default + RCTPointerEventsNone, + RCTPointerEventsBoxNone, + RCTPointerEventsBoxOnly, +}; diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTRedBox.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTRedBox.h new file mode 100644 index 000000000..82137eb06 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTRedBox.h @@ -0,0 +1,16 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@interface RCTRedBox : NSObject + ++ (instancetype)sharedInstance; + +- (void)showErrorMessage:(NSString *)message; +- (void)showErrorMessage:(NSString *)message withDetails:(NSString *)details; +- (void)showErrorMessage:(NSString *)message withStack:(NSArray *)stack; +- (void)updateErrorMessage:(NSString *)message withStack:(NSArray *)stack; + +- (void)dismiss; + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTRootView.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTRootView.h new file mode 100644 index 000000000..240c000c3 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTRootView.h @@ -0,0 +1,44 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@interface RCTRootView : UIView + +/** + * The URL of the bundled application script (required). + * Setting this will clear the view contents, and trigger + * an asynchronous load/download and execution of the script. + */ +@property (nonatomic, strong) NSURL *scriptURL; + +/** + * The name of the JavaScript module to execute within the + * specified scriptURL (required). Setting this will not have + * any immediate effect, but it must be done prior to loading + * the script. + */ +@property (nonatomic, copy) NSString *moduleName; + +/** + * The default properties to apply to the view when the script bundle + * is first loaded. Defaults to nil/empty. + */ +@property (nonatomic, copy) NSDictionary *initialProperties; + +/** + * The class of the RCTJavaScriptExecutor to use with this view. + * If not specified, it will default to using RCTContextExecutor. + * Changes will take effect next time the bundle is reloaded. + */ +@property (nonatomic, strong) Class executorClass; + +/** + * Reload this root view, or all root views, respectively. + */ +- (void)reload; ++ (void)reloadAll; + +- (void)startOrResetInteractionTiming; +- (NSDictionary *)endAndResetInteractionTiming; + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTScrollView.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTScrollView.h new file mode 100644 index 000000000..82667b205 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTScrollView.h @@ -0,0 +1,37 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTAutoInsetsProtocol.h" +#import "RCTScrollableProtocol.h" +#import "RCTView.h" + +@protocol UIScrollViewDelegate; + +@class RCTEventDispatcher; + +@interface RCTScrollView : RCTView + +/** + * If the `contentSize` is not provided, then the `contentSize` will + * automatically be determined by the size of the `RKScrollView` subview. + * + * The `RCTScrollView` may have at most one single subview. This will ensure + * that the scroll view's `contentSize` will be efficiently set to the size of + * the single subview's frame. That frame size will be determined somewhat + * efficiently since it will have already been computed by the off-main-thread + * layout system. + */ +@property (nonatomic, readonly) UIScrollView *scrollView; +@property (nonatomic, readonly) UIView *contentView; + +@property (nonatomic, assign) CGSize contentSize; +@property (nonatomic, assign) UIEdgeInsets contentInset; +@property (nonatomic, assign) BOOL automaticallyAdjustContentInsets; +@property (nonatomic, assign) NSUInteger throttleScrollCallbackMS; +@property (nonatomic, assign) BOOL centerContent; +@property (nonatomic, copy) NSArray *stickyHeaderIndices; + +- (instancetype)initWithEventDispatcher:(RCTEventDispatcher *)eventDispatcher; + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTScrollViewManager.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTScrollViewManager.h new file mode 100644 index 000000000..835e1c322 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTScrollViewManager.h @@ -0,0 +1,8 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTViewManager.h" + +@interface RCTScrollViewManager : RCTViewManager + +@end + diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTScrollableProtocol.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTScrollableProtocol.h new file mode 100644 index 000000000..a0ae7b611 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTScrollableProtocol.h @@ -0,0 +1,18 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +/** + * Contains any methods related to scrolling. Any `RCTView` that has scrolling + * features should implement these methods. + */ +@protocol RCTScrollableProtocol + +@property (nonatomic, readwrite, weak) NSObject *nativeMainScrollDelegate; +@property (nonatomic, readonly) CGSize contentSize; + +- (void)scrollToOffset:(CGPoint)offset; +- (void)scrollToOffset:(CGPoint)offset animated:(BOOL)animated; +- (void)zoomToRect:(CGRect)rect animated:(BOOL)animated; + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTShadowView.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTShadowView.h new file mode 100644 index 000000000..ec2b8c353 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTShadowView.h @@ -0,0 +1,159 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "Layout.h" +#import "RCTViewNodeProtocol.h" + +@class RCTSparseArray; + +// TODO: amalgamate these enums? +typedef NS_ENUM(NSUInteger, RCTLayoutLifecycle) { + RCTLayoutLifecycleUninitialized = 0, + RCTLayoutLifecycleComputed, + RCTLayoutLifecycleDirtied, +}; + +// TODO: is this still needed? +typedef NS_ENUM(NSUInteger, RCTPropagationLifecycle) { + RCTPropagationLifecycleUninitialized = 0, + RCTPropagationLifecycleComputed, + RCTPropagationLifecycleDirtied, +}; + +// TODO: move this to text node? +typedef NS_ENUM(NSUInteger, RCTTextLifecycle) { + RCTTextLifecycleUninitialized = 0, + RCTTextLifecycleComputed, + RCTTextLifecycleDirtied, +}; + +// TODO: is this redundact now? +typedef void (^RCTApplierBlock)(RCTSparseArray *); + +/** + * ShadowView tree mirrors RCT view tree. Every node is highly stateful. + * 1. A node is in one of three lifecycles: uninitialized, computed, dirtied. + * 1. RCTBridge may call any of the padding/margin/width/height/top/left setters. A setter would dirty + * the node and all of its ancestors. + * 2. At the end of each Bridge transaction, we call collectUpdatedFrames:widthConstraint:heightConstraint + * at the root node to recursively lay out the entire hierarchy. + * 3. If a node is "computed" and the constraint passed from above is identical to the constraint used to + * perform the last computation, we skip laying out the subtree entirely. + */ +@interface RCTShadowView : NSObject + +@property (nonatomic, weak, readonly) RCTShadowView *superview; +@property (nonatomic, assign, readonly) css_node_t *cssNode; +@property (nonatomic, copy) NSString *moduleName; +@property (nonatomic, assign) BOOL isBGColorExplicitlySet; // Used to propogate to children +@property (nonatomic, strong) UIColor *backgroundColor; // Used to propogate to children +@property (nonatomic, assign) RCTLayoutLifecycle layoutLifecycle; + +/** + * isNewView - Used to track the first time the view is introduced into the hierarchy. It is initialized YES, then is + * set to NO in RCTUIManager after the layout pass is done and all frames have been extracted to be applied to the + * corresponding UIViews. + */ +@property (nonatomic, assign, getter=isNewView) BOOL newView; + +/** + * Is this the shadowView for an RCTRootView + */ +@property (nonatomic, assign, getter=isReactRootView) BOOL reactRootView; + +/** + * Position and dimensions. + * Defaults to { 0, 0, NAN, NAN }. + */ +@property (nonatomic, assign) CGFloat top; +@property (nonatomic, assign) CGFloat left; +@property (nonatomic, assign) CGFloat width; +@property (nonatomic, assign) CGFloat height; +@property (nonatomic, assign) CGRect frame; + +- (void)setTopLeft:(CGPoint)topLeft; +- (void)setSize:(CGSize)size; + +/** + * Border. Defaults to { 0, 0, 0, 0 }. + */ +@property (nonatomic, assign) CGFloat borderTop; +@property (nonatomic, assign) CGFloat borderLeft; +@property (nonatomic, assign) CGFloat borderWidth; +@property (nonatomic, assign) CGFloat borderHeight; + +- (void)setBorderWidth:(CGFloat)value; + +/** + * Margin. Defaults to { 0, 0, 0, 0 }. + */ +@property (nonatomic, assign) CGFloat marginTop; +@property (nonatomic, assign) CGFloat marginLeft; +@property (nonatomic, assign) CGFloat marginBottom; +@property (nonatomic, assign) CGFloat marginRight; + +- (void)setMargin:(CGFloat)margin; +- (void)setMarginVertical:(CGFloat)margin; +- (void)setMarginHorizontal:(CGFloat)margin; + +/** + * Padding. Defaults to { 0, 0, 0, 0 }. + */ +@property (nonatomic, assign) CGFloat paddingTop; +@property (nonatomic, assign) CGFloat paddingLeft; +@property (nonatomic, assign) CGFloat paddingBottom; +@property (nonatomic, assign) CGFloat paddingRight; + +- (void)setPadding:(CGFloat)padding; +- (void)setPaddingVertical:(CGFloat)padding; +- (void)setPaddingHorizontal:(CGFloat)padding; + +- (UIEdgeInsets)paddingAsInsets; + +/** + * Flexbox properties. All zero/disabled by default + */ +@property (nonatomic, assign) css_flex_direction_t flexDirection; +@property (nonatomic, assign) css_justify_t justifyContent; +@property (nonatomic, assign) css_align_t alignSelf; +@property (nonatomic, assign) css_align_t alignItems; +@property (nonatomic, assign) css_position_type_t positionType; +@property (nonatomic, assign) css_wrap_type_t flexWrap; +@property (nonatomic, assign) CGFloat flex; + +- (void)collectUpdatedProperties:(NSMutableSet *)viewsWithNewProperties parentProperties:(NSDictionary *)parentProperties; +- (void)collectRootUpdatedFrames:(NSMutableSet *)viewsWithNewFrame parentConstraint:(CGSize)parentConstraint; +- (void)fillCSSNode:(css_node_t *)node; + +// The following are implementation details exposed to subclasses. Do not call them directly +- (void)dirtyLayout; +- (BOOL)isLayoutDirty; + +// TODO: is this still needed? +- (void)dirtyPropagation; +- (BOOL)isPropagationDirty; + +// TODO: move this to text node? +- (void)dirtyText; +- (BOOL)isTextDirty; +- (void)setTextComputed; + +/** + * Triggers a recalculation of the shadow view's layout. + */ +- (void)updateShadowViewLayout; + +/** + * Computes the recursive offset, meaning the sum of all descendant offsets - + * this is the sum of all positions inset from parents. This is not merely the + * sum of `top`/`left`s, as this function uses the *actual* positions of + * children, not the style specified positions - it computes this based on the + * resulting layout. It does not yet compensate for native scroll view insets or + * transforms or anchor points. Returns an array containing the `x, y, width, + * height` of the shadow view relative to the ancestor, or `nil` if the `view` + * is not a descendent of `ancestor`. + */ ++ (CGRect)measureLayout:(RCTShadowView *)view relativeTo:(RCTShadowView *)ancestor; + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTSparseArray.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTSparseArray.h new file mode 100644 index 000000000..47ad346f1 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTSparseArray.h @@ -0,0 +1,31 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@interface RCTSparseArray : NSObject + +- (instancetype)initWithCapacity:(NSUInteger)capacity NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithSparseArray:(RCTSparseArray *)sparseArray NS_DESIGNATED_INITIALIZER; + ++ (instancetype)sparseArray; ++ (instancetype)sparseArrayWithCapacity:(NSUInteger)capacity; ++ (instancetype)sparseArrayWithSparseArray:(RCTSparseArray *)sparseArray; + +// Use nil object to remove at idx. +- (void)setObject:(id)obj atIndexedSubscript:(NSUInteger)idx; +- (id)objectAtIndexedSubscript:(NSUInteger)idx; + +// Use nil obj to remove at key. +- (void)setObject:(id)obj forKeyedSubscript:(NSNumber *)key; +- (id)objectForKeyedSubscript:(NSNumber *)key; + +@property (readonly, nonatomic) NSUInteger count; +@property (readonly, nonatomic, copy) NSArray *allIndexes; +@property (readonly, nonatomic, copy) NSArray *allObjects; + +- (void)enumerateObjectsUsingBlock:(void (^)(id obj, NSNumber *idx, BOOL *stop))block; +- (void)enumerateObjectsWithOptions:(NSEnumerationOptions)opts usingBlock:(void (^)(id obj, NSNumber *idx, BOOL *stop))block; + +- (void)removeAllObjects; + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTStaticImage.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTStaticImage.h new file mode 100644 index 000000000..75906be39 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTStaticImage.h @@ -0,0 +1,10 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@interface RCTStaticImage : UIImageView + +@property (nonatomic, assign) UIEdgeInsets capInsets; +@property (nonatomic, assign) UIImageRenderingMode renderingMode; + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTStaticImageManager.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTStaticImageManager.h new file mode 100644 index 000000000..ab89cb96b --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTStaticImageManager.h @@ -0,0 +1,7 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTViewManager.h" + +@interface RCTStaticImageManager : RCTViewManager + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTStatusBarManager.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTStatusBarManager.h new file mode 100644 index 000000000..830393521 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTStatusBarManager.h @@ -0,0 +1,9 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTBridgeModule.h" + +@interface RCTStatusBarManager : NSObject + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTTextField.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTTextField.h new file mode 100644 index 000000000..2a0225f27 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTTextField.h @@ -0,0 +1,15 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@class RCTEventDispatcher; + +@interface RCTTextField : UITextField + +@property (nonatomic, assign) BOOL caretHidden; +@property (nonatomic, assign) BOOL autoCorrect; +@property (nonatomic, assign) UIEdgeInsets paddingEdgeInsets; // TODO: contentInset + +- (instancetype)initWithEventDispatcher:(RCTEventDispatcher *)eventDispatcher; + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTTextFieldManager.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTTextFieldManager.h new file mode 100644 index 000000000..1f83a47d8 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTTextFieldManager.h @@ -0,0 +1,8 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTViewManager.h" + +@interface RCTTextFieldManager : RCTViewManager + +@end + diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTTiming.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTTiming.h new file mode 100644 index 000000000..aa55c2521 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTTiming.h @@ -0,0 +1,10 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTBridgeModule.h" +#import "RCTInvalidating.h" + +@interface RCTTiming : NSObject + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTTouchHandler.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTTouchHandler.h new file mode 100644 index 000000000..53379a78a --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTTouchHandler.h @@ -0,0 +1,15 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTInvalidating.h" + +@class RCTBridge; + +@interface RCTTouchHandler : UIGestureRecognizer + +- (instancetype)initWithBridge:(RCTBridge *)bridge; +- (void)startOrResetInteractionTiming; +- (NSDictionary *)endAndResetInteractionTiming; + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTUIActivityIndicatorViewManager.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTUIActivityIndicatorViewManager.h new file mode 100644 index 000000000..d67661359 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTUIActivityIndicatorViewManager.h @@ -0,0 +1,7 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTViewManager.h" + +@interface RCTUIActivityIndicatorViewManager : RCTViewManager + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTUIManager.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTUIManager.h new file mode 100644 index 000000000..87e91118a --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTUIManager.h @@ -0,0 +1,26 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTBridgeModule.h" +#import "RCTInvalidating.h" + +@class RCTRootView; + +@protocol RCTScrollableProtocol; + +@interface RCTUIManager : NSObject + +@property (nonatomic, weak) id mainScrollView; + +/** + * Allows native environment code to respond to "the main scroll view" events. + * see `RCTUIManager`'s `setMainScrollViewTag`. + */ +@property (nonatomic, readwrite, weak) id nativeMainScrollDelegate; + +- (void)registerRootView:(RCTRootView *)rootView; + ++ (UIView *)JSResponder; + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTUtils.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTUtils.h new file mode 100644 index 000000000..3612b1f27 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTUtils.h @@ -0,0 +1,41 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import +#import +#import + +#import "RCTAssert.h" + +// Macro to indicate when inherited initializer is not to be used +#define RCT_NOT_DESIGNATED_INITIALIZER() \ +do { \ + RCTAssert(NO, @"%@ is not the designated initializer for instances of %@.", NSStringFromSelector(_cmd), [self class]); \ + return nil; \ +} while (0) + +// Utility functions for JSON object <-> string serialization/deserialization +NSString *RCTJSONStringify(id jsonObject, NSError **error); +id RCTJSONParse(NSString *jsonString, NSError **error); + +// Get MD5 hash of a string (TODO: currently unused. Remove?) +NSString *RCTMD5Hash(NSString *string); + +// Get screen metrics in a thread-safe way +CGFloat RCTScreenScale(void); +CGSize RCTScreenSize(void); + +// Round float coordinates to nearest whole screen pixel (not point) +CGFloat RCTRoundPixelValue(CGFloat value); +CGFloat RCTCeilPixelValue(CGFloat value); +CGFloat RCTFloorPixelValue(CGFloat value); + +// Get current time, for precise performance metrics +NSTimeInterval RCTTGetAbsoluteTime(void); + +// Method swizzling +void RCTSwapClassMethods(Class cls, SEL original, SEL replacement); +void RCTSwapInstanceMethods(Class cls, SEL original, SEL replacement); + +// Module subclass support +BOOL RCTClassOverridesClassMethod(Class cls, SEL selector); +BOOL RCTClassOverridesInstanceMethod(Class cls, SEL selector); diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTView.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTView.h new file mode 100644 index 000000000..77dee1df8 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTView.h @@ -0,0 +1,24 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTView.h" + +#import + +#import "RCTPointerEvents.h" + +@protocol RCTAutoInsetsProtocol; + +@interface RCTView : UIView + +@property (nonatomic, assign) RCTPointerEvents pointerEvents; +@property (nonatomic, copy) NSString *overrideAccessibilityLabel; + ++ (void)autoAdjustInsetsForView:(UIView *)parentView + withScrollView:(UIScrollView *)scrollView + updateOffset:(BOOL)updateOffset; + ++ (UIViewController *)backingViewControllerForView:(UIView *)view; + ++ (UIEdgeInsets)contentInsetsForView:(UIView *)curView; + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTViewManager.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTViewManager.h new file mode 100644 index 000000000..e77be09c1 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTViewManager.h @@ -0,0 +1,148 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTConvert.h" +#import "RCTLog.h" + +@class RCTEventDispatcher; +@class RCTShadowView; +@class RCTSparseArray; +@class RCTUIManager; + +typedef void (^RCTViewManagerUIBlock)(RCTUIManager *uiManager, RCTSparseArray *viewRegistry); + +@interface RCTViewManager : NSObject + +/** + * Designated initializer for view modules. Override this when subclassing. + */ +- (instancetype)initWithEventDispatcher:(RCTEventDispatcher *)eventDispatcher NS_DESIGNATED_INITIALIZER; + +/** + * The event dispatcher is used to send events back to the JavaScript application. + * It can either be used directly by the module, or passed on to instantiated + * view subclasses so that they can handle their own events. + */ +@property (nonatomic, readonly, weak) RCTEventDispatcher *eventDispatcher; + +/** + * The module name exposed to React JS. If omitted, this will be inferred + * automatically by using the view module's class name. It is better to not + * override this, and just follow standard naming conventions for your view + * module subclasses. + */ ++ (NSString *)moduleName; + +/** + * This method instantiates a native view to be managed by the module. Override + * this to return a custom view instance, which may be preconfigured with default + * properties, subviews, etc. This method will be called many times, and should + * return a fresh instance each time. The view module MUST NOT cache the returned + * view and return the same instance for subsequent calls. + */ +- (UIView *)view; + +/** + * This method instantiates a shadow view to be managed by the module. If omitted, + * an ordinary RCTShadowView instance will be created, which is typically fine for + * most view types. As with the -view method, the -shadowView method should return + * a fresh instance each time it is called. + */ +- (RCTShadowView *)shadowView; + +/** + * Returns a dictionary of config data passed to JS that defines eligible events + * that can be placed on native views. This should return bubbling + * directly-dispatched event types and specify what names should be used to + * subscribe to either form (bubbling/capturing). + * + * Returned dictionary should be of the form: @{ + * @"onTwirl": { + * @"phasedRegistrationNames": @{ + * @"bubbled": @"onTwirl", + * @"captured": @"onTwirlCaptured" + * } + * } + * } + * + * Note that this method is not inherited when you subclass a view module, and + * you should not call [super customBubblingEventTypes] when overriding it. + */ ++ (NSDictionary *)customBubblingEventTypes; + +/** + * Returns a dictionary of config data passed to JS that defines eligible events + * that can be placed on native views. This should return non-bubbling + * directly-dispatched event types. + * + * Returned dictionary should be of the form: @{ + * @"onTwirl": { + * @"registrationName": @"onTwirl" + * } + * } + * + * Note that this method is not inherited when you subclass a view module, and + * you should not call [super customDirectEventTypes] when overriding it. + */ ++ (NSDictionary *)customDirectEventTypes; + +/** + * Injects constants into JS. These constants are made accessible via + * NativeModules.moduleName.X. Note that this method is not inherited when you + * subclass a view module, and you should not call [super constantsToExport] + * when overriding it. + */ ++ (NSDictionary *)constantsToExport; + +/** + * To deprecate, hopefully + */ +- (RCTViewManagerUIBlock)uiBlockToAmendWithShadowViewRegistry:(RCTSparseArray *)shadowViewRegistry; + +/** + * Informal protocol for setting view and shadowView properties. + * Implement methods matching these patterns to set any properties that + * require special treatment (e.g. where the type or name cannot be inferred). + * + * - (void)set_:(id)property + * forView:(UIView *)view + * withDefaultView:(UIView *)defaultView; + * + * - (void)set_:(id)property + * forShadowView:(RCTShadowView *)view + * withDefaultView:(RCTShadowView *)defaultView; + * + * For simple cases, use the macros below: + */ + +/** + * This handles the simple case, where JS and native property names match + * And the type can be automatically inferred. + */ +#define RCT_EXPORT_VIEW_PROPERTY(name) \ +RCT_REMAP_VIEW_PROPERTY(name, name) + +/** + * This macro maps a named property on the module to an arbitrary key path + * within the view. + */ +#define RCT_REMAP_VIEW_PROPERTY(name, keypath) \ +- (void)set_##name:(id)json forView:(id)view withDefaultView:(id)defaultView { \ + if ((json && !RCTSetProperty(view, @#keypath, json)) || \ + (!json && !RCTCopyProperty(view, defaultView, @#keypath))) { \ + RCTLogMustFix(@"%@ does not have setter for `%s` property", [view class], #name); \ + } \ +} + +/** + * These are useful in cases where the module's superclass handles a + * property, but you wish to "unhandle" it, so it will be ignored. + */ +#define RCT_IGNORE_VIEW_PROPERTY(name) \ +- (void)set_##name:(id)value forView:(id)view withDefaultView:(id)defaultView {} + +#define RCT_IGNORE_SHADOW_PROPERTY(name) \ +- (void)set_##name:(id)value forShadowView:(id)view withDefaultView:(id)defaultView {} + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTViewNodeProtocol.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTViewNodeProtocol.h new file mode 100644 index 000000000..1fa3e252b --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTViewNodeProtocol.h @@ -0,0 +1,26 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +/** + + * Logical node in a tree of application components. Both `ShadowView`s and + * `UIView+ReactKit`s conform to this. Allows us to write utilities that + * reason about trees generally. + */ +@protocol RCTViewNodeProtocol + +@property (nonatomic, strong) NSNumber *reactTag; + +- (void)insertReactSubview:(id)subview atIndex:(NSInteger)atIndex; +- (void)removeReactSubview:(id)subview; +- (NSMutableArray *)reactSubviews; +- (NSNumber *)reactTagAtPoint:(CGPoint)point; + +// View is an RCTRootView +- (BOOL)isReactRootView; + +@optional + +// TODO: Deprecate this +- (void)reactBridgeDidFinishTransaction; + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTWebViewExecutor.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTWebViewExecutor.h new file mode 100644 index 000000000..7f695f3f3 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTWebViewExecutor.h @@ -0,0 +1,35 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTJavaScriptExecutor.h" + +/** + * Uses an embedded web view merely for the purpose of being able to reuse the + * existing webkit debugging tools. Fulfills the role of a very constrained + * `JSContext`, which we call `RCTJavaScriptExecutor`. + * + * TODO: To ensure production-identical execution, scrub the window + * environment. And ensure main thread operations are actually added to a queue + * instead of being executed immediately if already on the main thread. + */ +@interface RCTWebViewExecutor : NSObject + +// Only one callback stored - will only be invoked for the latest issued +// application script request. +@property (nonatomic, copy) RCTJavaScriptCompleteBlock onApplicationScriptLoaded; + +/** + * Instantiate with a specific webview instance + */ +- (instancetype)initWithWebView:(UIWebView *)webView NS_DESIGNATED_INITIALIZER; + +/** + * Invoke this to reclaim the web view for reuse. This is necessary in order to + * allow debuggers to remain open, when creating a new `RCTWebViewExecutor`. + * This guards against the web view being invalidated, and makes sure the + * `delegate` is cleared first. + */ +- (UIWebView *)invalidateAndReclaimWebView; + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/RCTWrapperViewController.h b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTWrapperViewController.h new file mode 100644 index 000000000..d8f22270a --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/RCTWrapperViewController.h @@ -0,0 +1,24 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@class RCTEventDispatcher; +@class RCTNavItem; +@class RCTWrapperViewController; + +@protocol RCTWrapperViewControllerNavigationListener + +- (void)wrapperViewController:(RCTWrapperViewController *)wrapperViewController +didMoveToNavigationController:(UINavigationController *)navigationController; + +@end + +@interface RCTWrapperViewController : UIViewController + +- (instancetype)initWithContentView:(UIView *)contentView eventDispatcher:(RCTEventDispatcher *)eventDispatcher; +- (instancetype)initWithNavItem:(RCTNavItem *)navItem eventDispatcher:(RCTEventDispatcher *)eventDispatcher; + +@property (nonatomic, readwrite, weak) id navigationListener; +@property (nonatomic, strong, readwrite) RCTNavItem *navItem; + +@end diff --git a/Examples/Movies/Pods/Headers/Public/ReactKit/UIView+ReactKit.h b/Examples/Movies/Pods/Headers/Public/ReactKit/UIView+ReactKit.h new file mode 100644 index 000000000..3e45da8e7 --- /dev/null +++ b/Examples/Movies/Pods/Headers/Public/ReactKit/UIView+ReactKit.h @@ -0,0 +1,11 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTViewNodeProtocol.h" + +//TODO: let's try to eliminate this category if possible + +@interface UIView (ReactKit) + +@end diff --git a/Examples/Movies/Pods/Local Podspecs/RCTDataManager.podspec b/Examples/Movies/Pods/Local Podspecs/RCTDataManager.podspec new file mode 100644 index 000000000..84df787b8 --- /dev/null +++ b/Examples/Movies/Pods/Local Podspecs/RCTDataManager.podspec @@ -0,0 +1,28 @@ +Pod::Spec.new do |spec| + spec.name = 'RCTDataManager' + spec.version = '0.0.1' + spec.summary = 'Provides basic networking capabilities in ReactNative apps.' + spec.description = <<-DESC + Use XMLHttpRequest to fetch data over the network. + DESC + spec.homepage = 'https://facebook.github.io/react-native/' + spec.license = { :type => 'BSD' } + spec.author = 'Facebook' + spec.platform = :ios, '7.0' + spec.requires_arc = true + spec.source_files = '**/*.{h,m,c}' + spec.dependency "ReactKit", "~> 0.0.1" + + # ――― Project Linking ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # Link your library with frameworks, or libraries. Libraries do not include + # the lib prefix of their name. + # + + # s.framework = "SomeFramework" + # s.frameworks = "SomeFramework", "AnotherFramework" + + # s.library = "iconv" + #spec.libraries = "RCTDataManager", "ReactKit" + +end diff --git a/Examples/Movies/Pods/Local Podspecs/RCTNetworkImage.podspec b/Examples/Movies/Pods/Local Podspecs/RCTNetworkImage.podspec new file mode 100644 index 000000000..47eb0e5f6 --- /dev/null +++ b/Examples/Movies/Pods/Local Podspecs/RCTNetworkImage.podspec @@ -0,0 +1,28 @@ +Pod::Spec.new do |spec| + spec.name = 'RCTNetworkImage' + spec.version = '0.0.1' + spec.summary = 'Provides basic Text capabilities in ReactNative apps.' + spec.description = <<-DESC + Text can be rendered in ReactNative apps with the component using this module. + DESC + spec.homepage = 'https://facebook.github.io/react-native/' + spec.license = { :type => 'BSD' } + spec.author = 'Facebook' + spec.platform = :ios, '7.0' + spec.requires_arc = true + spec.source_files = '**/*.{h,m,c}' + spec.dependency "ReactKit", "~> 0.0.1" + + # ――― Project Linking ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # Link your library with frameworks, or libraries. Libraries do not include + # the lib prefix of their name. + # + + # s.framework = "SomeFramework" + # s.frameworks = "SomeFramework", "AnotherFramework" + + # s.library = "iconv" + #spec.libraries = "RCTNetworkImage", "ReactKit" + +end diff --git a/Examples/Movies/Pods/Local Podspecs/RCTText.podspec b/Examples/Movies/Pods/Local Podspecs/RCTText.podspec new file mode 100644 index 000000000..656e0ee74 --- /dev/null +++ b/Examples/Movies/Pods/Local Podspecs/RCTText.podspec @@ -0,0 +1,28 @@ +Pod::Spec.new do |spec| + spec.name = 'RCTText' + spec.version = '0.0.1' + spec.summary = 'Provides basic Text capabilities in ReactNative apps.' + spec.description = <<-DESC + Text can be rendered in ReactNative apps with the component using this module. + DESC + spec.homepage = 'https://facebook.github.io/react-native/' + spec.license = { :type => 'BSD' } + spec.author = 'Facebook' + spec.platform = :ios, '7.0' + spec.requires_arc = true + spec.source_files = '**/*.{h,m,c}' + spec.dependency "ReactKit", "~> 0.0.1" + + # ――― Project Linking ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # Link your library with frameworks, or libraries. Libraries do not include + # the lib prefix of their name. + # + + # s.framework = "SomeFramework" + # s.frameworks = "SomeFramework", "AnotherFramework" + + # s.library = "iconv" + #spec.libraries = "RCTText", "ReactKit" + +end diff --git a/Examples/Movies/Pods/Local Podspecs/ReactKit.podspec b/Examples/Movies/Pods/Local Podspecs/ReactKit.podspec new file mode 100644 index 000000000..3e1a8a6e2 --- /dev/null +++ b/Examples/Movies/Pods/Local Podspecs/ReactKit.podspec @@ -0,0 +1,16 @@ +Pod::Spec.new do |spec| + spec.name = 'ReactKit' + spec.version = '0.0.1' + spec.summary = 'An implementation of React that targets UIKit for iOS' + spec.description = <<-DESC + Our first React Native implementation is ReactKit, targeting iOS. We are also working on an Android implementation which we will release later. ReactKit apps are built using the React JS framework, and render directly to native UIKit elements using a fully asynchronous architecture. There is no browser and no HTML. We have picked what we think is the best set of features from these and other technologies to build what we hope to become the best product development framework available, with an emphasis on iteration speed, developer delight, continuity of technology, and absolutely beautiful and fast products with no compromises in quality or capability. + DESC + spec.homepage = 'https://facebook.github.io/react-native/' + spec.license = { :type => 'BSD' } + spec.author = 'Facebook' + spec.platform = :ios, '7.0' + spec.requires_arc = true + spec.source_files = '**/*.{h,m,c}' + spec.public_header_files = "**/*.h" + #spec.library = "ReactKit" +end diff --git a/Examples/Movies/Pods/Manifest.lock b/Examples/Movies/Pods/Manifest.lock new file mode 100644 index 000000000..cc2a8f981 --- /dev/null +++ b/Examples/Movies/Pods/Manifest.lock @@ -0,0 +1,32 @@ +PODS: + - RCTDataManager (0.0.1): + - ReactKit (~> 0.0.1) + - RCTNetworkImage (0.0.1): + - ReactKit (~> 0.0.1) + - RCTText (0.0.1): + - ReactKit (~> 0.0.1) + - ReactKit (0.0.1) + +DEPENDENCIES: + - RCTDataManager (from `../../Libraries/Network`) + - RCTNetworkImage (from `../../Libraries/Image`) + - RCTText (from `../../Libraries/Text`) + - ReactKit (from `../../ReactKit`) + +EXTERNAL SOURCES: + RCTDataManager: + :path: ../../Libraries/Network + RCTNetworkImage: + :path: ../../Libraries/Image + RCTText: + :path: ../../Libraries/Text + ReactKit: + :path: ../../ReactKit + +SPEC CHECKSUMS: + RCTDataManager: d38d2a6555886d68e8de623c4b97e2acdf01ed3e + RCTNetworkImage: 6d99735875916e098a65c68a54a72e67e24a402a + RCTText: 5c0cf4635241e8c02e8933853df03809d2dc8327 + ReactKit: 65c02c1e95951c198e491d2a4c1972675d4af254 + +COCOAPODS: 0.35.0 diff --git a/Examples/Movies/Pods/Pods.xcodeproj/project.pbxproj b/Examples/Movies/Pods/Pods.xcodeproj/project.pbxproj new file mode 100644 index 000000000..4c4cbbb99 --- /dev/null +++ b/Examples/Movies/Pods/Pods.xcodeproj/project.pbxproj @@ -0,0 +1,4284 @@ + + + + + archiveVersion + 1 + classes + + objectVersion + 46 + objects + + 01DCDFB27A48C1C7A65C2FE6 + + fileRef + 6DDC3764218E410C0E170649 + isa + PBXBuildFile + + 048B0A5A6D3AE173A67CAE93 + + children + + ADAA64389F188489440FF394 + 7643C57FD9EC1838B0876BBD + 1E172C103C8DDDD51C260454 + 07EC0B27D8891E964C48E4D7 + + isa + PBXGroup + name + Support Files + path + ../../Examples/Movies/Pods/Target Support Files/Pods-RCTDataManager + sourceTree + <group> + + 0612C8DB98399C9428864589 + + fileRef + 12E89F4AD5820CD9722AD8D0 + isa + PBXBuildFile + + 06C6AEB41647779AE72D05D0 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTView.h + path + Views/RCTView.h + sourceTree + <group> + + 07192780F349FFB50B16BAE0 + + fileRef + 2CD30CF1663697474B87D08E + isa + PBXBuildFile + + 075ECFDD9BCF0E8901AE8625 + + children + + 581AF9074AC1929D0D1DAB9E + F5B54251AEB97ECA54054310 + 90D5389E9D73CDBB276C1B34 + 9DD770C9F0909D7B663F79B9 + 19DA60B0FDB51F564823798C + + isa + PBXGroup + sourceTree + <group> + + 07EC0B27D8891E964C48E4D7 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + Pods-RCTDataManager-prefix.pch + sourceTree + <group> + + 09567798D374D77BC5D172B2 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + RCTRawTextManager.m + sourceTree + <group> + + 0A9F33FAC1AE68D789D1776C + + explicitFileType + archive.ar + includeInIndex + 0 + isa + PBXFileReference + path + libPods-ReactKit.a + sourceTree + BUILT_PRODUCTS_DIR + + 0AC9EE10D9CD5E34ACCC37E0 + + buildActionMask + 2147483647 + files + + 275C0B2E6CA279611D94AA46 + AC11EC6BAF7ED8F76E48397C + 79BE258178E49FD51E2CC4B8 + 7CAF752A4A0E37B9583A87DB + CDB49A44CDED422DC861AC80 + + isa + PBXHeadersBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 0B6D46780D0C5F037B9E50AF + + fileRef + 99F944FDFA42E71DFD034D19 + isa + PBXBuildFile + + 0C7A5A737917BA18817CC207 + + children + + 88505E4377E9058030C956B9 + 48C4ACFA9C0F6598C47536AE + 35138A0F59E8056491258E07 + B1A56B88049B3F5961BAEF1F + 36CB892D416C92B38A7AB919 + 9F9D9AED8316D779EAEA6CBB + 6ECB652E72348E5A2B4636FC + + isa + PBXGroup + name + Pods + path + Target Support Files/Pods + sourceTree + <group> + + 0D505D056F591E9588F343AA + + containerPortal + BF94ECC553449F9486D48453 + isa + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + F3743E4364DCD50F66E07E03 + remoteInfo + Pods-ReactKit + + 0D8B5E4BC6B802176DDD88E5 + + fileRef + E64248B361B8929CFE00FADC + isa + PBXBuildFile + + 0EA55D4BFB9E3A24AB05482E + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTBridgeModule.h + path + Base/RCTBridgeModule.h + sourceTree + <group> + + 0EAFFB5E66ACE63398007604 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTUIActivityIndicatorViewManager.m + path + Views/RCTUIActivityIndicatorViewManager.m + sourceTree + <group> + + 100E0F66BB2561CD9C5403B1 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + RCTShadowText.h + sourceTree + <group> + + 106C230D038A62D2C37E5D75 + + fileRef + 59BF11297A6B39FFEBBB7861 + isa + PBXBuildFile + + 12E89F4AD5820CD9722AD8D0 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTViewNodeProtocol.h + path + Base/RCTViewNodeProtocol.h + sourceTree + <group> + + 149C58083427CE1CD36C8B10 + + fileRef + B6BB65B0F788DFF2F121D4F7 + isa + PBXBuildFile + + 1592E2F41A2DC2C927EBBF12 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTRootView.h + path + Base/RCTRootView.h + sourceTree + <group> + + 15F0D204E7BD9B1607786736 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTAnimationType.h + path + Base/RCTAnimationType.h + sourceTree + <group> + + 1782BB92C0A529BF6AD72DFF + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTJavaScriptExecutor.h + path + Base/RCTJavaScriptExecutor.h + sourceTree + <group> + + 17C0992A90EEBE80108AEF54 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTWrapperViewController.h + path + Views/RCTWrapperViewController.h + sourceTree + <group> + + 19CACF004F780E3053926DAD + + isa + PBXTargetDependency + name + Pods-ReactKit + target + F3743E4364DCD50F66E07E03 + targetProxy + 0D505D056F591E9588F343AA + + 19DA60B0FDB51F564823798C + + children + + 0C7A5A737917BA18817CC207 + + isa + PBXGroup + name + Targets Support Files + sourceTree + <group> + + 1AD314273817E152C7E315BA + + fileRef + 3ED59FDCF3B8DE44DD4C1667 + isa + PBXBuildFile + + 1B55097A38652E47A94193F2 + + fileRef + 1EA900AAF1440F65670A2F9D + isa + PBXBuildFile + + 1D2F520811E96888A497E24D + + isa + PBXTargetDependency + name + Pods-RCTDataManager + target + 932A9309F808F533D40582BB + targetProxy + 21457A5B7E5C5541936A2CAD + + 1E172C103C8DDDD51C260454 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + Pods-RCTDataManager-dummy.m + sourceTree + <group> + + 1EA900AAF1440F65670A2F9D + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTLog.m + path + Base/RCTLog.m + sourceTree + <group> + + 1F99DFDC314091E129914F82 + + buildConfigurations + + 4CA65E88D9B0A200CE9C9118 + 36CE53F49AD09C21E10675B8 + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + 2108DCEFAE6CF37482CF1C0A + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTKeyCommands.m + path + Base/RCTKeyCommands.m + sourceTree + <group> + + 21457A5B7E5C5541936A2CAD + + containerPortal + BF94ECC553449F9486D48453 + isa + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + 932A9309F808F533D40582BB + remoteInfo + Pods-RCTDataManager + + 21B434F724639E29EE45E44A + + isa + PBXTargetDependency + name + Pods-ReactKit + target + F3743E4364DCD50F66E07E03 + targetProxy + ED320F983C718810619BABED + + 237ECCFD5EBD9B7C1250F4EB + + fileRef + 9574DCBBFE4EFAB138C43844 + isa + PBXBuildFile + + 2409A610D6AB34EA92D33BE8 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTScrollableProtocol.h + path + Base/RCTScrollableProtocol.h + sourceTree + <group> + + 246059A6C46C6F40327D9399 + + explicitFileType + archive.ar + includeInIndex + 0 + isa + PBXFileReference + path + libPods-RCTNetworkImage.a + sourceTree + BUILT_PRODUCTS_DIR + + 2572FEE8678A128A03571950 + + fileRef + 56FB9B47588CF0F36FC96390 + isa + PBXBuildFile + + 275C0B2E6CA279611D94AA46 + + fileRef + 6D4728D5CA14DC2EE7EA3544 + isa + PBXBuildFile + + 284A37E0CFFCA95AD5134C06 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTUtils.h + path + Base/RCTUtils.h + sourceTree + <group> + + 290C5E10241C0B2C924F14E6 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTViewManager.h + path + Views/RCTViewManager.h + sourceTree + <group> + + 291C4B433C922679BD458D5D + + fileRef + 6AEEF603053FE768ED3E5E4D + isa + PBXBuildFile + + 2BA58703E0C4B2559E28AE42 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTUIManager.m + path + Modules/RCTUIManager.m + sourceTree + <group> + + 2CD30CF1663697474B87D08E + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTAutoInsetsProtocol.h + path + Base/RCTAutoInsetsProtocol.h + sourceTree + <group> + + 2D208141DE8BC9DD7F5B8235 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTAlertManager.m + path + Modules/RCTAlertManager.m + sourceTree + <group> + + 2F5591055141A2D7A7918CE8 + + fileRef + C6EB359CFF6D72170FEF1C91 + isa + PBXBuildFile + + 311B1F10DB6ECD376C2C410D + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + RCTNetworkImageView.h + sourceTree + <group> + + 31A2F342B0F590C341B80E22 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + RCTShadowRawText.m + sourceTree + <group> + + 33E7FC15EBE6599AD3335BD8 + + buildConfigurationList + 71F3A1261352CEB12D1EFE4E + buildPhases + + DB81D9FD0801A42A48152E0C + 9C430EF11704FB8793CA009C + + buildRules + + dependencies + + 1D2F520811E96888A497E24D + 88CBD87EEA9FF31AAF273687 + BAD9616489752B70E709809C + 21B434F724639E29EE45E44A + + isa + PBXNativeTarget + name + Pods + productName + Pods + productReference + 84D089AE2FBBC9A674F6ED90 + productType + com.apple.product-type.library.static + + 341FFB9C954C6FBBDA1D4CBB + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + Pods-ReactKit-prefix.pch + sourceTree + <group> + + 34DBA23002D2E96B79EF3FBE + + fileRef + 8FEF9214746F53A78E8F115F + isa + PBXBuildFile + + 35138A0F59E8056491258E07 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + Pods-dummy.m + sourceTree + <group> + + 369763B76533786A8E5353A4 + + fileRef + 4B4D221F3651E112595964E6 + isa + PBXBuildFile + + 36CB892D416C92B38A7AB919 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.script.sh + path + Pods-resources.sh + sourceTree + <group> + + 36CE53F49AD09C21E10675B8 + + baseConfigurationReference + D7A44E0FB5FD0083354541D0 + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + COPY_PHASE_STRIP + YES + DSTROOT + /tmp/xcodeproj.dst + GCC_PRECOMPILE_PREFIX_HEADER + YES + GCC_PREFIX_HEADER + Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage-prefix.pch + INSTALL_PATH + $(BUILT_PRODUCTS_DIR) + IPHONEOS_DEPLOYMENT_TARGET + 7.0 + OTHER_CFLAGS + + -DNS_BLOCK_ASSERTIONS=1 + $(inherited) + + OTHER_CPLUSPLUSFLAGS + + -DNS_BLOCK_ASSERTIONS=1 + $(inherited) + + OTHER_LDFLAGS + + OTHER_LIBTOOLFLAGS + + PRODUCT_NAME + $(TARGET_NAME) + PUBLIC_HEADERS_FOLDER_PATH + $(TARGET_NAME) + SDKROOT + iphoneos + SKIP_INSTALL + YES + VALIDATE_PRODUCT + YES + + isa + XCBuildConfiguration + name + Release + + 38E413F00F71503B4358BF3A + + buildActionMask + 2147483647 + files + + 538D24A47F778BE37D482A70 + B233C279B7F95C416BE7460F + 01DCDFB27A48C1C7A65C2FE6 + 6FC60E013E6B084708F80E1D + + isa + PBXSourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 3AB2DFC2566FB389056F3BAC + + baseConfigurationReference + 9F9D9AED8316D779EAEA6CBB + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + COPY_PHASE_STRIP + NO + DSTROOT + /tmp/xcodeproj.dst + GCC_DYNAMIC_NO_PIC + NO + GCC_OPTIMIZATION_LEVEL + 0 + GCC_PRECOMPILE_PREFIX_HEADER + YES + GCC_PREPROCESSOR_DEFINITIONS + + DEBUG=1 + $(inherited) + + GCC_SYMBOLS_PRIVATE_EXTERN + NO + INSTALL_PATH + $(BUILT_PRODUCTS_DIR) + IPHONEOS_DEPLOYMENT_TARGET + 7.0 + OTHER_LDFLAGS + + OTHER_LIBTOOLFLAGS + + PRODUCT_NAME + $(TARGET_NAME) + PUBLIC_HEADERS_FOLDER_PATH + $(TARGET_NAME) + SDKROOT + iphoneos + SKIP_INSTALL + YES + + isa + XCBuildConfiguration + name + Debug + + 3AF0EA123B1D6D47095D8F69 + + baseConfigurationReference + 7643C57FD9EC1838B0876BBD + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + COPY_PHASE_STRIP + YES + DSTROOT + /tmp/xcodeproj.dst + GCC_PRECOMPILE_PREFIX_HEADER + YES + GCC_PREFIX_HEADER + Target Support Files/Pods-RCTDataManager/Pods-RCTDataManager-prefix.pch + INSTALL_PATH + $(BUILT_PRODUCTS_DIR) + IPHONEOS_DEPLOYMENT_TARGET + 7.0 + OTHER_CFLAGS + + -DNS_BLOCK_ASSERTIONS=1 + $(inherited) + + OTHER_CPLUSPLUSFLAGS + + -DNS_BLOCK_ASSERTIONS=1 + $(inherited) + + OTHER_LDFLAGS + + OTHER_LIBTOOLFLAGS + + PRODUCT_NAME + $(TARGET_NAME) + PUBLIC_HEADERS_FOLDER_PATH + $(TARGET_NAME) + SDKROOT + iphoneos + SKIP_INSTALL + YES + VALIDATE_PRODUCT + YES + + isa + XCBuildConfiguration + name + Release + + 3C0A45593BBE3C2A57E72C81 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + RCTDataManager.m + sourceTree + <group> + + 3D1E50AF744E283AA07F6B6A + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTStaticImageManager.h + path + Views/RCTStaticImageManager.h + sourceTree + <group> + + 3D6FC3872FA9FE79857A9533 + + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + CLANG_CXX_LANGUAGE_STANDARD + gnu++0x + CLANG_CXX_LIBRARY + libc++ + CLANG_ENABLE_MODULES + YES + CLANG_ENABLE_OBJC_ARC + YES + CLANG_WARN_BOOL_CONVERSION + YES + CLANG_WARN_CONSTANT_CONVERSION + YES + CLANG_WARN_DIRECT_OBJC_ISA_USAGE + YES + CLANG_WARN_EMPTY_BODY + YES + CLANG_WARN_ENUM_CONVERSION + YES + CLANG_WARN_INT_CONVERSION + YES + CLANG_WARN_OBJC_ROOT_CLASS + YES + COPY_PHASE_STRIP + YES + GCC_C_LANGUAGE_STANDARD + gnu99 + GCC_DYNAMIC_NO_PIC + NO + GCC_OPTIMIZATION_LEVEL + 0 + GCC_PREPROCESSOR_DEFINITIONS + + DEBUG=1 + $(inherited) + + GCC_SYMBOLS_PRIVATE_EXTERN + NO + GCC_WARN_64_TO_32_BIT_CONVERSION + YES + GCC_WARN_ABOUT_RETURN_TYPE + YES + GCC_WARN_UNDECLARED_SELECTOR + YES + GCC_WARN_UNINITIALIZED_AUTOS + YES + GCC_WARN_UNUSED_FUNCTION + YES + GCC_WARN_UNUSED_VARIABLE + YES + IPHONEOS_DEPLOYMENT_TARGET + 7.0 + ONLY_ACTIVE_ARCH + YES + STRIP_INSTALLED_PRODUCT + NO + + isa + XCBuildConfiguration + name + Debug + + 3E42DBB95C1805122AE2171D + + fileRef + 290C5E10241C0B2C924F14E6 + isa + PBXBuildFile + + 3ED59FDCF3B8DE44DD4C1667 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTBridge.m + path + Base/RCTBridge.m + sourceTree + <group> + + 3EDE783B10222492880DD3AB + + buildActionMask + 2147483647 + files + + 63E51C8504EA2C10E68B02ED + + isa + PBXHeadersBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 3FFDD3C8378B7BB621BC78E9 + + fileRef + DFA3EC5E1764BCB1C6CDEC48 + isa + PBXBuildFile + + 41135E6FEF13B7C0629B2504 + + buildConfigurations + + 3D6FC3872FA9FE79857A9533 + C2E82E03DD326AD6B9E61CA8 + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + 4144C0A7A0B5E9B910A49112 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + Pods-RCTNetworkImage-prefix.pch + sourceTree + <group> + + 41D67C49FE5405FBC354B2D8 + + fileRef + FFAA9FB176212ECB441C158B + isa + PBXBuildFile + + 42DD1ABF71E7DDE8F625D75F + + buildActionMask + 2147483647 + files + + DDFF4F45838A985D83EB4388 + + isa + PBXFrameworksBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 432AFAC69A94AA5F06088B28 + + fileRef + D9E56A6CF4CE4A04E95C3014 + isa + PBXBuildFile + + 44B64536F5CA954B8E61E64A + + fileRef + 31A2F342B0F590C341B80E22 + isa + PBXBuildFile + + 45315E8BEBC17056E67EC4FB + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTUtils.m + path + Base/RCTUtils.m + sourceTree + <group> + + 455EF31DC16195410CAEED8B + + baseConfigurationReference + 98E2279571F800AAEC885852 + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + COPY_PHASE_STRIP + YES + DSTROOT + /tmp/xcodeproj.dst + GCC_PRECOMPILE_PREFIX_HEADER + YES + GCC_PREFIX_HEADER + Target Support Files/Pods-RCTText/Pods-RCTText-prefix.pch + INSTALL_PATH + $(BUILT_PRODUCTS_DIR) + IPHONEOS_DEPLOYMENT_TARGET + 7.0 + OTHER_CFLAGS + + -DNS_BLOCK_ASSERTIONS=1 + $(inherited) + + OTHER_CPLUSPLUSFLAGS + + -DNS_BLOCK_ASSERTIONS=1 + $(inherited) + + OTHER_LDFLAGS + + OTHER_LIBTOOLFLAGS + + PRODUCT_NAME + $(TARGET_NAME) + PUBLIC_HEADERS_FOLDER_PATH + $(TARGET_NAME) + SDKROOT + iphoneos + SKIP_INSTALL + YES + VALIDATE_PRODUCT + YES + + isa + XCBuildConfiguration + name + Release + + 46DBB7DDD201455CC7822443 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + UIView+ReactKit.h + path + Views/UIView+ReactKit.h + sourceTree + <group> + + 4819361C459238E768D0623F + + fileRef + F13F01D5CEF7D509D7FB3A75 + isa + PBXBuildFile + + 486A508147DE414B1C54DB3B + + fileRef + CF75A4E5C983EFE50EF23864 + isa + PBXBuildFile + + 48BCE09A6E673A5F0771E3A0 + + fileRef + BC0819432142676ED7CD8D13 + isa + PBXBuildFile + + 48C4ACFA9C0F6598C47536AE + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.plist.xml + path + Pods-acknowledgements.plist + sourceTree + <group> + + 4B4D221F3651E112595964E6 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTUIManager.h + path + Modules/RCTUIManager.h + sourceTree + <group> + + 4B5DA911DA22390C5E95B750 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + RCTImageDownloader.m + sourceTree + <group> + + 4BE2DDA0BCC878EB8CB26C5A + + fileRef + 56F3B2390EEE3D197152D75F + isa + PBXBuildFile + + 4C96B8E009C3509E8C4A58F4 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTUIActivityIndicatorViewManager.h + path + Views/RCTUIActivityIndicatorViewManager.h + sourceTree + <group> + + 4CA65E88D9B0A200CE9C9118 + + baseConfigurationReference + D7A44E0FB5FD0083354541D0 + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + COPY_PHASE_STRIP + NO + DSTROOT + /tmp/xcodeproj.dst + GCC_DYNAMIC_NO_PIC + NO + GCC_OPTIMIZATION_LEVEL + 0 + GCC_PRECOMPILE_PREFIX_HEADER + YES + GCC_PREFIX_HEADER + Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage-prefix.pch + GCC_PREPROCESSOR_DEFINITIONS + + DEBUG=1 + $(inherited) + + GCC_SYMBOLS_PRIVATE_EXTERN + NO + INSTALL_PATH + $(BUILT_PRODUCTS_DIR) + IPHONEOS_DEPLOYMENT_TARGET + 7.0 + OTHER_LDFLAGS + + OTHER_LIBTOOLFLAGS + + PRODUCT_NAME + $(TARGET_NAME) + PUBLIC_HEADERS_FOLDER_PATH + $(TARGET_NAME) + SDKROOT + iphoneos + SKIP_INSTALL + YES + + isa + XCBuildConfiguration + name + Debug + + 4DEEE0266BA65632F6A0E7B1 + + fileRef + 2BA58703E0C4B2559E28AE42 + isa + PBXBuildFile + + 504176B67DCF8860EE15B6DE + + fileRef + 94FE868251742B4D99E9D44C + isa + PBXBuildFile + + 5219B1A509941D57D929D39A + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTNavItem.h + path + Views/RCTNavItem.h + sourceTree + <group> + + 52B8E3C21D812BBDA6A21D90 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + RCTImageDownloader.h + sourceTree + <group> + + 52C2F8683752617A087B61F9 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTTextFieldManager.h + path + Views/RCTTextFieldManager.h + sourceTree + <group> + + 5346BE5B4464865BE370DAE3 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTSparseArray.m + path + Base/RCTSparseArray.m + sourceTree + <group> + + 538D24A47F778BE37D482A70 + + fileRef + CECB70566BB387FCC3E72F82 + isa + PBXBuildFile + + 5424AF4790E65783BDA933AE + + fileRef + 1E172C103C8DDDD51C260454 + isa + PBXBuildFile + + 556F7551D750FD292977EAF3 + + containerPortal + BF94ECC553449F9486D48453 + isa + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + DF58F2F4E6B0B43A57E1D871 + remoteInfo + Pods-RCTNetworkImage + + 56F3B2390EEE3D197152D75F + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + RCTShadowText.m + sourceTree + <group> + + 56FB9B47588CF0F36FC96390 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTEventDispatcher.h + path + Base/RCTEventDispatcher.h + sourceTree + <group> + + 5789BD634633A460A15D2CFB + + buildActionMask + 2147483647 + files + + 73E9110E36C881B06618F651 + BE549016B7D84400A9C21554 + E03E37E50B395F68909D68F1 + 7BFF3710C1742EDD464C3907 + 1AD314273817E152C7E315BA + FCF9FA9A52C6466496834D9B + 72812F427CD41F84EDF7463F + B311A068CB02A3CB5731DF3F + AE2F0C5806A4C1B2923B9AA4 + C830647EE856312FD4703ADA + 6CBFC20798CA2E3F0D05E09A + 1B55097A38652E47A94193F2 + 8415074B62BAA6A44BAFDB9E + 5D6D65155F2608108E24323C + 8239340F32AD35797AFF5916 + A0519A4649CCB73011B039D4 + B917A72C88A3FFCC8B3A78BF + B7BF08D30812CE93EE5B73B8 + A827664554976694F2C33FCC + A8A1B6892A1330983405EBBE + 98C030E0A13DB99C7DF1BB7F + E2DE70C97989E3B70384CE53 + 504176B67DCF8860EE15B6DE + 76644CC3854953214A130D8B + 80DD4040D6A9CCBB3CD0EF7A + DF8895F638ACA4C5989F506D + BCDA3D97529987F3AF6E1E94 + CCDED8EEB351B73EEC8B9F7E + 819EE00153E0D7A318574D69 + A55433F81EC7E8C30974067B + 4DEEE0266BA65632F6A0E7B1 + A245979CC966F650E1C70D22 + 48BCE09A6E673A5F0771E3A0 + F8A906774F36E8CD2451E82E + 6A98A23B930054B26DC54F35 + 7AA8475783959E32EDA602E8 + 8A95730DCFBE1F08DB29B75A + + isa + PBXSourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 581AF9074AC1929D0D1DAB9E + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text + name + Podfile + path + ../Podfile + sourceTree + SOURCE_ROOT + xcLanguageSpecificationIdentifier + xcode.lang.ruby + + 5840BACA98667C60F6B3A0C1 + + buildConfigurations + + BD4F6574C5906CCB6FC42D7F + BBE817045F170ECDCB05EF56 + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + 59186CF0F15087A1C2B440DD + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTEventDispatcher.m + path + Base/RCTEventDispatcher.m + sourceTree + <group> + + 59BF11297A6B39FFEBBB7861 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + Layout.h + path + Layout/Layout.h + sourceTree + <group> + + 5A0B5C72A1AA647B3A4B14F6 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTKeyCommands.h + path + Base/RCTKeyCommands.h + sourceTree + <group> + + 5BC09E97F41420AF1394ADCE + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + UIView+ReactKit.m + path + Views/UIView+ReactKit.m + sourceTree + <group> + + 5BE5302E054DBFAF040EF61B + + fileRef + EEE942E8275043E8ADF16BE2 + isa + PBXBuildFile + + 5C36071912941101A0924D87 + + children + + 9574DCBBFE4EFAB138C43844 + + isa + PBXGroup + name + iOS + sourceTree + <group> + + 5D6D65155F2608108E24323C + + fileRef + 94F63AC21292EE02A10FEC17 + isa + PBXBuildFile + + 5DCF6A84FBACA3015BC22399 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + RCTNetworkImageViewManager.m + sourceTree + <group> + + 5E5C5A95047BB06B9931B5DF + + isa + PBXTargetDependency + name + Pods-ReactKit + target + F3743E4364DCD50F66E07E03 + targetProxy + EFDFA99290EC74C5612841DA + + 5F5E7CC68557DA53129800AD + + fileRef + 0EA55D4BFB9E3A24AB05482E + isa + PBXBuildFile + + 5F835835D10C7DFB6A9CF6A3 + + containerPortal + BF94ECC553449F9486D48453 + isa + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + 607D2E44EB1F20343CE3456B + remoteInfo + Pods-RCTText + + 5F8F95C34626059B26772C85 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + RCTTextManager.h + sourceTree + <group> + + 607D2E44EB1F20343CE3456B + + buildConfigurationList + 7122D1CC40CFBB02C49EA8FE + buildPhases + + 8915B8D680F07A5E87AE7951 + CD226C6942B1DF7EA0A2D228 + 0AC9EE10D9CD5E34ACCC37E0 + + buildRules + + dependencies + + 860C43275459A739AC102F54 + + isa + PBXNativeTarget + name + Pods-RCTText + productName + Pods-RCTText + productReference + 8E4605DF173DA988811CD0D0 + productType + com.apple.product-type.library.static + + 63A3B7B3C237D15908758757 + + children + + BF7B4B3789866923E16FA948 + D7A44E0FB5FD0083354541D0 + CECB70566BB387FCC3E72F82 + 4144C0A7A0B5E9B910A49112 + + isa + PBXGroup + name + Support Files + path + ../../Examples/Movies/Pods/Target Support Files/Pods-RCTNetworkImage + sourceTree + <group> + + 63E51C8504EA2C10E68B02ED + + fileRef + 88C9CCC953EB2CBD7D57EED8 + isa + PBXBuildFile + + 65319A04EE7272D8823EC289 + + children + + 6D4728D5CA14DC2EE7EA3544 + 09567798D374D77BC5D172B2 + 98AF860C16DE530EE9D5FAD5 + 31A2F342B0F590C341B80E22 + 100E0F66BB2561CD9C5403B1 + 56F3B2390EEE3D197152D75F + E7825F1E43104ED6A50EDB98 + 8FEF9214746F53A78E8F115F + 5F8F95C34626059B26772C85 + 77338B0BEA88CD60DC1ABF10 + EBE596AB2811F489419F35E9 + + isa + PBXGroup + name + RCTText + path + ../../../Libraries/Text + sourceTree + <group> + + 68F34AEA31C32834FA5BC3A8 + + baseConfigurationReference + 6ECB652E72348E5A2B4636FC + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + COPY_PHASE_STRIP + YES + DSTROOT + /tmp/xcodeproj.dst + GCC_PRECOMPILE_PREFIX_HEADER + YES + INSTALL_PATH + $(BUILT_PRODUCTS_DIR) + IPHONEOS_DEPLOYMENT_TARGET + 7.0 + OTHER_CFLAGS + + -DNS_BLOCK_ASSERTIONS=1 + $(inherited) + + OTHER_CPLUSPLUSFLAGS + + -DNS_BLOCK_ASSERTIONS=1 + $(inherited) + + OTHER_LDFLAGS + + OTHER_LIBTOOLFLAGS + + PRODUCT_NAME + $(TARGET_NAME) + PUBLIC_HEADERS_FOLDER_PATH + $(TARGET_NAME) + SDKROOT + iphoneos + SKIP_INSTALL + YES + VALIDATE_PRODUCT + YES + + isa + XCBuildConfiguration + name + Release + + 69E8EA4F874212E989F8E5F8 + + fileRef + 06C6AEB41647779AE72D05D0 + isa + PBXBuildFile + + 6A98A23B930054B26DC54F35 + + fileRef + B998DFBC2EC7B340775C2514 + isa + PBXBuildFile + + 6AEEF603053FE768ED3E5E4D + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTSparseArray.h + path + Base/RCTSparseArray.h + sourceTree + <group> + + 6CBFC20798CA2E3F0D05E09A + + fileRef + 2108DCEFAE6CF37482CF1C0A + isa + PBXBuildFile + + 6D4728D5CA14DC2EE7EA3544 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + RCTRawTextManager.h + sourceTree + <group> + + 6DDC3764218E410C0E170649 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + RCTNetworkImageView.m + sourceTree + <group> + + 6E6299B7449D2F456EA2F26F + + fileRef + 5219B1A509941D57D929D39A + isa + PBXBuildFile + + 6ECB652E72348E5A2B4636FC + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Pods.release.xcconfig + sourceTree + <group> + + 6FC60E013E6B084708F80E1D + + fileRef + 5DCF6A84FBACA3015BC22399 + isa + PBXBuildFile + + 7050957C06196020470EC5C2 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTScrollViewManager.m + path + Views/RCTScrollViewManager.m + sourceTree + <group> + + 70C56F45AD4CAD933ACBE2D4 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTBridge.h + path + Base/RCTBridge.h + sourceTree + <group> + + 710A1B01FA9E8F0E95876C75 + + children + + 8A7EF5F8BDA27A8EFB7E7B50 + 8F5CED50CE2BB3EBC5A0C8B7 + 9D269D2372F1ADF83E59D0E1 + 341FFB9C954C6FBBDA1D4CBB + + isa + PBXGroup + name + Support Files + path + ../Examples/Movies/Pods/Target Support Files/Pods-ReactKit + sourceTree + <group> + + 7122D1CC40CFBB02C49EA8FE + + buildConfigurations + + 788577F7D39EEA8E639BA335 + 455EF31DC16195410CAEED8B + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + 7158773877C1566031B98AA7 + + buildActionMask + 2147483647 + files + + FE86C2EE891C09720566A5D9 + E340F8420234B32BB795E0EE + F0B848BA6E9EB162430D912B + + isa + PBXHeadersBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 7196F57776FE75B146C23681 + + fileRef + 35138A0F59E8056491258E07 + isa + PBXBuildFile + + 71F3A1261352CEB12D1EFE4E + + buildConfigurations + + 3AB2DFC2566FB389056F3BAC + 68F34AEA31C32834FA5BC3A8 + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + 7244C28261391D75E3F0B0EF + + fileRef + 46DBB7DDD201455CC7822443 + isa + PBXBuildFile + + 7253CC6B6B8F6AE678B3B19C + + buildActionMask + 2147483647 + files + + 106C230D038A62D2C37E5D75 + 432AFAC69A94AA5F06088B28 + 946BDFB1A5D5787E85175DC1 + F3DAEC86B758048B5930EF1B + 07192780F349FFB50B16BAE0 + 7F35C840463DEBE2ACAF026B + 5F5E7CC68557DA53129800AD + 85B47B09FA27F727DAFF911C + 0D8B5E4BC6B802176DDD88E5 + A803356E590BE34243DE7EFE + 2572FEE8678A128A03571950 + B9F42C9908AD31F4BC1F091D + 7650C106B8A5FA38ED23274F + 5BE5302E054DBFAF040EF61B + 907AF60B5B92038D240EC19C + D41179E6AAD395F25177A5F8 + CEFADE7A58F7E4400EE18E25 + 6E6299B7449D2F456EA2F26F + 7611C500CF8043E1E1A8FEA5 + DF924C16971D9C2C83A36133 + F4AB97BA6A8BC00071F62ED2 + 4819361C459238E768D0623F + 837435BB2245CCE3D1565029 + 73BE5712EFEC793AD4B710E1 + BD4CB1806A00FC955BECE0B1 + 2F5591055141A2D7A7918CE8 + 85FA6019949634CBE9A346BE + 149C58083427CE1CD36C8B10 + 291C4B433C922679BD458D5D + AC2A48152BD918215CA11AD5 + F26F1444F50B137ED3B72374 + 486A508147DE414B1C54DB3B + 3FFDD3C8378B7BB621BC78E9 + C3F3445613B7F46DC6BF3E3B + 8620DB570E79F86DF025BEC8 + 41D67C49FE5405FBC354B2D8 + 7FDFCDB3E73CFA4EF24EFC43 + 369763B76533786A8E5353A4 + C8D2916466298AD52317576B + 69E8EA4F874212E989F8E5F8 + 3E42DBB95C1805122AE2171D + 0612C8DB98399C9428864589 + 0B6D46780D0C5F037B9E50AF + B8EFB7E653F82E82FDEBD4EF + 7244C28261391D75E3F0B0EF + + isa + PBXHeadersBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 72812F427CD41F84EDF7463F + + fileRef + EF98585B892E19B5AE731973 + isa + PBXBuildFile + + 737BA62A1374F34098A61A3C + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTNavigator.h + path + Views/RCTNavigator.h + sourceTree + <group> + + 73BE5712EFEC793AD4B710E1 + + fileRef + 1592E2F41A2DC2C927EBBF12 + isa + PBXBuildFile + + 73E9110E36C881B06618F651 + + fileRef + CBE8ADD69617298088FF9ACF + isa + PBXBuildFile + + 7440BE86AA8D5D86F9E0972C + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTViewManager.m + path + Views/RCTViewManager.m + sourceTree + <group> + + 7611C500CF8043E1E1A8FEA5 + + fileRef + E59EC5A1D60FD731E0AA3C44 + isa + PBXBuildFile + + 7643C57FD9EC1838B0876BBD + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Pods-RCTDataManager-Private.xcconfig + sourceTree + <group> + + 7650C106B8A5FA38ED23274F + + fileRef + C37AAC16F286B1DB8F7BD60C + isa + PBXBuildFile + + 76644CC3854953214A130D8B + + fileRef + CF563F829B165F3323ABC0A1 + isa + PBXBuildFile + + 77338B0BEA88CD60DC1ABF10 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + RCTTextManager.m + sourceTree + <group> + + 788577F7D39EEA8E639BA335 + + baseConfigurationReference + 98E2279571F800AAEC885852 + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + COPY_PHASE_STRIP + NO + DSTROOT + /tmp/xcodeproj.dst + GCC_DYNAMIC_NO_PIC + NO + GCC_OPTIMIZATION_LEVEL + 0 + GCC_PRECOMPILE_PREFIX_HEADER + YES + GCC_PREFIX_HEADER + Target Support Files/Pods-RCTText/Pods-RCTText-prefix.pch + GCC_PREPROCESSOR_DEFINITIONS + + DEBUG=1 + $(inherited) + + GCC_SYMBOLS_PRIVATE_EXTERN + NO + INSTALL_PATH + $(BUILT_PRODUCTS_DIR) + IPHONEOS_DEPLOYMENT_TARGET + 7.0 + OTHER_LDFLAGS + + OTHER_LIBTOOLFLAGS + + PRODUCT_NAME + $(TARGET_NAME) + PUBLIC_HEADERS_FOLDER_PATH + $(TARGET_NAME) + SDKROOT + iphoneos + SKIP_INSTALL + YES + + isa + XCBuildConfiguration + name + Debug + + 78C294F35FA33A84D8E83D01 + + buildActionMask + 2147483647 + files + + 5424AF4790E65783BDA933AE + AF2BC09B042EBB50F1A78EB5 + + isa + PBXSourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 793AE1E6D8A0F5D66EC764FC + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTExceptionsManager.h + path + Modules/RCTExceptionsManager.h + sourceTree + <group> + + 79AC1D0DBC09CA9546BA5DC2 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTConvert.m + path + Base/RCTConvert.m + sourceTree + <group> + + 79BE258178E49FD51E2CC4B8 + + fileRef + 100E0F66BB2561CD9C5403B1 + isa + PBXBuildFile + + 79CA05DA910EEC1FB74AF8B1 + + fileRef + 9574DCBBFE4EFAB138C43844 + isa + PBXBuildFile + + 7AA8475783959E32EDA602E8 + + fileRef + DD631F9387065E2C8158E9D2 + isa + PBXBuildFile + + 7AF4222A15F4D8545D8C75EE + + fileRef + 09567798D374D77BC5D172B2 + isa + PBXBuildFile + + 7BFF3710C1742EDD464C3907 + + fileRef + C3885B5209E462E315C1A082 + isa + PBXBuildFile + + 7CAF752A4A0E37B9583A87DB + + fileRef + E7825F1E43104ED6A50EDB98 + isa + PBXBuildFile + + 7D3032A8B618BED47A896B35 + + children + + 52B8E3C21D812BBDA6A21D90 + 4B5DA911DA22390C5E95B750 + 311B1F10DB6ECD376C2C410D + 6DDC3764218E410C0E170649 + D01D41AF354CCA45EB9E3F09 + 5DCF6A84FBACA3015BC22399 + 63A3B7B3C237D15908758757 + + isa + PBXGroup + name + RCTNetworkImage + path + ../../../Libraries/Image + sourceTree + <group> + + 7EFF5F80196820ED0BAC85A2 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTStatusBarManager.m + path + Modules/RCTStatusBarManager.m + sourceTree + <group> + + 7F35C840463DEBE2ACAF026B + + fileRef + 70C56F45AD4CAD933ACBE2D4 + isa + PBXBuildFile + + 7FDFCDB3E73CFA4EF24EFC43 + + fileRef + 4C96B8E009C3509E8C4A58F4 + isa + PBXBuildFile + + 800F02FE328BD54F6A90FD91 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTAssert.h + path + Base/RCTAssert.h + sourceTree + <group> + + 80DD4040D6A9CCBB3CD0EF7A + + fileRef + 7EFF5F80196820ED0BAC85A2 + isa + PBXBuildFile + + 80FE5B00B155529379660FC4 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTTiming.m + path + Modules/RCTTiming.m + sourceTree + <group> + + 819EE00153E0D7A318574D69 + + fileRef + A3895AC4CDB2372877228F14 + isa + PBXBuildFile + + 8239340F32AD35797AFF5916 + + fileRef + CA8DFA708A0CA7DF5695D590 + isa + PBXBuildFile + + 83566DF45DEB3320EB352903 + + containerPortal + BF94ECC553449F9486D48453 + isa + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + F3743E4364DCD50F66E07E03 + remoteInfo + Pods-ReactKit + + 837435BB2245CCE3D1565029 + + fileRef + D324AB785A55E2706E36A274 + isa + PBXBuildFile + + 8415074B62BAA6A44BAFDB9E + + fileRef + CEEE4CFBC9BE5736ECAB62E6 + isa + PBXBuildFile + + 84D089AE2FBBC9A674F6ED90 + + explicitFileType + archive.ar + includeInIndex + 0 + isa + PBXFileReference + path + libPods.a + sourceTree + BUILT_PRODUCTS_DIR + + 84DC232D4E0A3B5F77BD4BC2 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTTextField.m + path + Views/RCTTextField.m + sourceTree + <group> + + 85AD0EB6443ECE478262D6C6 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTExceptionsManager.m + path + Modules/RCTExceptionsManager.m + sourceTree + <group> + + 85B47B09FA27F727DAFF911C + + fileRef + 95C56C7BFE0773470DD423D4 + isa + PBXBuildFile + + 85FA6019949634CBE9A346BE + + fileRef + 2409A610D6AB34EA92D33BE8 + isa + PBXBuildFile + + 860C43275459A739AC102F54 + + isa + PBXTargetDependency + name + Pods-ReactKit + target + F3743E4364DCD50F66E07E03 + targetProxy + 83566DF45DEB3320EB352903 + + 8620DB570E79F86DF025BEC8 + + fileRef + A0E7CDD7949470FE40475426 + isa + PBXBuildFile + + 8775A8D4E6338D61BF1064C5 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTShadowView.m + path + Views/RCTShadowView.m + sourceTree + <group> + + 880D38F15FF447F995573AB3 + + fileRef + 77338B0BEA88CD60DC1ABF10 + isa + PBXBuildFile + + 88505E4377E9058030C956B9 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text + path + Pods-acknowledgements.markdown + sourceTree + <group> + + 88C9CCC953EB2CBD7D57EED8 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + RCTDataManager.h + sourceTree + <group> + + 88CBD87EEA9FF31AAF273687 + + isa + PBXTargetDependency + name + Pods-RCTNetworkImage + target + DF58F2F4E6B0B43A57E1D871 + targetProxy + 556F7551D750FD292977EAF3 + + 8915B8D680F07A5E87AE7951 + + buildActionMask + 2147483647 + files + + 9CAF0499B0A74F5CFA2A1E3B + 7AF4222A15F4D8545D8C75EE + 44B64536F5CA954B8E61E64A + 4BE2DDA0BCC878EB8CB26C5A + 34DBA23002D2E96B79EF3FBE + 880D38F15FF447F995573AB3 + + isa + PBXSourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 8A7EF5F8BDA27A8EFB7E7B50 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Pods-ReactKit.xcconfig + sourceTree + <group> + + 8A95730DCFBE1F08DB29B75A + + fileRef + 5BC09E97F41420AF1394ADCE + isa + PBXBuildFile + + 8AAEE8636EA9A9FF644ED344 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Pods-RCTText.xcconfig + sourceTree + <group> + + 8B70E5434E2CB2792BB8CC44 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTNavigatorManager.m + path + Views/RCTNavigatorManager.m + sourceTree + <group> + + 8E4605DF173DA988811CD0D0 + + explicitFileType + archive.ar + includeInIndex + 0 + isa + PBXFileReference + path + libPods-RCTText.a + sourceTree + BUILT_PRODUCTS_DIR + + 8F5CED50CE2BB3EBC5A0C8B7 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Pods-ReactKit-Private.xcconfig + sourceTree + <group> + + 8FEF9214746F53A78E8F115F + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + RCTText.m + sourceTree + <group> + + 907AF60B5B92038D240EC19C + + fileRef + 1782BB92C0A529BF6AD72DFF + isa + PBXBuildFile + + 90D5389E9D73CDBB276C1B34 + + children + + 5C36071912941101A0924D87 + + isa + PBXGroup + name + Frameworks + sourceTree + <group> + + 932A9309F808F533D40582BB + + buildConfigurationList + AC60249688E27C48CD0E62A1 + buildPhases + + 78C294F35FA33A84D8E83D01 + 42DD1ABF71E7DDE8F625D75F + 3EDE783B10222492880DD3AB + + buildRules + + dependencies + + 5E5C5A95047BB06B9931B5DF + + isa + PBXNativeTarget + name + Pods-RCTDataManager + productName + Pods-RCTDataManager + productReference + C9D66CDB1AB4CA948A39E26D + productType + com.apple.product-type.library.static + + 9361F6C165FFAD1CE1130BA7 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTStaticImage.h + path + Views/RCTStaticImage.h + sourceTree + <group> + + 946BDFB1A5D5787E85175DC1 + + fileRef + 15F0D204E7BD9B1607786736 + isa + PBXBuildFile + + 94F63AC21292EE02A10FEC17 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTNavItemManager.m + path + Views/RCTNavItemManager.m + sourceTree + <group> + + 94FE868251742B4D99E9D44C + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTStaticImage.m + path + Views/RCTStaticImage.m + sourceTree + <group> + + 9574DCBBFE4EFAB138C43844 + + isa + PBXFileReference + lastKnownFileType + wrapper.framework + name + Foundation.framework + path + Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/Foundation.framework + sourceTree + DEVELOPER_DIR + + 95C56C7BFE0773470DD423D4 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTCache.h + path + Base/RCTCache.h + sourceTree + <group> + + 98AF860C16DE530EE9D5FAD5 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + RCTShadowRawText.h + sourceTree + <group> + + 98C030E0A13DB99C7DF1BB7F + + fileRef + 8775A8D4E6338D61BF1064C5 + isa + PBXBuildFile + + 98E2279571F800AAEC885852 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Pods-RCTText-Private.xcconfig + sourceTree + <group> + + 99F944FDFA42E71DFD034D19 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTWebViewExecutor.h + path + Executors/RCTWebViewExecutor.h + sourceTree + <group> + + 9C430EF11704FB8793CA009C + + buildActionMask + 2147483647 + files + + 79CA05DA910EEC1FB74AF8B1 + + isa + PBXFrameworksBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 9CAACB75648220203821AF2C + + buildActionMask + 2147483647 + files + + 237ECCFD5EBD9B7C1250F4EB + + isa + PBXFrameworksBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 9CAF0499B0A74F5CFA2A1E3B + + fileRef + DFBDE4922D5AE7807A0676AB + isa + PBXBuildFile + + 9D269D2372F1ADF83E59D0E1 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + Pods-ReactKit-dummy.m + sourceTree + <group> + + 9DD770C9F0909D7B663F79B9 + + children + + 84D089AE2FBBC9A674F6ED90 + C9D66CDB1AB4CA948A39E26D + 246059A6C46C6F40327D9399 + 8E4605DF173DA988811CD0D0 + 0A9F33FAC1AE68D789D1776C + + isa + PBXGroup + name + Products + sourceTree + <group> + + 9F9D9AED8316D779EAEA6CBB + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Pods.debug.xcconfig + sourceTree + <group> + + A0519A4649CCB73011B039D4 + + fileRef + 8B70E5434E2CB2792BB8CC44 + isa + PBXBuildFile + + A0E7CDD7949470FE40475426 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTTiming.h + path + Modules/RCTTiming.h + sourceTree + <group> + + A23F22A624E7020BCB6E7BA5 + + baseConfigurationReference + 7643C57FD9EC1838B0876BBD + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + COPY_PHASE_STRIP + NO + DSTROOT + /tmp/xcodeproj.dst + GCC_DYNAMIC_NO_PIC + NO + GCC_OPTIMIZATION_LEVEL + 0 + GCC_PRECOMPILE_PREFIX_HEADER + YES + GCC_PREFIX_HEADER + Target Support Files/Pods-RCTDataManager/Pods-RCTDataManager-prefix.pch + GCC_PREPROCESSOR_DEFINITIONS + + DEBUG=1 + $(inherited) + + GCC_SYMBOLS_PRIVATE_EXTERN + NO + INSTALL_PATH + $(BUILT_PRODUCTS_DIR) + IPHONEOS_DEPLOYMENT_TARGET + 7.0 + OTHER_LDFLAGS + + OTHER_LIBTOOLFLAGS + + PRODUCT_NAME + $(TARGET_NAME) + PUBLIC_HEADERS_FOLDER_PATH + $(TARGET_NAME) + SDKROOT + iphoneos + SKIP_INSTALL + YES + + isa + XCBuildConfiguration + name + Debug + + A245979CC966F650E1C70D22 + + fileRef + 45315E8BEBC17056E67EC4FB + isa + PBXBuildFile + + A381C58516139C34B8364CD6 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTConvert.h + path + Base/RCTConvert.h + sourceTree + <group> + + A3895AC4CDB2372877228F14 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTTouchHandler.m + path + Base/RCTTouchHandler.m + sourceTree + <group> + + A55433F81EC7E8C30974067B + + fileRef + 0EAFFB5E66ACE63398007604 + isa + PBXBuildFile + + A70A067FFB2FCBB711D7F5FD + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTTextFieldManager.m + path + Views/RCTTextFieldManager.m + sourceTree + <group> + + A803356E590BE34243DE7EFE + + fileRef + A381C58516139C34B8364CD6 + isa + PBXBuildFile + + A827664554976694F2C33FCC + + fileRef + E6F823FCA4D283EAAAD0D577 + isa + PBXBuildFile + + A8A1B6892A1330983405EBBE + + fileRef + 7050957C06196020470EC5C2 + isa + PBXBuildFile + + AABC0F0E4C257651C752A272 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTNavigatorManager.h + path + Views/RCTNavigatorManager.h + sourceTree + <group> + + AB42C08CAF730F8AF9C8ADAB + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTRedBox.m + path + Base/RCTRedBox.m + sourceTree + <group> + + AC11EC6BAF7ED8F76E48397C + + fileRef + 98AF860C16DE530EE9D5FAD5 + isa + PBXBuildFile + + AC2A48152BD918215CA11AD5 + + fileRef + 9361F6C165FFAD1CE1130BA7 + isa + PBXBuildFile + + AC60249688E27C48CD0E62A1 + + buildConfigurations + + A23F22A624E7020BCB6E7BA5 + 3AF0EA123B1D6D47095D8F69 + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + ADAA64389F188489440FF394 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Pods-RCTDataManager.xcconfig + sourceTree + <group> + + AE2F0C5806A4C1B2923B9AA4 + + fileRef + 59186CF0F15087A1C2B440DD + isa + PBXBuildFile + + AE5A12E81280D6C3660A8555 + + fileRef + 9574DCBBFE4EFAB138C43844 + isa + PBXBuildFile + + AF2BC09B042EBB50F1A78EB5 + + fileRef + 3C0A45593BBE3C2A57E72C81 + isa + PBXBuildFile + + B1A56B88049B3F5961BAEF1F + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + Pods-environment.h + sourceTree + <group> + + B233C279B7F95C416BE7460F + + fileRef + 4B5DA911DA22390C5E95B750 + isa + PBXBuildFile + + B311A068CB02A3CB5731DF3F + + fileRef + 79AC1D0DBC09CA9546BA5DC2 + isa + PBXBuildFile + + B31D0718AFFBEBA633A5AB25 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTLog.h + path + Base/RCTLog.h + sourceTree + <group> + + B6BB65B0F788DFF2F121D4F7 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTShadowView.h + path + Views/RCTShadowView.h + sourceTree + <group> + + B7BF08D30812CE93EE5B73B8 + + fileRef + F101BBCEB615F24C5BA2B161 + isa + PBXBuildFile + + B8EFB7E653F82E82FDEBD4EF + + fileRef + 17C0992A90EEBE80108AEF54 + isa + PBXBuildFile + + B917A72C88A3FFCC8B3A78BF + + fileRef + AB42C08CAF730F8AF9C8ADAB + isa + PBXBuildFile + + B998DFBC2EC7B340775C2514 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTWebViewExecutor.m + path + Executors/RCTWebViewExecutor.m + sourceTree + <group> + + B9F42C9908AD31F4BC1F091D + + fileRef + 793AE1E6D8A0F5D66EC764FC + isa + PBXBuildFile + + BAD9616489752B70E709809C + + isa + PBXTargetDependency + name + Pods-RCTText + target + 607D2E44EB1F20343CE3456B + targetProxy + 5F835835D10C7DFB6A9CF6A3 + + BBE817045F170ECDCB05EF56 + + baseConfigurationReference + 8F5CED50CE2BB3EBC5A0C8B7 + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + COPY_PHASE_STRIP + YES + DSTROOT + /tmp/xcodeproj.dst + GCC_PRECOMPILE_PREFIX_HEADER + YES + GCC_PREFIX_HEADER + Target Support Files/Pods-ReactKit/Pods-ReactKit-prefix.pch + INSTALL_PATH + $(BUILT_PRODUCTS_DIR) + IPHONEOS_DEPLOYMENT_TARGET + 7.0 + OTHER_CFLAGS + + -DNS_BLOCK_ASSERTIONS=1 + $(inherited) + + OTHER_CPLUSPLUSFLAGS + + -DNS_BLOCK_ASSERTIONS=1 + $(inherited) + + OTHER_LDFLAGS + + OTHER_LIBTOOLFLAGS + + PRODUCT_NAME + $(TARGET_NAME) + PUBLIC_HEADERS_FOLDER_PATH + $(TARGET_NAME) + SDKROOT + iphoneos + SKIP_INSTALL + YES + VALIDATE_PRODUCT + YES + + isa + XCBuildConfiguration + name + Release + + BC0819432142676ED7CD8D13 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTView.m + path + Views/RCTView.m + sourceTree + <group> + + BCDA3D97529987F3AF6E1E94 + + fileRef + A70A067FFB2FCBB711D7F5FD + isa + PBXBuildFile + + BD4CB1806A00FC955BECE0B1 + + fileRef + E56829432E0DA699D11DF890 + isa + PBXBuildFile + + BD4F6574C5906CCB6FC42D7F + + baseConfigurationReference + 8F5CED50CE2BB3EBC5A0C8B7 + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + COPY_PHASE_STRIP + NO + DSTROOT + /tmp/xcodeproj.dst + GCC_DYNAMIC_NO_PIC + NO + GCC_OPTIMIZATION_LEVEL + 0 + GCC_PRECOMPILE_PREFIX_HEADER + YES + GCC_PREFIX_HEADER + Target Support Files/Pods-ReactKit/Pods-ReactKit-prefix.pch + GCC_PREPROCESSOR_DEFINITIONS + + DEBUG=1 + $(inherited) + + GCC_SYMBOLS_PRIVATE_EXTERN + NO + INSTALL_PATH + $(BUILT_PRODUCTS_DIR) + IPHONEOS_DEPLOYMENT_TARGET + 7.0 + OTHER_LDFLAGS + + OTHER_LIBTOOLFLAGS + + PRODUCT_NAME + $(TARGET_NAME) + PUBLIC_HEADERS_FOLDER_PATH + $(TARGET_NAME) + SDKROOT + iphoneos + SKIP_INSTALL + YES + + isa + XCBuildConfiguration + name + Debug + + BE549016B7D84400A9C21554 + + fileRef + 9D269D2372F1ADF83E59D0E1 + isa + PBXBuildFile + + BF7B4B3789866923E16FA948 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Pods-RCTNetworkImage.xcconfig + sourceTree + <group> + + BF94ECC553449F9486D48453 + + attributes + + LastUpgradeCheck + 0510 + + buildConfigurationList + 41135E6FEF13B7C0629B2504 + compatibilityVersion + Xcode 3.2 + developmentRegion + English + hasScannedForEncodings + 0 + isa + PBXProject + knownRegions + + en + + mainGroup + 075ECFDD9BCF0E8901AE8625 + productRefGroup + 9DD770C9F0909D7B663F79B9 + projectDirPath + + projectReferences + + projectRoot + + targets + + 33E7FC15EBE6599AD3335BD8 + 932A9309F808F533D40582BB + DF58F2F4E6B0B43A57E1D871 + 607D2E44EB1F20343CE3456B + F3743E4364DCD50F66E07E03 + + + C2E82E03DD326AD6B9E61CA8 + + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + CLANG_CXX_LANGUAGE_STANDARD + gnu++0x + CLANG_CXX_LIBRARY + libc++ + CLANG_ENABLE_MODULES + YES + CLANG_ENABLE_OBJC_ARC + YES + CLANG_WARN_BOOL_CONVERSION + YES + CLANG_WARN_CONSTANT_CONVERSION + YES + CLANG_WARN_DIRECT_OBJC_ISA_USAGE + YES + CLANG_WARN_EMPTY_BODY + YES + CLANG_WARN_ENUM_CONVERSION + YES + CLANG_WARN_INT_CONVERSION + YES + CLANG_WARN_OBJC_ROOT_CLASS + YES + COPY_PHASE_STRIP + NO + ENABLE_NS_ASSERTIONS + NO + GCC_C_LANGUAGE_STANDARD + gnu99 + GCC_PREPROCESSOR_DEFINITIONS + + RELEASE=1 + + GCC_WARN_64_TO_32_BIT_CONVERSION + YES + GCC_WARN_ABOUT_RETURN_TYPE + YES + GCC_WARN_UNDECLARED_SELECTOR + YES + GCC_WARN_UNINITIALIZED_AUTOS + YES + GCC_WARN_UNUSED_FUNCTION + YES + GCC_WARN_UNUSED_VARIABLE + YES + IPHONEOS_DEPLOYMENT_TARGET + 7.0 + STRIP_INSTALLED_PRODUCT + NO + VALIDATE_PRODUCT + YES + + isa + XCBuildConfiguration + name + Release + + C37AAC16F286B1DB8F7BD60C + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTInvalidating.h + path + Base/RCTInvalidating.h + sourceTree + <group> + + C3885B5209E462E315C1A082 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTAssert.m + path + Base/RCTAssert.m + sourceTree + <group> + + C3F3445613B7F46DC6BF3E3B + + fileRef + 52C2F8683752617A087B61F9 + isa + PBXBuildFile + + C6EB359CFF6D72170FEF1C91 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTScrollViewManager.h + path + Views/RCTScrollViewManager.h + sourceTree + <group> + + C830647EE856312FD4703ADA + + fileRef + 85AD0EB6443ECE478262D6C6 + isa + PBXBuildFile + + C8D2916466298AD52317576B + + fileRef + 284A37E0CFFCA95AD5134C06 + isa + PBXBuildFile + + C9D66CDB1AB4CA948A39E26D + + explicitFileType + archive.ar + includeInIndex + 0 + isa + PBXFileReference + path + libPods-RCTDataManager.a + sourceTree + BUILT_PRODUCTS_DIR + + CA8DFA708A0CA7DF5695D590 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTNavigator.m + path + Views/RCTNavigator.m + sourceTree + <group> + + CBE8ADD69617298088FF9ACF + + includeInIndex + 1 + isa + PBXFileReference + name + Layout.c + path + Layout/Layout.c + sourceTree + <group> + + CC953A5B7DFF969670A89AF9 + + fileRef + 9574DCBBFE4EFAB138C43844 + isa + PBXBuildFile + + CCDED8EEB351B73EEC8B9F7E + + fileRef + 80FE5B00B155529379660FC4 + isa + PBXBuildFile + + CD226C6942B1DF7EA0A2D228 + + buildActionMask + 2147483647 + files + + CC953A5B7DFF969670A89AF9 + + isa + PBXFrameworksBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + CDB49A44CDED422DC861AC80 + + fileRef + 5F8F95C34626059B26772C85 + isa + PBXBuildFile + + CECB70566BB387FCC3E72F82 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + Pods-RCTNetworkImage-dummy.m + sourceTree + <group> + + CEEE4CFBC9BE5736ECAB62E6 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTNavItem.m + path + Views/RCTNavItem.m + sourceTree + <group> + + CEFADE7A58F7E4400EE18E25 + + fileRef + B31D0718AFFBEBA633A5AB25 + isa + PBXBuildFile + + CF563F829B165F3323ABC0A1 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTStaticImageManager.m + path + Views/RCTStaticImageManager.m + sourceTree + <group> + + CF75A4E5C983EFE50EF23864 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTStatusBarManager.h + path + Modules/RCTStatusBarManager.h + sourceTree + <group> + + D01D41AF354CCA45EB9E3F09 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + RCTNetworkImageViewManager.h + sourceTree + <group> + + D324AB785A55E2706E36A274 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTRedBox.h + path + Base/RCTRedBox.h + sourceTree + <group> + + D34FE18B7D368E5AD6584E23 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTCache.m + path + Base/RCTCache.m + sourceTree + <group> + + D41179E6AAD395F25177A5F8 + + fileRef + 5A0B5C72A1AA647B3A4B14F6 + isa + PBXBuildFile + + D606AC45A684300C958D9C0C + + children + + 88C9CCC953EB2CBD7D57EED8 + 3C0A45593BBE3C2A57E72C81 + 048B0A5A6D3AE173A67CAE93 + + isa + PBXGroup + name + RCTDataManager + path + ../../../Libraries/Network + sourceTree + <group> + + D7A44E0FB5FD0083354541D0 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Pods-RCTNetworkImage-Private.xcconfig + sourceTree + <group> + + D9E56A6CF4CE4A04E95C3014 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTAlertManager.h + path + Modules/RCTAlertManager.h + sourceTree + <group> + + DB81D9FD0801A42A48152E0C + + buildActionMask + 2147483647 + files + + 7196F57776FE75B146C23681 + + isa + PBXSourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + DD25A411976BA72A8CB95128 + + children + + CBE8ADD69617298088FF9ACF + 59BF11297A6B39FFEBBB7861 + D9E56A6CF4CE4A04E95C3014 + 2D208141DE8BC9DD7F5B8235 + 15F0D204E7BD9B1607786736 + 800F02FE328BD54F6A90FD91 + C3885B5209E462E315C1A082 + 2CD30CF1663697474B87D08E + 70C56F45AD4CAD933ACBE2D4 + 3ED59FDCF3B8DE44DD4C1667 + 0EA55D4BFB9E3A24AB05482E + 95C56C7BFE0773470DD423D4 + D34FE18B7D368E5AD6584E23 + E64248B361B8929CFE00FADC + EF98585B892E19B5AE731973 + A381C58516139C34B8364CD6 + 79AC1D0DBC09CA9546BA5DC2 + 56FB9B47588CF0F36FC96390 + 59186CF0F15087A1C2B440DD + 793AE1E6D8A0F5D66EC764FC + 85AD0EB6443ECE478262D6C6 + C37AAC16F286B1DB8F7BD60C + EEE942E8275043E8ADF16BE2 + 1782BB92C0A529BF6AD72DFF + 5A0B5C72A1AA647B3A4B14F6 + 2108DCEFAE6CF37482CF1C0A + B31D0718AFFBEBA633A5AB25 + 1EA900AAF1440F65670A2F9D + 5219B1A509941D57D929D39A + CEEE4CFBC9BE5736ECAB62E6 + E59EC5A1D60FD731E0AA3C44 + 94F63AC21292EE02A10FEC17 + 737BA62A1374F34098A61A3C + CA8DFA708A0CA7DF5695D590 + AABC0F0E4C257651C752A272 + 8B70E5434E2CB2792BB8CC44 + F13F01D5CEF7D509D7FB3A75 + D324AB785A55E2706E36A274 + AB42C08CAF730F8AF9C8ADAB + 1592E2F41A2DC2C927EBBF12 + F101BBCEB615F24C5BA2B161 + E56829432E0DA699D11DF890 + E6F823FCA4D283EAAAD0D577 + C6EB359CFF6D72170FEF1C91 + 7050957C06196020470EC5C2 + 2409A610D6AB34EA92D33BE8 + B6BB65B0F788DFF2F121D4F7 + 8775A8D4E6338D61BF1064C5 + 6AEEF603053FE768ED3E5E4D + 5346BE5B4464865BE370DAE3 + 9361F6C165FFAD1CE1130BA7 + 94FE868251742B4D99E9D44C + 3D1E50AF744E283AA07F6B6A + CF563F829B165F3323ABC0A1 + CF75A4E5C983EFE50EF23864 + 7EFF5F80196820ED0BAC85A2 + DFA3EC5E1764BCB1C6CDEC48 + 84DC232D4E0A3B5F77BD4BC2 + 52C2F8683752617A087B61F9 + A70A067FFB2FCBB711D7F5FD + A0E7CDD7949470FE40475426 + 80FE5B00B155529379660FC4 + FFAA9FB176212ECB441C158B + A3895AC4CDB2372877228F14 + 4C96B8E009C3509E8C4A58F4 + 0EAFFB5E66ACE63398007604 + 4B4D221F3651E112595964E6 + 2BA58703E0C4B2559E28AE42 + 284A37E0CFFCA95AD5134C06 + 45315E8BEBC17056E67EC4FB + 06C6AEB41647779AE72D05D0 + BC0819432142676ED7CD8D13 + 290C5E10241C0B2C924F14E6 + 7440BE86AA8D5D86F9E0972C + 12E89F4AD5820CD9722AD8D0 + 99F944FDFA42E71DFD034D19 + B998DFBC2EC7B340775C2514 + 17C0992A90EEBE80108AEF54 + DD631F9387065E2C8158E9D2 + 46DBB7DDD201455CC7822443 + 5BC09E97F41420AF1394ADCE + 710A1B01FA9E8F0E95876C75 + + isa + PBXGroup + name + ReactKit + path + ../../../ReactKit + sourceTree + <group> + + DD631F9387065E2C8158E9D2 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTWrapperViewController.m + path + Views/RCTWrapperViewController.m + sourceTree + <group> + + DDFF4F45838A985D83EB4388 + + fileRef + 9574DCBBFE4EFAB138C43844 + isa + PBXBuildFile + + DF58F2F4E6B0B43A57E1D871 + + buildConfigurationList + 1F99DFDC314091E129914F82 + buildPhases + + 38E413F00F71503B4358BF3A + 9CAACB75648220203821AF2C + 7158773877C1566031B98AA7 + + buildRules + + dependencies + + 19CACF004F780E3053926DAD + + isa + PBXNativeTarget + name + Pods-RCTNetworkImage + productName + Pods-RCTNetworkImage + productReference + 246059A6C46C6F40327D9399 + productType + com.apple.product-type.library.static + + DF8895F638ACA4C5989F506D + + fileRef + 84DC232D4E0A3B5F77BD4BC2 + isa + PBXBuildFile + + DF924C16971D9C2C83A36133 + + fileRef + 737BA62A1374F34098A61A3C + isa + PBXBuildFile + + DFA3EC5E1764BCB1C6CDEC48 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTTextField.h + path + Views/RCTTextField.h + sourceTree + <group> + + DFBDE4922D5AE7807A0676AB + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + Pods-RCTText-dummy.m + sourceTree + <group> + + E03E37E50B395F68909D68F1 + + fileRef + 2D208141DE8BC9DD7F5B8235 + isa + PBXBuildFile + + E2DE70C97989E3B70384CE53 + + fileRef + 5346BE5B4464865BE370DAE3 + isa + PBXBuildFile + + E340F8420234B32BB795E0EE + + fileRef + 311B1F10DB6ECD376C2C410D + isa + PBXBuildFile + + E56829432E0DA699D11DF890 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTScrollView.h + path + Views/RCTScrollView.h + sourceTree + <group> + + E59EC5A1D60FD731E0AA3C44 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTNavItemManager.h + path + Views/RCTNavItemManager.h + sourceTree + <group> + + E64248B361B8929CFE00FADC + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTContextExecutor.h + path + Executors/RCTContextExecutor.h + sourceTree + <group> + + E6F823FCA4D283EAAAD0D577 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTScrollView.m + path + Views/RCTScrollView.m + sourceTree + <group> + + E7825F1E43104ED6A50EDB98 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + RCTText.h + sourceTree + <group> + + EBE596AB2811F489419F35E9 + + children + + 8AAEE8636EA9A9FF644ED344 + 98E2279571F800AAEC885852 + DFBDE4922D5AE7807A0676AB + F59352A24B5D8F8B1FF74ABC + + isa + PBXGroup + name + Support Files + path + ../../Examples/Movies/Pods/Target Support Files/Pods-RCTText + sourceTree + <group> + + ED320F983C718810619BABED + + containerPortal + BF94ECC553449F9486D48453 + isa + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + F3743E4364DCD50F66E07E03 + remoteInfo + Pods-ReactKit + + EEE942E8275043E8ADF16BE2 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTJSMethodRegistrar.h + path + Base/RCTJSMethodRegistrar.h + sourceTree + <group> + + EF98585B892E19B5AE731973 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTContextExecutor.m + path + Executors/RCTContextExecutor.m + sourceTree + <group> + + EFDFA99290EC74C5612841DA + + containerPortal + BF94ECC553449F9486D48453 + isa + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + F3743E4364DCD50F66E07E03 + remoteInfo + Pods-ReactKit + + F0B848BA6E9EB162430D912B + + fileRef + D01D41AF354CCA45EB9E3F09 + isa + PBXBuildFile + + F101BBCEB615F24C5BA2B161 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTRootView.m + path + Base/RCTRootView.m + sourceTree + <group> + + F13F01D5CEF7D509D7FB3A75 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTPointerEvents.h + path + Base/RCTPointerEvents.h + sourceTree + <group> + + F190DBB178201E2AC54C7F70 + + buildActionMask + 2147483647 + files + + AE5A12E81280D6C3660A8555 + + isa + PBXFrameworksBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + F26F1444F50B137ED3B72374 + + fileRef + 3D1E50AF744E283AA07F6B6A + isa + PBXBuildFile + + F3743E4364DCD50F66E07E03 + + buildConfigurationList + 5840BACA98667C60F6B3A0C1 + buildPhases + + 5789BD634633A460A15D2CFB + F190DBB178201E2AC54C7F70 + 7253CC6B6B8F6AE678B3B19C + + buildRules + + dependencies + + isa + PBXNativeTarget + name + Pods-ReactKit + productName + Pods-ReactKit + productReference + 0A9F33FAC1AE68D789D1776C + productType + com.apple.product-type.library.static + + F3DAEC86B758048B5930EF1B + + fileRef + 800F02FE328BD54F6A90FD91 + isa + PBXBuildFile + + F4AB97BA6A8BC00071F62ED2 + + fileRef + AABC0F0E4C257651C752A272 + isa + PBXBuildFile + + F59352A24B5D8F8B1FF74ABC + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + Pods-RCTText-prefix.pch + sourceTree + <group> + + F5B54251AEB97ECA54054310 + + children + + D606AC45A684300C958D9C0C + 7D3032A8B618BED47A896B35 + 65319A04EE7272D8823EC289 + DD25A411976BA72A8CB95128 + + isa + PBXGroup + name + Development Pods + sourceTree + <group> + + F8A906774F36E8CD2451E82E + + fileRef + 7440BE86AA8D5D86F9E0972C + isa + PBXBuildFile + + FCF9FA9A52C6466496834D9B + + fileRef + D34FE18B7D368E5AD6584E23 + isa + PBXBuildFile + + FE86C2EE891C09720566A5D9 + + fileRef + 52B8E3C21D812BBDA6A21D90 + isa + PBXBuildFile + + FFAA9FB176212ECB441C158B + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTTouchHandler.h + path + Base/RCTTouchHandler.h + sourceTree + <group> + + + rootObject + BF94ECC553449F9486D48453 + + diff --git a/Examples/Movies/Pods/Target Support Files/Pods-RCTDataManager/Pods-RCTDataManager-Private.xcconfig b/Examples/Movies/Pods/Target Support Files/Pods-RCTDataManager/Pods-RCTDataManager-Private.xcconfig new file mode 100644 index 000000000..218750234 --- /dev/null +++ b/Examples/Movies/Pods/Target Support Files/Pods-RCTDataManager/Pods-RCTDataManager-Private.xcconfig @@ -0,0 +1,5 @@ +#include "Pods-RCTDataManager.xcconfig" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Build" "${PODS_ROOT}/Headers/Build/RCTDataManager" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/RCTDataManager" "${PODS_ROOT}/Headers/Public/RCTNetworkImage" "${PODS_ROOT}/Headers/Public/RCTText" "${PODS_ROOT}/Headers/Public/ReactKit" +OTHER_LDFLAGS = -ObjC +PODS_ROOT = ${SRCROOT} \ No newline at end of file diff --git a/Examples/Movies/Pods/Target Support Files/Pods-RCTDataManager/Pods-RCTDataManager-dummy.m b/Examples/Movies/Pods/Target Support Files/Pods-RCTDataManager/Pods-RCTDataManager-dummy.m new file mode 100644 index 000000000..d24331906 --- /dev/null +++ b/Examples/Movies/Pods/Target Support Files/Pods-RCTDataManager/Pods-RCTDataManager-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods_RCTDataManager : NSObject +@end +@implementation PodsDummy_Pods_RCTDataManager +@end diff --git a/Examples/Movies/Pods/Target Support Files/Pods-RCTDataManager/Pods-RCTDataManager-prefix.pch b/Examples/Movies/Pods/Target Support Files/Pods-RCTDataManager/Pods-RCTDataManager-prefix.pch new file mode 100644 index 000000000..95cf11d9f --- /dev/null +++ b/Examples/Movies/Pods/Target Support Files/Pods-RCTDataManager/Pods-RCTDataManager-prefix.pch @@ -0,0 +1,5 @@ +#ifdef __OBJC__ +#import +#endif + +#import "Pods-environment.h" diff --git a/Examples/Movies/Pods/Target Support Files/Pods-RCTDataManager/Pods-RCTDataManager.xcconfig b/Examples/Movies/Pods/Target Support Files/Pods-RCTDataManager/Pods-RCTDataManager.xcconfig new file mode 100644 index 000000000..e69de29bb diff --git a/Examples/Movies/Pods/Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage-Private.xcconfig b/Examples/Movies/Pods/Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage-Private.xcconfig new file mode 100644 index 000000000..a6d8b3f6b --- /dev/null +++ b/Examples/Movies/Pods/Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage-Private.xcconfig @@ -0,0 +1,5 @@ +#include "Pods-RCTNetworkImage.xcconfig" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Build" "${PODS_ROOT}/Headers/Build/RCTNetworkImage" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/RCTDataManager" "${PODS_ROOT}/Headers/Public/RCTNetworkImage" "${PODS_ROOT}/Headers/Public/RCTText" "${PODS_ROOT}/Headers/Public/ReactKit" +OTHER_LDFLAGS = -ObjC +PODS_ROOT = ${SRCROOT} \ No newline at end of file diff --git a/Examples/Movies/Pods/Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage-dummy.m b/Examples/Movies/Pods/Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage-dummy.m new file mode 100644 index 000000000..04c9099fa --- /dev/null +++ b/Examples/Movies/Pods/Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods_RCTNetworkImage : NSObject +@end +@implementation PodsDummy_Pods_RCTNetworkImage +@end diff --git a/Examples/Movies/Pods/Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage-prefix.pch b/Examples/Movies/Pods/Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage-prefix.pch new file mode 100644 index 000000000..95cf11d9f --- /dev/null +++ b/Examples/Movies/Pods/Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage-prefix.pch @@ -0,0 +1,5 @@ +#ifdef __OBJC__ +#import +#endif + +#import "Pods-environment.h" diff --git a/Examples/Movies/Pods/Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage.xcconfig b/Examples/Movies/Pods/Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage.xcconfig new file mode 100644 index 000000000..e69de29bb diff --git a/Examples/Movies/Pods/Target Support Files/Pods-RCTText/Pods-RCTText-Private.xcconfig b/Examples/Movies/Pods/Target Support Files/Pods-RCTText/Pods-RCTText-Private.xcconfig new file mode 100644 index 000000000..bad687207 --- /dev/null +++ b/Examples/Movies/Pods/Target Support Files/Pods-RCTText/Pods-RCTText-Private.xcconfig @@ -0,0 +1,5 @@ +#include "Pods-RCTText.xcconfig" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Build" "${PODS_ROOT}/Headers/Build/RCTText" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/RCTDataManager" "${PODS_ROOT}/Headers/Public/RCTNetworkImage" "${PODS_ROOT}/Headers/Public/RCTText" "${PODS_ROOT}/Headers/Public/ReactKit" +OTHER_LDFLAGS = -ObjC +PODS_ROOT = ${SRCROOT} \ No newline at end of file diff --git a/Examples/Movies/Pods/Target Support Files/Pods-RCTText/Pods-RCTText-dummy.m b/Examples/Movies/Pods/Target Support Files/Pods-RCTText/Pods-RCTText-dummy.m new file mode 100644 index 000000000..0ee407269 --- /dev/null +++ b/Examples/Movies/Pods/Target Support Files/Pods-RCTText/Pods-RCTText-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods_RCTText : NSObject +@end +@implementation PodsDummy_Pods_RCTText +@end diff --git a/Examples/Movies/Pods/Target Support Files/Pods-RCTText/Pods-RCTText-prefix.pch b/Examples/Movies/Pods/Target Support Files/Pods-RCTText/Pods-RCTText-prefix.pch new file mode 100644 index 000000000..95cf11d9f --- /dev/null +++ b/Examples/Movies/Pods/Target Support Files/Pods-RCTText/Pods-RCTText-prefix.pch @@ -0,0 +1,5 @@ +#ifdef __OBJC__ +#import +#endif + +#import "Pods-environment.h" diff --git a/Examples/Movies/Pods/Target Support Files/Pods-RCTText/Pods-RCTText.xcconfig b/Examples/Movies/Pods/Target Support Files/Pods-RCTText/Pods-RCTText.xcconfig new file mode 100644 index 000000000..e69de29bb diff --git a/Examples/Movies/Pods/Target Support Files/Pods-ReactKit/Pods-ReactKit-Private.xcconfig b/Examples/Movies/Pods/Target Support Files/Pods-ReactKit/Pods-ReactKit-Private.xcconfig new file mode 100644 index 000000000..0cbb59168 --- /dev/null +++ b/Examples/Movies/Pods/Target Support Files/Pods-ReactKit/Pods-ReactKit-Private.xcconfig @@ -0,0 +1,5 @@ +#include "Pods-ReactKit.xcconfig" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Build" "${PODS_ROOT}/Headers/Build/ReactKit" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/RCTDataManager" "${PODS_ROOT}/Headers/Public/RCTNetworkImage" "${PODS_ROOT}/Headers/Public/RCTText" "${PODS_ROOT}/Headers/Public/ReactKit" +OTHER_LDFLAGS = -ObjC +PODS_ROOT = ${SRCROOT} \ No newline at end of file diff --git a/Examples/Movies/Pods/Target Support Files/Pods-ReactKit/Pods-ReactKit-dummy.m b/Examples/Movies/Pods/Target Support Files/Pods-ReactKit/Pods-ReactKit-dummy.m new file mode 100644 index 000000000..ab3f82b8c --- /dev/null +++ b/Examples/Movies/Pods/Target Support Files/Pods-ReactKit/Pods-ReactKit-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods_ReactKit : NSObject +@end +@implementation PodsDummy_Pods_ReactKit +@end diff --git a/Examples/Movies/Pods/Target Support Files/Pods-ReactKit/Pods-ReactKit-prefix.pch b/Examples/Movies/Pods/Target Support Files/Pods-ReactKit/Pods-ReactKit-prefix.pch new file mode 100644 index 000000000..95cf11d9f --- /dev/null +++ b/Examples/Movies/Pods/Target Support Files/Pods-ReactKit/Pods-ReactKit-prefix.pch @@ -0,0 +1,5 @@ +#ifdef __OBJC__ +#import +#endif + +#import "Pods-environment.h" diff --git a/Examples/Movies/Pods/Target Support Files/Pods-ReactKit/Pods-ReactKit.xcconfig b/Examples/Movies/Pods/Target Support Files/Pods-ReactKit/Pods-ReactKit.xcconfig new file mode 100644 index 000000000..e69de29bb diff --git a/Examples/Movies/Pods/Target Support Files/Pods/Pods-acknowledgements.markdown b/Examples/Movies/Pods/Target Support Files/Pods/Pods-acknowledgements.markdown new file mode 100644 index 000000000..255149a82 --- /dev/null +++ b/Examples/Movies/Pods/Target Support Files/Pods/Pods-acknowledgements.markdown @@ -0,0 +1,3 @@ +# Acknowledgements +This application makes use of the following third party libraries: +Generated by CocoaPods - http://cocoapods.org diff --git a/Examples/Movies/Pods/Target Support Files/Pods/Pods-acknowledgements.plist b/Examples/Movies/Pods/Target Support Files/Pods/Pods-acknowledgements.plist new file mode 100644 index 000000000..e4edebe92 --- /dev/null +++ b/Examples/Movies/Pods/Target Support Files/Pods/Pods-acknowledgements.plist @@ -0,0 +1,29 @@ + + + + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - http://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + + diff --git a/Examples/Movies/Pods/Target Support Files/Pods/Pods-dummy.m b/Examples/Movies/Pods/Target Support Files/Pods/Pods-dummy.m new file mode 100644 index 000000000..ade64bd1a --- /dev/null +++ b/Examples/Movies/Pods/Target Support Files/Pods/Pods-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods : NSObject +@end +@implementation PodsDummy_Pods +@end diff --git a/Examples/Movies/Pods/Target Support Files/Pods/Pods-environment.h b/Examples/Movies/Pods/Target Support Files/Pods/Pods-environment.h new file mode 100644 index 000000000..67012b5ac --- /dev/null +++ b/Examples/Movies/Pods/Target Support Files/Pods/Pods-environment.h @@ -0,0 +1,32 @@ + +// To check if a library is compiled with CocoaPods you +// can use the `COCOAPODS` macro definition which is +// defined in the xcconfigs so it is available in +// headers also when they are imported in the client +// project. + + +// RCTDataManager +#define COCOAPODS_POD_AVAILABLE_RCTDataManager +#define COCOAPODS_VERSION_MAJOR_RCTDataManager 0 +#define COCOAPODS_VERSION_MINOR_RCTDataManager 0 +#define COCOAPODS_VERSION_PATCH_RCTDataManager 1 + +// RCTNetworkImage +#define COCOAPODS_POD_AVAILABLE_RCTNetworkImage +#define COCOAPODS_VERSION_MAJOR_RCTNetworkImage 0 +#define COCOAPODS_VERSION_MINOR_RCTNetworkImage 0 +#define COCOAPODS_VERSION_PATCH_RCTNetworkImage 1 + +// RCTText +#define COCOAPODS_POD_AVAILABLE_RCTText +#define COCOAPODS_VERSION_MAJOR_RCTText 0 +#define COCOAPODS_VERSION_MINOR_RCTText 0 +#define COCOAPODS_VERSION_PATCH_RCTText 1 + +// ReactKit +#define COCOAPODS_POD_AVAILABLE_ReactKit +#define COCOAPODS_VERSION_MAJOR_ReactKit 0 +#define COCOAPODS_VERSION_MINOR_ReactKit 0 +#define COCOAPODS_VERSION_PATCH_ReactKit 1 + diff --git a/Examples/Movies/Pods/Target Support Files/Pods/Pods-resources.sh b/Examples/Movies/Pods/Target Support Files/Pods/Pods-resources.sh new file mode 100755 index 000000000..e149064a0 --- /dev/null +++ b/Examples/Movies/Pods/Target Support Files/Pods/Pods-resources.sh @@ -0,0 +1,74 @@ +#!/bin/sh +set -e + +mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + +RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt +> "$RESOURCES_TO_COPY" + +install_resource() +{ + case $1 in + *.storyboard) + echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc ${PODS_ROOT}/$1 --sdk ${SDKROOT}" + ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" + ;; + *.xib) + echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" + ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" + ;; + *.framework) + echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + echo "rsync -av ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + rsync -av "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + ;; + *.xcdatamodel) + echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1"`.mom\"" + xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodel`.mom" + ;; + *.xcdatamodeld) + echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd\"" + xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd" + ;; + *.xcmappingmodel) + echo "xcrun mapc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm\"" + xcrun mapc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm" + ;; + *.xcassets) + ;; + /*) + echo "$1" + echo "$1" >> "$RESOURCES_TO_COPY" + ;; + *) + echo "${PODS_ROOT}/$1" + echo "${PODS_ROOT}/$1" >> "$RESOURCES_TO_COPY" + ;; + esac +} + +rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +if [[ "${ACTION}" == "install" ]]; then + rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +fi +rm -f "$RESOURCES_TO_COPY" + +if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ `find . -name '*.xcassets' | wc -l` -ne 0 ] +then + case "${TARGETED_DEVICE_FAMILY}" in + 1,2) + TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" + ;; + 1) + TARGET_DEVICE_ARGS="--target-device iphone" + ;; + 2) + TARGET_DEVICE_ARGS="--target-device ipad" + ;; + *) + TARGET_DEVICE_ARGS="--target-device mac" + ;; + esac + find "${PWD}" -name "*.xcassets" -print0 | xargs -0 actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${IPHONEOS_DEPLOYMENT_TARGET}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +fi diff --git a/Examples/Movies/Pods/Target Support Files/Pods/Pods.debug.xcconfig b/Examples/Movies/Pods/Target Support Files/Pods/Pods.debug.xcconfig new file mode 100644 index 000000000..2f6368289 --- /dev/null +++ b/Examples/Movies/Pods/Target Support Files/Pods/Pods.debug.xcconfig @@ -0,0 +1,6 @@ +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/RCTDataManager" "${PODS_ROOT}/Headers/Public/RCTNetworkImage" "${PODS_ROOT}/Headers/Public/RCTText" "${PODS_ROOT}/Headers/Public/ReactKit" +OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/RCTDataManager" -isystem "${PODS_ROOT}/Headers/Public/RCTNetworkImage" -isystem "${PODS_ROOT}/Headers/Public/RCTText" -isystem "${PODS_ROOT}/Headers/Public/ReactKit" +OTHER_LDFLAGS = -ObjC -l"Pods-RCTDataManager" -l"Pods-RCTNetworkImage" -l"Pods-RCTText" -l"Pods-ReactKit" +OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) +PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Examples/Movies/Pods/Target Support Files/Pods/Pods.release.xcconfig b/Examples/Movies/Pods/Target Support Files/Pods/Pods.release.xcconfig new file mode 100644 index 000000000..2f6368289 --- /dev/null +++ b/Examples/Movies/Pods/Target Support Files/Pods/Pods.release.xcconfig @@ -0,0 +1,6 @@ +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/RCTDataManager" "${PODS_ROOT}/Headers/Public/RCTNetworkImage" "${PODS_ROOT}/Headers/Public/RCTText" "${PODS_ROOT}/Headers/Public/ReactKit" +OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/RCTDataManager" -isystem "${PODS_ROOT}/Headers/Public/RCTNetworkImage" -isystem "${PODS_ROOT}/Headers/Public/RCTText" -isystem "${PODS_ROOT}/Headers/Public/ReactKit" +OTHER_LDFLAGS = -ObjC -l"Pods-RCTDataManager" -l"Pods-RCTNetworkImage" -l"Pods-RCTText" -l"Pods-ReactKit" +OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) +PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Examples/TicTacToe/AppDelegate.m b/Examples/TicTacToe/AppDelegate.m index 52e682752..245bf2bd2 100644 --- a/Examples/TicTacToe/AppDelegate.m +++ b/Examples/TicTacToe/AppDelegate.m @@ -2,7 +2,7 @@ #import "AppDelegate.h" -#import "RCTRootView.h" +#import @implementation AppDelegate diff --git a/Examples/TicTacToe/Podfile b/Examples/TicTacToe/Podfile new file mode 100644 index 000000000..61aedac11 --- /dev/null +++ b/Examples/TicTacToe/Podfile @@ -0,0 +1,5 @@ +source 'https://github.com/CocoaPods/Specs.git' + +pod 'RCTText', :path => '../../Libraries/Text' +pod 'RCTNetworkImage', :path => '../../Libraries/Image' +pod 'ReactKit', :path => '../../ReactKit' diff --git a/Examples/TicTacToe/Podfile.lock b/Examples/TicTacToe/Podfile.lock new file mode 100644 index 000000000..79377f7f5 --- /dev/null +++ b/Examples/TicTacToe/Podfile.lock @@ -0,0 +1,26 @@ +PODS: + - RCTNetworkImage (0.0.1): + - ReactKit (~> 0.0.1) + - RCTText (0.0.1): + - ReactKit (~> 0.0.1) + - ReactKit (0.0.1) + +DEPENDENCIES: + - RCTNetworkImage (from `../../Libraries/Image`) + - RCTText (from `../../Libraries/Text`) + - ReactKit (from `../../ReactKit`) + +EXTERNAL SOURCES: + RCTNetworkImage: + :path: ../../Libraries/Image + RCTText: + :path: ../../Libraries/Text + ReactKit: + :path: ../../ReactKit + +SPEC CHECKSUMS: + RCTNetworkImage: 6d99735875916e098a65c68a54a72e67e24a402a + RCTText: 5c0cf4635241e8c02e8933853df03809d2dc8327 + ReactKit: 65c02c1e95951c198e491d2a4c1972675d4af254 + +COCOAPODS: 0.35.0 diff --git a/Examples/TicTacToe/Pods/Headers/Public/RCTNetworkImage/RCTImageDownloader.h b/Examples/TicTacToe/Pods/Headers/Public/RCTNetworkImage/RCTImageDownloader.h new file mode 100644 index 000000000..b525ea1a7 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/RCTNetworkImage/RCTImageDownloader.h @@ -0,0 +1,22 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +typedef void (^RCTDataDownloadBlock)(NSData *data, NSError *error); +typedef void (^RCTImageDownloadBlock)(UIImage *image, NSError *error); + +@interface RCTImageDownloader : NSObject + ++ (instancetype)sharedInstance; + +- (id)downloadDataForURL:(NSURL *)url + block:(RCTDataDownloadBlock)block; + +- (id)downloadImageForURL:(NSURL *)url + size:(CGSize)size + scale:(CGFloat)scale + block:(RCTImageDownloadBlock)block; + +- (void)cancelDownload:(id)downloadToken; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/RCTNetworkImage/RCTNetworkImageView.h b/Examples/TicTacToe/Pods/Headers/Public/RCTNetworkImage/RCTNetworkImageView.h new file mode 100644 index 000000000..c99ed0689 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/RCTNetworkImage/RCTNetworkImageView.h @@ -0,0 +1,32 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@class RCTImageDownloader; + +@interface RCTNetworkImageView : UIView + +- (instancetype)initWithFrame:(CGRect)frame imageDownloader:(RCTImageDownloader *)imageDownloader; + +/** + * An image that will appear while the view is loading the image from the network, + * or when imageURL is nil. Defaults to nil. + */ +@property (nonatomic, strong) UIImage *defaultImage; + +/** + * Specify a URL for an image. The image will be asynchronously loaded and displayed. + */ +@property (nonatomic, strong) NSURL *imageURL; + +/** + * By default, changing imageURL will reset whatever existing image was present + * and revert to defaultImage while the new image loads. In certain obscure cases you + * may want to disable this behavior and instead keep displaying the previous image + * while the new one loads. In this case, pass NO for resetToDefaultImageWhileLoading. + * (If you set imageURL to nil, however, resetToDefaultImageWhileLoading is ignored; + * that will always reset to the default image.) + */ +- (void)setImageURL:(NSURL *)imageURL resetToDefaultImageWhileLoading:(BOOL)reset; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/RCTNetworkImage/RCTNetworkImageViewManager.h b/Examples/TicTacToe/Pods/Headers/Public/RCTNetworkImage/RCTNetworkImageViewManager.h new file mode 100644 index 000000000..5b34e6060 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/RCTNetworkImage/RCTNetworkImageViewManager.h @@ -0,0 +1,8 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTViewManager.h" + +@interface RCTNetworkImageViewManager : RCTViewManager + +@end + diff --git a/Examples/TicTacToe/Pods/Headers/Public/RCTText/RCTRawTextManager.h b/Examples/TicTacToe/Pods/Headers/Public/RCTText/RCTRawTextManager.h new file mode 100644 index 000000000..4c67fd328 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/RCTText/RCTRawTextManager.h @@ -0,0 +1,7 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTViewManager.h" + +@interface RCTRawTextManager : RCTViewManager + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/RCTText/RCTShadowRawText.h b/Examples/TicTacToe/Pods/Headers/Public/RCTText/RCTShadowRawText.h new file mode 100644 index 000000000..d1bdc7d72 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/RCTText/RCTShadowRawText.h @@ -0,0 +1,9 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTShadowView.h" + +@interface RCTShadowRawText : RCTShadowView + +@property (nonatomic, copy) NSString *text; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/RCTText/RCTShadowText.h b/Examples/TicTacToe/Pods/Headers/Public/RCTText/RCTShadowText.h new file mode 100644 index 000000000..ddaf2ebe7 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/RCTText/RCTShadowText.h @@ -0,0 +1,26 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTShadowView.h" + +extern NSString *const RCTIsHighlightedAttributeName; +extern NSString *const RCTReactTagAttributeName; + +@interface RCTShadowText : RCTShadowView + +@property (nonatomic, assign) NSWritingDirection writingDirection; +@property (nonatomic, strong) UIColor *textBackgroundColor; +@property (nonatomic, strong) UIColor *color; +@property (nonatomic, strong) UIFont *font; +@property (nonatomic, copy) NSString *fontFamily; +@property (nonatomic, assign) CGFloat fontSize; +@property (nonatomic, copy) NSString *fontWeight; +@property (nonatomic, assign) BOOL isHighlighted; +@property (nonatomic, assign) CGFloat lineHeight; +@property (nonatomic, assign) NSInteger maxNumberOfLines; +@property (nonatomic, assign) CGSize shadowOffset; +@property (nonatomic, assign) NSTextAlignment textAlign; +@property (nonatomic, assign) NSLineBreakMode truncationMode; + +- (NSAttributedString *)attributedString; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/RCTText/RCTText.h b/Examples/TicTacToe/Pods/Headers/Public/RCTText/RCTText.h new file mode 100644 index 000000000..80ba3f234 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/RCTText/RCTText.h @@ -0,0 +1,13 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@interface RCTText : UIView + +@property (nonatomic, copy) NSAttributedString *attributedText; +@property (nonatomic, assign) NSLineBreakMode lineBreakMode; +@property (nonatomic, assign) NSUInteger numberOfLines; + +- (NSNumber *)reactTagAtPoint:(CGPoint)point; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/RCTText/RCTTextManager.h b/Examples/TicTacToe/Pods/Headers/Public/RCTText/RCTTextManager.h new file mode 100644 index 000000000..0359cce40 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/RCTText/RCTTextManager.h @@ -0,0 +1,8 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTViewManager.h" + +@interface RCTTextManager : RCTViewManager + +@end + diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/Layout.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/Layout.h new file mode 100644 index 000000000..51f72493b --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/Layout.h @@ -0,0 +1,148 @@ +/** + * @generated SignedSource<<58298c7a8815a8675e970b0347dedfed>> + * + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + * !! This file is a check-in from github! !! + * !! !! + * !! You should not modify this file directly. Instead: !! + * !! 1) Go to https://github.com/facebook/css-layout !! + * !! 2) Make a pull request and get it merged !! + * !! 3) Execute ./import.sh to pull in the latest version !! + * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + * + * Copyright (c) 2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +#ifndef __LAYOUT_H +#define __LAYOUT_H + +#include +#include +#define CSS_UNDEFINED NAN + +typedef enum { + CSS_FLEX_DIRECTION_COLUMN = 0, + CSS_FLEX_DIRECTION_ROW +} css_flex_direction_t; + +typedef enum { + CSS_JUSTIFY_FLEX_START = 0, + CSS_JUSTIFY_CENTER, + CSS_JUSTIFY_FLEX_END, + CSS_JUSTIFY_SPACE_BETWEEN, + CSS_JUSTIFY_SPACE_AROUND +} css_justify_t; + +// Note: auto is only a valid value for alignSelf. It is NOT a valid value for +// alignItems. +typedef enum { + CSS_ALIGN_AUTO = 0, + CSS_ALIGN_FLEX_START, + CSS_ALIGN_CENTER, + CSS_ALIGN_FLEX_END, + CSS_ALIGN_STRETCH +} css_align_t; + +typedef enum { + CSS_POSITION_RELATIVE = 0, + CSS_POSITION_ABSOLUTE +} css_position_type_t; + +typedef enum { + CSS_NOWRAP = 0, + CSS_WRAP +} css_wrap_type_t; + +// Note: left and top are shared between position[2] and position[4], so +// they have to be before right and bottom. +typedef enum { + CSS_LEFT = 0, + CSS_TOP, + CSS_RIGHT, + CSS_BOTTOM, + CSS_POSITION_COUNT +} css_position_t; + +typedef enum { + CSS_WIDTH = 0, + CSS_HEIGHT +} css_dimension_t; + +typedef struct { + float position[2]; + float dimensions[2]; + + // Instead of recomputing the entire layout every single time, we + // cache some information to break early when nothing changed + bool should_update; + float last_requested_dimensions[2]; + float last_parent_max_width; + float last_dimensions[2]; + float last_position[2]; +} css_layout_t; + +typedef struct { + float dimensions[2]; +} css_dim_t; + +typedef struct { + css_flex_direction_t flex_direction; + css_justify_t justify_content; + css_align_t align_items; + css_align_t align_self; + css_position_type_t position_type; + css_wrap_type_t flex_wrap; + float flex; + float margin[4]; + float position[4]; + /** + * You should skip all the rules that contain negative values for the + * following attributes. For example: + * {padding: 10, paddingLeft: -5} + * should output: + * {left: 10 ...} + * the following two are incorrect: + * {left: -5 ...} + * {left: 0 ...} + */ + float padding[4]; + float border[4]; + float dimensions[2]; +} css_style_t; + +typedef struct css_node { + css_style_t style; + css_layout_t layout; + int children_count; + + css_dim_t (*measure)(void *context, float width); + void (*print)(void *context); + struct css_node* (*get_child)(void *context, int i); + bool (*is_dirty)(void *context); + void *context; +} css_node_t; + + +// Lifecycle of nodes and children +css_node_t *new_css_node(void); +void init_css_node(css_node_t *node); +void free_css_node(css_node_t *node); + +// Print utilities +typedef enum { + CSS_PRINT_LAYOUT = 1, + CSS_PRINT_STYLE = 2, + CSS_PRINT_CHILDREN = 4, +} css_print_options_t; +void print_css_node(css_node_t *node, css_print_options_t options); + +// Function that computes the layout! +void layoutNode(css_node_t *node, float maxWidth); +bool isUndefined(float value); + +#endif diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTAlertManager.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTAlertManager.h new file mode 100644 index 000000000..e24e0bc95 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTAlertManager.h @@ -0,0 +1,9 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTBridgeModule.h" + +@interface RCTAlertManager : NSObject + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTAnimationType.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTAnimationType.h new file mode 100644 index 000000000..dae90b845 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTAnimationType.h @@ -0,0 +1,11 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +typedef NS_ENUM(NSInteger, RCTAnimationType) { + RCTAnimationTypeSpring = 0, + RCTAnimationTypeLinear, + RCTAnimationTypeEaseIn, + RCTAnimationTypeEaseOut, + RCTAnimationTypeEaseInEaseOut, +}; diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTAssert.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTAssert.h new file mode 100644 index 000000000..66f670430 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTAssert.h @@ -0,0 +1,36 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#define RCTErrorDomain @"RCTErrorDomain" + +#define RCTAssert(condition, message, ...) _RCTAssert(condition, message, ##__VA_ARGS__) +#define RCTCAssert(condition, message, ...) _RCTCAssert(condition, message, ##__VA_ARGS__) + +typedef void (^RCTAssertFunction)(BOOL condition, NSString *message, ...); + +extern RCTAssertFunction RCTInjectedAssertFunction; +extern RCTAssertFunction RCTInjectedCAssertFunction; + +void RCTInjectAssertFunctions(RCTAssertFunction assertFunction, RCTAssertFunction cAssertFunction); + +#define _RCTAssert(condition, message, ...) \ +do { \ + if (RCTInjectedAssertFunction) { \ + RCTInjectedAssertFunction(condition, message, ##__VA_ARGS__); \ + } else { \ + NSAssert(condition, message, ##__VA_ARGS__); \ + } \ +} while (false) + +#define _RCTCAssert(condition, message, ...) \ +do { \ + if (RCTInjectedCAssertFunction) { \ + RCTInjectedCAssertFunction(condition, message, ##__VA_ARGS__); \ + } else { \ + NSCAssert(condition, message, ##__VA_ARGS__); \ + } \ +} while (false) + +#define RCTAssertMainThread() RCTAssert([NSThread isMainThread], @"This method must be called on the main thread"); +#define RCTCAssertMainThread() RCTCAssert([NSThread isMainThread], @"This function must be called on the main thread"); diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTAutoInsetsProtocol.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTAutoInsetsProtocol.h new file mode 100644 index 000000000..4f1cd4ba2 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTAutoInsetsProtocol.h @@ -0,0 +1,13 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +/** + * Defines a View that wants to support auto insets adjustment + */ +@protocol RCTAutoInsetsProtocol + +@property (nonatomic, assign, readwrite) UIEdgeInsets contentInset; +@property (nonatomic, assign, readwrite) BOOL automaticallyAdjustContentInsets; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTBridge.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTBridge.h new file mode 100644 index 000000000..9a890a07a --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTBridge.h @@ -0,0 +1,107 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTBridgeModule.h" +#import "RCTInvalidating.h" +#import "RCTJavaScriptExecutor.h" + +@class RCTBridge; +@class RCTEventDispatcher; +@class RCTRootView; + +/** + * Utilities for constructing common response objects. When sending a + * systemError back to JS, it's important to describe whether or not it was a + * system error, or API usage error. System errors should never happen and are + * therefore logged using `RCTLogError()`. API usage errors are expected if the + * API is misused and will therefore not be logged using `RCTLogError()`. The JS + * application code is expected to handle them. Regardless of type, each error + * should be logged at most once. + */ +static inline NSDictionary *RCTSystemErrorObject(NSString *msg) +{ + return @{@"systemError": msg ?: @""}; +} + +static inline NSDictionary *RCTAPIErrorObject(NSString *msg) +{ + return @{@"apiError": msg ?: @""}; +} + +/** + * This block can be used to instantiate modules that require additional + * init parameters, or additional configuration prior to being used. + */ +typedef NSArray *(^RCTBridgeModuleProviderBlock)(RCTBridge *bridge); + +/** + * Async batched bridge used to communicate with the JavaScript application. + */ +@interface RCTBridge : NSObject + +/** + * The designated initializer. This creates a new bridge on top of the specified + * executor. The bridge should then be used for all subsequent communication + * with the JavaScript code running in the executor. Modules will be automatically + * instantiated using the default contructor, but you can optionally pass in a + * module provider block to manually instantiate modules that require additional + * init parameters or configuration. + */ +- (instancetype)initWithJavaScriptExecutor:(id)javaScriptExecutor + moduleProvider:(RCTBridgeModuleProviderBlock)block NS_DESIGNATED_INITIALIZER; + +/** + * This method is used to call functions in the JavaScript application context. + * It is primarily intended for use by modules that require two-way communication + * with the JavaScript code. + */ +- (void)enqueueJSCall:(NSString *)moduleDotMethod args:(NSArray *)args; + +/** + * This method is used to execute a new application script. It is called + * internally whenever a JS application bundle is loaded/reloaded, but should + * probably not be used at any other time. + */ +- (void)enqueueApplicationScript:(NSString *)script url:(NSURL *)url onComplete:(RCTJavaScriptCompleteBlock)onComplete; + +/** + * The event dispatcher is a wrapper around -enqueueJSCall:args: that provides a + * higher-level interface for sending UI events such as touches and text input. + */ +@property (nonatomic, readonly) RCTEventDispatcher *eventDispatcher; + +/** + * A dictionary of all registered RCTBridgeModule instances, keyed by moduleName. + */ +@property (nonatomic, copy, readonly) NSDictionary *modules; + +/** + * The shadow queue is used to execute callbacks from the JavaScript code. All + * native hooks (e.g. exported module methods) will be executed on the shadow + * queue. + */ +@property (nonatomic, readonly) dispatch_queue_t shadowQueue; + +// For use in implementing delegates, which may need to queue responses. +- (RCTResponseSenderBlock)createResponseSenderBlock:(NSInteger)callbackID; + +/** + * Register a root view with the bridge. Theorectically, a single bridge can + * support multiple root views, however this feature is not currently exposed + * and may eventually be removed. + */ +- (void)registerRootView:(RCTRootView *)rootView; + +/** + * Global logging function that will print to both xcode and JS debugger consoles. + * + * NOTE: Use via RCTLog* macros defined in RCTLog.h + * TODO (#5906496): should log function be exposed here, or could it be a module? + */ ++ (void)log:(NSArray *)objects level:(NSString *)level; + +/** + * Method to check that a valid executor exists with which to log + */ ++ (BOOL)hasValidJSExecutor; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTBridgeModule.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTBridgeModule.h new file mode 100644 index 000000000..d9df70a22 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTBridgeModule.h @@ -0,0 +1,64 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTJSMethodRegistrar.h" + +@class RCTBridge; + +/** + * The type of a block that is capable of sending a response to a bridged + * operation. Use this for returning callback methods to JS. + */ +typedef void (^RCTResponseSenderBlock)(NSArray *response); + +/** + * Provides the interface needed to register a bridge module. + */ +@protocol RCTBridgeModule +@optional + +/** + * Optional initializer for modules that require access + * to bridge features, such as sending events or making JS calls + */ +- (instancetype)initWithBridge:(RCTBridge *)bridge; + +/** + * The module name exposed to JS. If omitted, this will be inferred + * automatically by using the native module's class name. + */ ++ (NSString *)moduleName; + +/** + * Place this macro inside the method body of any method you want to expose + * to JS. The optional js_name argument will be used as the JS method name + * (the method will be namespaced to the module name, as specified above). + * If omitted, the JS method name will match the first part of the Objective-C + * method selector name (up to the first colon). + */ +#define RCT_EXPORT(js_name) __attribute__((used, section("__DATA,RCTExport" \ +))) static const char *__rct_export_entry__[] = { __func__, #js_name } + +/** + * Injects constants into JS. These constants are made accessible via + * NativeModules.moduleName.X. Note that this method is not inherited when you + * subclass a module, and you should not call [super constantsToExport] when + * implementing it. + */ ++ (NSDictionary *)constantsToExport; + +/** + * Some "constants" are not really constant, and need to be re-generated + * each time the bridge module is created. Support for this feature is + * deprecated and may be going away or changing, but for now you can use + * the -constantsToExport instance method to register these "pseudo-constants". + */ +- (NSDictionary *)constantsToExport; + +/** + * Notifies the module that a batch of JS method invocations has just completed. + */ +- (void)batchDidComplete; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTCache.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTCache.h new file mode 100644 index 000000000..75943ae4f --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTCache.h @@ -0,0 +1,22 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@interface RCTCache : NSObject + +- (instancetype)init; // name = @"default" +- (instancetype)initWithName:(NSString *)name; + +@property (nonatomic, assign) NSUInteger maximumDiskSize; // in bytes + +#pragma mark - Retrieval + +- (BOOL)hasDataForKey:(NSString *)key; +- (void)fetchDataForKey:(NSString *)key completionHandler:(void (^)(NSData *data))completionHandler; + +#pragma mark - Insertion + +- (void)setData:(NSData *)data forKey:(NSString *)key; +- (void)removeAllData; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTContextExecutor.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTContextExecutor.h new file mode 100644 index 000000000..638ad8ba6 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTContextExecutor.h @@ -0,0 +1,21 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTJavaScriptExecutor.h" + +// TODO (#5906496): Might RCTJSCoreExecutor be a better name for this? + +/** + * Uses a JavaScriptCore context as the execution engine. + */ +@interface RCTContextExecutor : NSObject + +/** + * Configures the executor to run JavaScript on a custom performer. + * You probably don't want to use this; use -init instead. + */ +- (instancetype)initWithJavaScriptThread:(NSThread *)javaScriptThread + globalContextRef:(JSGlobalContextRef)context; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTConvert.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTConvert.h new file mode 100644 index 000000000..51a6b76ce --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTConvert.h @@ -0,0 +1,85 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import +#import + +#import "Layout.h" +#import "RCTPointerEvents.h" +#import "RCTAnimationType.h" + +/** + * This class provides a collection of conversion functions for mapping + * JSON objects to native types and classes. These are useful when writing + * custom RCTViewManager setter methods. + */ +@interface RCTConvert : NSObject + ++ (BOOL)BOOL:(id)json; ++ (double)double:(id)json; ++ (float)float:(id)json; ++ (int)int:(id)json; + ++ (NSString *)NSString:(id)json; ++ (NSNumber *)NSNumber:(id)json; ++ (NSInteger)NSInteger:(id)json; ++ (NSUInteger)NSUInteger:(id)json; + ++ (NSURL *)NSURL:(id)json; ++ (NSURLRequest *)NSURLRequest:(id)json; + ++ (NSDate *)NSDate:(id)json; ++ (NSTimeZone *)NSTimeZone:(id)json; ++ (NSTimeInterval)NSTimeInterval:(id)json; + ++ (NSTextAlignment)NSTextAlignment:(id)json; ++ (NSWritingDirection)NSWritingDirection:(id)json; ++ (UITextAutocapitalizationType)UITextAutocapitalizationType:(id)json; ++ (UIKeyboardType)UIKeyboardType:(id)json; + ++ (CGFloat)CGFloat:(id)json; ++ (CGPoint)CGPoint:(id)json; ++ (CGSize)CGSize:(id)json; ++ (CGRect)CGRect:(id)json; ++ (UIEdgeInsets)UIEdgeInsets:(id)json; + ++ (CATransform3D)CATransform3D:(id)json; ++ (CGAffineTransform)CGAffineTransform:(id)json; + ++ (UIColor *)UIColor:(id)json; ++ (CGColorRef)CGColor:(id)json; + ++ (CAKeyframeAnimation *)GIF:(id)json; ++ (UIImage *)UIImage:(id)json; ++ (CGImageRef)CGImage:(id)json; + ++ (UIFont *)UIFont:(UIFont *)font withSize:(id)json; ++ (UIFont *)UIFont:(UIFont *)font withWeight:(id)json; ++ (UIFont *)UIFont:(UIFont *)font withFamily:(id)json; ++ (UIFont *)UIFont:(UIFont *)font withFamily:(id)json size:(id)json weight:(id)json; + ++ (BOOL)css_overflow:(id)json; ++ (css_flex_direction_t)css_flex_direction_t:(id)json; ++ (css_justify_t)css_justify_t:(id)json; ++ (css_align_t)css_align_t:(id)json; ++ (css_position_type_t)css_position_type_t:(id)json; ++ (css_wrap_type_t)css_wrap_type_t:(id)json; + ++ (RCTPointerEvents)RCTPointerEvents:(id)json; ++ (RCTAnimationType)RCTAnimationType:(id)json; + +@end + +/** + * This function will attempt to set a property using a json value by first + * inferring the correct type from all available information, and then + * applying an appropriate conversion method. If the property does not + * exist, or the type cannot be inferred, the function will return NO. + */ +BOOL RCTSetProperty(id target, NSString *keypath, id json); + +/** + * This function attempts to copy a property from the source object to the + * destination object using KVC. If the property does not exist, or cannot + * be set, it will do nothing and return NO. + */ +BOOL RCTCopyProperty(id target, id source, NSString *keypath); diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTEventDispatcher.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTEventDispatcher.h new file mode 100644 index 000000000..5c97c8de6 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTEventDispatcher.h @@ -0,0 +1,66 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@class RCTBridge; + +typedef NS_ENUM(NSInteger, RCTTextEventType) { + RCTTextEventTypeFocus, + RCTTextEventTypeBlur, + RCTTextEventTypeChange, + RCTTextEventTypeSubmit, + RCTTextEventTypeEnd +}; + +typedef NS_ENUM(NSInteger, RCTScrollEventType) { + RCTScrollEventTypeStart, + RCTScrollEventTypeMove, + RCTScrollEventTypeEnd, + RCTScrollEventTypeStartDeceleration, + RCTScrollEventTypeEndDeceleration, + RCTScrollEventTypeEndAnimation, +}; + +/** + * This class wraps the -[RCTBridge enqueueJSCall:args:] method, and + * provides some convenience methods for generating event calls. + */ +@interface RCTEventDispatcher : NSObject + +- (instancetype)initWithBridge:(RCTBridge *)bridge; + +/** + * Send an application-specific event that does not relate to a specific + * view, e.g. a navigation or data update notification. + */ +- (void)sendAppEventWithName:(NSString *)name body:(id)body; + +/** + * Send a device or iOS event that does not relate to a specific view, + * e.g.rotation, location, keyboard show/hide, background/awake, etc. + */ +- (void)sendDeviceEventWithName:(NSString *)name body:(id)body; + +/** + * Send a user input event. The body dictionary must contain a "target" + * parameter, representing the react tag of the view sending the event + */ +- (void)sendInputEventWithName:(NSString *)name body:(NSDictionary *)body; + +/** + * Send a text input/focus event. + */ +- (void)sendTextEventWithType:(RCTTextEventType)type + reactTag:(NSNumber *)reactTag + text:(NSString *)text; + +/** + * Send a scroll event. + * (You can send a fake scroll event by passing nil for scrollView). + */ +- (void)sendScrollEventWithType:(RCTScrollEventType)type + reactTag:(NSNumber *)reactTag + scrollView:(UIScrollView *)scrollView + userData:(NSDictionary *)userData; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTExceptionsManager.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTExceptionsManager.h new file mode 100644 index 000000000..02ea33202 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTExceptionsManager.h @@ -0,0 +1,9 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTBridgeModule.h" + +@interface RCTExceptionsManager : NSObject + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTInvalidating.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTInvalidating.h new file mode 100644 index 000000000..e810519fd --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTInvalidating.h @@ -0,0 +1,16 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +// TODO (#5906496): is there a reason for this protocol? It seems to be +// used in a number of places where it isn't really required - only the +// RCTBridge actually ever calls casts to it - in all other +// cases it is simply a way of adding some method definitions to classes + +@protocol RCTInvalidating + +@property (nonatomic, assign, readonly, getter = isValid) BOOL valid; + +- (void)invalidate; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTJSMethodRegistrar.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTJSMethodRegistrar.h new file mode 100644 index 000000000..20a35a96b --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTJSMethodRegistrar.h @@ -0,0 +1,24 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@class RCTBridge; + +/** + * Provides an interface to register JS methods to be called via the bridge. + */ +@protocol RCTJSMethodRegistrar +@optional + +/** + * An array of JavaScript methods that the class will call via the + * -[RCTBridge enqueueJSCall:args:] method. Each method should be specified + * as a string of the form "JSModuleName.jsMethodName". Attempting to call a + * method that has not been registered will result in an error. If a method + * has already been registered by another class, it is not necessary to + * register it again, but it is good practice. Registering the same method + * more than once is silently ignored and will not result in an error. + */ ++ (NSArray *)JSMethods; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTJavaScriptExecutor.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTJavaScriptExecutor.h new file mode 100644 index 000000000..7062570a4 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTJavaScriptExecutor.h @@ -0,0 +1,35 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTInvalidating.h" + +typedef void (^RCTJavaScriptCompleteBlock)(NSError *error); +typedef void (^RCTJavaScriptCallback)(id objcValue, NSError *error); + +/** + * Abstracts away a JavaScript execution context - we may be running code in a + * web view (for debugging purposes), or may be running code in a `JSContext`. + */ +@protocol RCTJavaScriptExecutor + +/** + * Executes given method with arguments on JS thread and calls the given callback + * with JSValue and JSContext as a result of the JS module call. + */ +- (void)executeJSCall:(NSString *)name + method:(NSString *)method + arguments:(NSArray *)arguments + callback:(RCTJavaScriptCallback)onComplete; + +/** + * Runs an application script, and notifies of the script load being complete via `onComplete`. + */ +- (void)executeApplicationScript:(NSString *)script + sourceURL:(NSURL *)url + onComplete:(RCTJavaScriptCompleteBlock)onComplete; + +- (void)injectJSONText:(NSString *)script + asGlobalObjectNamed:(NSString *)objectName + callback:(RCTJavaScriptCompleteBlock)onComplete; +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTKeyCommands.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTKeyCommands.h new file mode 100644 index 000000000..f6748826e --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTKeyCommands.h @@ -0,0 +1,28 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@interface RCTKeyCommands : NSObject + ++ (instancetype)sharedInstance; + +/** + * Register a keyboard command. + */ +- (void)registerKeyCommandWithInput:(NSString *)input + modifierFlags:(UIKeyModifierFlags)flags + action:(void (^)(UIKeyCommand *command))block; + +/** + * Unregister a keyboard command. + */ +- (void)unregisterKeyCommandWithInput:(NSString *)input + modifierFlags:(UIKeyModifierFlags)flags; + +/** + * Check if a command is registered. + */ +- (BOOL)isKeyCommandRegisteredForInput:(NSString *)input + modifierFlags:(UIKeyModifierFlags)flags; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTLog.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTLog.h new file mode 100644 index 000000000..a97d13458 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTLog.h @@ -0,0 +1,69 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTAssert.h" +#import "RCTRedBox.h" + +#define RCTLOG_INFO 1 +#define RCTLOG_WARN 2 +#define RCTLOG_ERROR 3 +#define RCTLOG_MUSTFIX 4 + +// If set to e.g. `RCTLOG_ERROR`, will assert after logging the first error. +#if DEBUG +#define RCTLOG_FATAL_LEVEL RCTLOG_MUSTFIX +#define RCTLOG_REDBOX_LEVEL RCTLOG_ERROR +#else +#define RCTLOG_FATAL_LEVEL (RCTLOG_MUSTFIX + 1) +#define RCTLOG_REDBOX_LEVEL (RCTLOG_MUSTFIX + 1) +#endif + +// If defined, only log messages that match this regex will fatal +#define RCTLOG_FATAL_REGEX nil + +#define _RCTLog(__RCTLog__level, ...) do { \ + NSString *__RCTLog__levelStr; \ + switch(__RCTLog__level) { \ + case RCTLOG_INFO: __RCTLog__levelStr = @"info"; break; \ + case RCTLOG_WARN: __RCTLog__levelStr = @"warn"; break; \ + case RCTLOG_ERROR: __RCTLog__levelStr = @"error"; break; \ + case RCTLOG_MUSTFIX: __RCTLog__levelStr = @"mustfix"; break; \ + } \ + NSString *__RCTLog__msg = _RCTLogObjects(RCTLogFormat(__VA_ARGS__), __RCTLog__levelStr); \ + if (__RCTLog__level >= RCTLOG_FATAL_LEVEL) { \ + BOOL __RCTLog__fail = YES; \ + if (RCTLOG_FATAL_REGEX) { \ + NSError *__RCTLog__e; \ + NSRegularExpression *__RCTLog__regex = [NSRegularExpression regularExpressionWithPattern:RCTLOG_FATAL_REGEX options:0 error:&__RCTLog__e]; \ + __RCTLog__fail = [__RCTLog__regex numberOfMatchesInString:__RCTLog__msg options:0 range:NSMakeRange(0, [__RCTLog__msg length])] > 0; \ + } \ + RCTCAssert(!__RCTLog__fail, @"RCTLOG_FATAL_LEVEL %@: %@", __RCTLog__levelStr, __RCTLog__msg); \ + } \ + if (__RCTLog__level >= RCTLOG_REDBOX_LEVEL) { \ + RCTRedBox *__RCTLog__redBox = [RCTRedBox sharedInstance]; \ + [__RCTLog__redBox showErrorMessage:__RCTLog__msg]; \ + } \ +} while (0) + +#define RCTLog(...) _RCTLog(RCTLOG_INFO, __VA_ARGS__) +#define RCTLogInfo(...) _RCTLog(RCTLOG_INFO, __VA_ARGS__) +#define RCTLogWarn(...) _RCTLog(RCTLOG_WARN, __VA_ARGS__) +#define RCTLogError(...) _RCTLog(RCTLOG_ERROR, __VA_ARGS__) +#define RCTLogMustFix(...) _RCTLog(RCTLOG_MUSTFIX, __VA_ARGS__) + +#define RCTLogFormat(...) _RCTLogFormat(__FILE__, __LINE__, __PRETTY_FUNCTION__, __VA_ARGS__) +#define RCTLogFormatString(...) _RCTLogFormatString(__FILE__, __LINE__, __PRETTY_FUNCTION__, __VA_ARGS__) + +#ifdef __cplusplus +extern "C" { +#endif + +NSString *_RCTLogObjects(NSArray *objects, NSString *level); +NSArray *_RCTLogFormat(const char *file, int lineNumber, const char *funcName, NSString *format, ...) NS_FORMAT_FUNCTION(4,5); +NSString *_RCTLogFormatString(const char *file, int lineNumber, const char *funcName, NSString *format, ...) NS_FORMAT_FUNCTION(4,5); + +#ifdef __cplusplus +} +#endif + +typedef void (^RCTLogFunction)(NSString *format, NSString *str); +void RCTInjectLogFunction(RCTLogFunction func); diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTNavItem.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTNavItem.h new file mode 100644 index 000000000..68f12fd45 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTNavItem.h @@ -0,0 +1,14 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@interface RCTNavItem : UIView + +@property (nonatomic, copy) NSString *title; +@property (nonatomic, copy) NSString *rightButtonTitle; +@property (nonatomic, copy) NSString *backButtonTitle; +@property (nonatomic, copy) UIColor *tintColor; +@property (nonatomic, copy) UIColor *barTintColor; +@property (nonatomic, copy) UIColor *titleTextColor; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTNavItemManager.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTNavItemManager.h new file mode 100644 index 000000000..3c2a32105 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTNavItemManager.h @@ -0,0 +1,8 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTViewManager.h" + +@interface RCTNavItemManager : RCTViewManager + +@end + diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTNavigator.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTNavigator.h new file mode 100644 index 000000000..5d928efa7 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTNavigator.h @@ -0,0 +1,26 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTInvalidating.h" + +@class RCTEventDispatcher; + +@interface RCTNavigator : UIView + +@property (nonatomic, strong) UIView *reactNavSuperviewLink; +@property (nonatomic, assign) NSInteger requestedTopOfStack; + +- (instancetype)initWithEventDispatcher:(RCTEventDispatcher *)eventDispatcher; + +/** + * Schedules a JavaScript navigation and prevents `UIKit` from navigating until + * JavaScript has sent its scheduled navigation. + * + * @returns Whether or not a JavaScript driven navigation could be + * scheduled/reserved. If returning `NO`, JavaScript should usually just do + * nothing at all. + */ +- (BOOL)requestSchedulingJavaScriptNavigation; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTNavigatorManager.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTNavigatorManager.h new file mode 100644 index 000000000..d32d21096 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTNavigatorManager.h @@ -0,0 +1,8 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTViewManager.h" + +@interface RCTNavigatorManager : RCTViewManager + +@end + diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTPointerEvents.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTPointerEvents.h new file mode 100644 index 000000000..522bcce4c --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTPointerEvents.h @@ -0,0 +1,10 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +typedef NS_ENUM(NSInteger, RCTPointerEvents) { + RCTPointerEventsUnspecified = 0, // Default + RCTPointerEventsNone, + RCTPointerEventsBoxNone, + RCTPointerEventsBoxOnly, +}; diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTRedBox.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTRedBox.h new file mode 100644 index 000000000..82137eb06 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTRedBox.h @@ -0,0 +1,16 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@interface RCTRedBox : NSObject + ++ (instancetype)sharedInstance; + +- (void)showErrorMessage:(NSString *)message; +- (void)showErrorMessage:(NSString *)message withDetails:(NSString *)details; +- (void)showErrorMessage:(NSString *)message withStack:(NSArray *)stack; +- (void)updateErrorMessage:(NSString *)message withStack:(NSArray *)stack; + +- (void)dismiss; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTRootView.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTRootView.h new file mode 100644 index 000000000..240c000c3 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTRootView.h @@ -0,0 +1,44 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@interface RCTRootView : UIView + +/** + * The URL of the bundled application script (required). + * Setting this will clear the view contents, and trigger + * an asynchronous load/download and execution of the script. + */ +@property (nonatomic, strong) NSURL *scriptURL; + +/** + * The name of the JavaScript module to execute within the + * specified scriptURL (required). Setting this will not have + * any immediate effect, but it must be done prior to loading + * the script. + */ +@property (nonatomic, copy) NSString *moduleName; + +/** + * The default properties to apply to the view when the script bundle + * is first loaded. Defaults to nil/empty. + */ +@property (nonatomic, copy) NSDictionary *initialProperties; + +/** + * The class of the RCTJavaScriptExecutor to use with this view. + * If not specified, it will default to using RCTContextExecutor. + * Changes will take effect next time the bundle is reloaded. + */ +@property (nonatomic, strong) Class executorClass; + +/** + * Reload this root view, or all root views, respectively. + */ +- (void)reload; ++ (void)reloadAll; + +- (void)startOrResetInteractionTiming; +- (NSDictionary *)endAndResetInteractionTiming; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTScrollView.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTScrollView.h new file mode 100644 index 000000000..82667b205 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTScrollView.h @@ -0,0 +1,37 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTAutoInsetsProtocol.h" +#import "RCTScrollableProtocol.h" +#import "RCTView.h" + +@protocol UIScrollViewDelegate; + +@class RCTEventDispatcher; + +@interface RCTScrollView : RCTView + +/** + * If the `contentSize` is not provided, then the `contentSize` will + * automatically be determined by the size of the `RKScrollView` subview. + * + * The `RCTScrollView` may have at most one single subview. This will ensure + * that the scroll view's `contentSize` will be efficiently set to the size of + * the single subview's frame. That frame size will be determined somewhat + * efficiently since it will have already been computed by the off-main-thread + * layout system. + */ +@property (nonatomic, readonly) UIScrollView *scrollView; +@property (nonatomic, readonly) UIView *contentView; + +@property (nonatomic, assign) CGSize contentSize; +@property (nonatomic, assign) UIEdgeInsets contentInset; +@property (nonatomic, assign) BOOL automaticallyAdjustContentInsets; +@property (nonatomic, assign) NSUInteger throttleScrollCallbackMS; +@property (nonatomic, assign) BOOL centerContent; +@property (nonatomic, copy) NSArray *stickyHeaderIndices; + +- (instancetype)initWithEventDispatcher:(RCTEventDispatcher *)eventDispatcher; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTScrollViewManager.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTScrollViewManager.h new file mode 100644 index 000000000..835e1c322 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTScrollViewManager.h @@ -0,0 +1,8 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTViewManager.h" + +@interface RCTScrollViewManager : RCTViewManager + +@end + diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTScrollableProtocol.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTScrollableProtocol.h new file mode 100644 index 000000000..a0ae7b611 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTScrollableProtocol.h @@ -0,0 +1,18 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +/** + * Contains any methods related to scrolling. Any `RCTView` that has scrolling + * features should implement these methods. + */ +@protocol RCTScrollableProtocol + +@property (nonatomic, readwrite, weak) NSObject *nativeMainScrollDelegate; +@property (nonatomic, readonly) CGSize contentSize; + +- (void)scrollToOffset:(CGPoint)offset; +- (void)scrollToOffset:(CGPoint)offset animated:(BOOL)animated; +- (void)zoomToRect:(CGRect)rect animated:(BOOL)animated; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTShadowView.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTShadowView.h new file mode 100644 index 000000000..ec2b8c353 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTShadowView.h @@ -0,0 +1,159 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "Layout.h" +#import "RCTViewNodeProtocol.h" + +@class RCTSparseArray; + +// TODO: amalgamate these enums? +typedef NS_ENUM(NSUInteger, RCTLayoutLifecycle) { + RCTLayoutLifecycleUninitialized = 0, + RCTLayoutLifecycleComputed, + RCTLayoutLifecycleDirtied, +}; + +// TODO: is this still needed? +typedef NS_ENUM(NSUInteger, RCTPropagationLifecycle) { + RCTPropagationLifecycleUninitialized = 0, + RCTPropagationLifecycleComputed, + RCTPropagationLifecycleDirtied, +}; + +// TODO: move this to text node? +typedef NS_ENUM(NSUInteger, RCTTextLifecycle) { + RCTTextLifecycleUninitialized = 0, + RCTTextLifecycleComputed, + RCTTextLifecycleDirtied, +}; + +// TODO: is this redundact now? +typedef void (^RCTApplierBlock)(RCTSparseArray *); + +/** + * ShadowView tree mirrors RCT view tree. Every node is highly stateful. + * 1. A node is in one of three lifecycles: uninitialized, computed, dirtied. + * 1. RCTBridge may call any of the padding/margin/width/height/top/left setters. A setter would dirty + * the node and all of its ancestors. + * 2. At the end of each Bridge transaction, we call collectUpdatedFrames:widthConstraint:heightConstraint + * at the root node to recursively lay out the entire hierarchy. + * 3. If a node is "computed" and the constraint passed from above is identical to the constraint used to + * perform the last computation, we skip laying out the subtree entirely. + */ +@interface RCTShadowView : NSObject + +@property (nonatomic, weak, readonly) RCTShadowView *superview; +@property (nonatomic, assign, readonly) css_node_t *cssNode; +@property (nonatomic, copy) NSString *moduleName; +@property (nonatomic, assign) BOOL isBGColorExplicitlySet; // Used to propogate to children +@property (nonatomic, strong) UIColor *backgroundColor; // Used to propogate to children +@property (nonatomic, assign) RCTLayoutLifecycle layoutLifecycle; + +/** + * isNewView - Used to track the first time the view is introduced into the hierarchy. It is initialized YES, then is + * set to NO in RCTUIManager after the layout pass is done and all frames have been extracted to be applied to the + * corresponding UIViews. + */ +@property (nonatomic, assign, getter=isNewView) BOOL newView; + +/** + * Is this the shadowView for an RCTRootView + */ +@property (nonatomic, assign, getter=isReactRootView) BOOL reactRootView; + +/** + * Position and dimensions. + * Defaults to { 0, 0, NAN, NAN }. + */ +@property (nonatomic, assign) CGFloat top; +@property (nonatomic, assign) CGFloat left; +@property (nonatomic, assign) CGFloat width; +@property (nonatomic, assign) CGFloat height; +@property (nonatomic, assign) CGRect frame; + +- (void)setTopLeft:(CGPoint)topLeft; +- (void)setSize:(CGSize)size; + +/** + * Border. Defaults to { 0, 0, 0, 0 }. + */ +@property (nonatomic, assign) CGFloat borderTop; +@property (nonatomic, assign) CGFloat borderLeft; +@property (nonatomic, assign) CGFloat borderWidth; +@property (nonatomic, assign) CGFloat borderHeight; + +- (void)setBorderWidth:(CGFloat)value; + +/** + * Margin. Defaults to { 0, 0, 0, 0 }. + */ +@property (nonatomic, assign) CGFloat marginTop; +@property (nonatomic, assign) CGFloat marginLeft; +@property (nonatomic, assign) CGFloat marginBottom; +@property (nonatomic, assign) CGFloat marginRight; + +- (void)setMargin:(CGFloat)margin; +- (void)setMarginVertical:(CGFloat)margin; +- (void)setMarginHorizontal:(CGFloat)margin; + +/** + * Padding. Defaults to { 0, 0, 0, 0 }. + */ +@property (nonatomic, assign) CGFloat paddingTop; +@property (nonatomic, assign) CGFloat paddingLeft; +@property (nonatomic, assign) CGFloat paddingBottom; +@property (nonatomic, assign) CGFloat paddingRight; + +- (void)setPadding:(CGFloat)padding; +- (void)setPaddingVertical:(CGFloat)padding; +- (void)setPaddingHorizontal:(CGFloat)padding; + +- (UIEdgeInsets)paddingAsInsets; + +/** + * Flexbox properties. All zero/disabled by default + */ +@property (nonatomic, assign) css_flex_direction_t flexDirection; +@property (nonatomic, assign) css_justify_t justifyContent; +@property (nonatomic, assign) css_align_t alignSelf; +@property (nonatomic, assign) css_align_t alignItems; +@property (nonatomic, assign) css_position_type_t positionType; +@property (nonatomic, assign) css_wrap_type_t flexWrap; +@property (nonatomic, assign) CGFloat flex; + +- (void)collectUpdatedProperties:(NSMutableSet *)viewsWithNewProperties parentProperties:(NSDictionary *)parentProperties; +- (void)collectRootUpdatedFrames:(NSMutableSet *)viewsWithNewFrame parentConstraint:(CGSize)parentConstraint; +- (void)fillCSSNode:(css_node_t *)node; + +// The following are implementation details exposed to subclasses. Do not call them directly +- (void)dirtyLayout; +- (BOOL)isLayoutDirty; + +// TODO: is this still needed? +- (void)dirtyPropagation; +- (BOOL)isPropagationDirty; + +// TODO: move this to text node? +- (void)dirtyText; +- (BOOL)isTextDirty; +- (void)setTextComputed; + +/** + * Triggers a recalculation of the shadow view's layout. + */ +- (void)updateShadowViewLayout; + +/** + * Computes the recursive offset, meaning the sum of all descendant offsets - + * this is the sum of all positions inset from parents. This is not merely the + * sum of `top`/`left`s, as this function uses the *actual* positions of + * children, not the style specified positions - it computes this based on the + * resulting layout. It does not yet compensate for native scroll view insets or + * transforms or anchor points. Returns an array containing the `x, y, width, + * height` of the shadow view relative to the ancestor, or `nil` if the `view` + * is not a descendent of `ancestor`. + */ ++ (CGRect)measureLayout:(RCTShadowView *)view relativeTo:(RCTShadowView *)ancestor; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTSparseArray.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTSparseArray.h new file mode 100644 index 000000000..47ad346f1 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTSparseArray.h @@ -0,0 +1,31 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@interface RCTSparseArray : NSObject + +- (instancetype)initWithCapacity:(NSUInteger)capacity NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithSparseArray:(RCTSparseArray *)sparseArray NS_DESIGNATED_INITIALIZER; + ++ (instancetype)sparseArray; ++ (instancetype)sparseArrayWithCapacity:(NSUInteger)capacity; ++ (instancetype)sparseArrayWithSparseArray:(RCTSparseArray *)sparseArray; + +// Use nil object to remove at idx. +- (void)setObject:(id)obj atIndexedSubscript:(NSUInteger)idx; +- (id)objectAtIndexedSubscript:(NSUInteger)idx; + +// Use nil obj to remove at key. +- (void)setObject:(id)obj forKeyedSubscript:(NSNumber *)key; +- (id)objectForKeyedSubscript:(NSNumber *)key; + +@property (readonly, nonatomic) NSUInteger count; +@property (readonly, nonatomic, copy) NSArray *allIndexes; +@property (readonly, nonatomic, copy) NSArray *allObjects; + +- (void)enumerateObjectsUsingBlock:(void (^)(id obj, NSNumber *idx, BOOL *stop))block; +- (void)enumerateObjectsWithOptions:(NSEnumerationOptions)opts usingBlock:(void (^)(id obj, NSNumber *idx, BOOL *stop))block; + +- (void)removeAllObjects; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTStaticImage.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTStaticImage.h new file mode 100644 index 000000000..75906be39 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTStaticImage.h @@ -0,0 +1,10 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@interface RCTStaticImage : UIImageView + +@property (nonatomic, assign) UIEdgeInsets capInsets; +@property (nonatomic, assign) UIImageRenderingMode renderingMode; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTStaticImageManager.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTStaticImageManager.h new file mode 100644 index 000000000..ab89cb96b --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTStaticImageManager.h @@ -0,0 +1,7 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTViewManager.h" + +@interface RCTStaticImageManager : RCTViewManager + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTStatusBarManager.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTStatusBarManager.h new file mode 100644 index 000000000..830393521 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTStatusBarManager.h @@ -0,0 +1,9 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTBridgeModule.h" + +@interface RCTStatusBarManager : NSObject + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTTextField.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTTextField.h new file mode 100644 index 000000000..2a0225f27 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTTextField.h @@ -0,0 +1,15 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@class RCTEventDispatcher; + +@interface RCTTextField : UITextField + +@property (nonatomic, assign) BOOL caretHidden; +@property (nonatomic, assign) BOOL autoCorrect; +@property (nonatomic, assign) UIEdgeInsets paddingEdgeInsets; // TODO: contentInset + +- (instancetype)initWithEventDispatcher:(RCTEventDispatcher *)eventDispatcher; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTTextFieldManager.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTTextFieldManager.h new file mode 100644 index 000000000..1f83a47d8 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTTextFieldManager.h @@ -0,0 +1,8 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTViewManager.h" + +@interface RCTTextFieldManager : RCTViewManager + +@end + diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTTiming.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTTiming.h new file mode 100644 index 000000000..aa55c2521 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTTiming.h @@ -0,0 +1,10 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTBridgeModule.h" +#import "RCTInvalidating.h" + +@interface RCTTiming : NSObject + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTTouchHandler.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTTouchHandler.h new file mode 100644 index 000000000..53379a78a --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTTouchHandler.h @@ -0,0 +1,15 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTInvalidating.h" + +@class RCTBridge; + +@interface RCTTouchHandler : UIGestureRecognizer + +- (instancetype)initWithBridge:(RCTBridge *)bridge; +- (void)startOrResetInteractionTiming; +- (NSDictionary *)endAndResetInteractionTiming; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTUIActivityIndicatorViewManager.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTUIActivityIndicatorViewManager.h new file mode 100644 index 000000000..d67661359 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTUIActivityIndicatorViewManager.h @@ -0,0 +1,7 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTViewManager.h" + +@interface RCTUIActivityIndicatorViewManager : RCTViewManager + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTUIManager.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTUIManager.h new file mode 100644 index 000000000..87e91118a --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTUIManager.h @@ -0,0 +1,26 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTBridgeModule.h" +#import "RCTInvalidating.h" + +@class RCTRootView; + +@protocol RCTScrollableProtocol; + +@interface RCTUIManager : NSObject + +@property (nonatomic, weak) id mainScrollView; + +/** + * Allows native environment code to respond to "the main scroll view" events. + * see `RCTUIManager`'s `setMainScrollViewTag`. + */ +@property (nonatomic, readwrite, weak) id nativeMainScrollDelegate; + +- (void)registerRootView:(RCTRootView *)rootView; + ++ (UIView *)JSResponder; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTUtils.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTUtils.h new file mode 100644 index 000000000..3612b1f27 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTUtils.h @@ -0,0 +1,41 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import +#import +#import + +#import "RCTAssert.h" + +// Macro to indicate when inherited initializer is not to be used +#define RCT_NOT_DESIGNATED_INITIALIZER() \ +do { \ + RCTAssert(NO, @"%@ is not the designated initializer for instances of %@.", NSStringFromSelector(_cmd), [self class]); \ + return nil; \ +} while (0) + +// Utility functions for JSON object <-> string serialization/deserialization +NSString *RCTJSONStringify(id jsonObject, NSError **error); +id RCTJSONParse(NSString *jsonString, NSError **error); + +// Get MD5 hash of a string (TODO: currently unused. Remove?) +NSString *RCTMD5Hash(NSString *string); + +// Get screen metrics in a thread-safe way +CGFloat RCTScreenScale(void); +CGSize RCTScreenSize(void); + +// Round float coordinates to nearest whole screen pixel (not point) +CGFloat RCTRoundPixelValue(CGFloat value); +CGFloat RCTCeilPixelValue(CGFloat value); +CGFloat RCTFloorPixelValue(CGFloat value); + +// Get current time, for precise performance metrics +NSTimeInterval RCTTGetAbsoluteTime(void); + +// Method swizzling +void RCTSwapClassMethods(Class cls, SEL original, SEL replacement); +void RCTSwapInstanceMethods(Class cls, SEL original, SEL replacement); + +// Module subclass support +BOOL RCTClassOverridesClassMethod(Class cls, SEL selector); +BOOL RCTClassOverridesInstanceMethod(Class cls, SEL selector); diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTView.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTView.h new file mode 100644 index 000000000..77dee1df8 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTView.h @@ -0,0 +1,24 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTView.h" + +#import + +#import "RCTPointerEvents.h" + +@protocol RCTAutoInsetsProtocol; + +@interface RCTView : UIView + +@property (nonatomic, assign) RCTPointerEvents pointerEvents; +@property (nonatomic, copy) NSString *overrideAccessibilityLabel; + ++ (void)autoAdjustInsetsForView:(UIView *)parentView + withScrollView:(UIScrollView *)scrollView + updateOffset:(BOOL)updateOffset; + ++ (UIViewController *)backingViewControllerForView:(UIView *)view; + ++ (UIEdgeInsets)contentInsetsForView:(UIView *)curView; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTViewManager.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTViewManager.h new file mode 100644 index 000000000..e77be09c1 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTViewManager.h @@ -0,0 +1,148 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTConvert.h" +#import "RCTLog.h" + +@class RCTEventDispatcher; +@class RCTShadowView; +@class RCTSparseArray; +@class RCTUIManager; + +typedef void (^RCTViewManagerUIBlock)(RCTUIManager *uiManager, RCTSparseArray *viewRegistry); + +@interface RCTViewManager : NSObject + +/** + * Designated initializer for view modules. Override this when subclassing. + */ +- (instancetype)initWithEventDispatcher:(RCTEventDispatcher *)eventDispatcher NS_DESIGNATED_INITIALIZER; + +/** + * The event dispatcher is used to send events back to the JavaScript application. + * It can either be used directly by the module, or passed on to instantiated + * view subclasses so that they can handle their own events. + */ +@property (nonatomic, readonly, weak) RCTEventDispatcher *eventDispatcher; + +/** + * The module name exposed to React JS. If omitted, this will be inferred + * automatically by using the view module's class name. It is better to not + * override this, and just follow standard naming conventions for your view + * module subclasses. + */ ++ (NSString *)moduleName; + +/** + * This method instantiates a native view to be managed by the module. Override + * this to return a custom view instance, which may be preconfigured with default + * properties, subviews, etc. This method will be called many times, and should + * return a fresh instance each time. The view module MUST NOT cache the returned + * view and return the same instance for subsequent calls. + */ +- (UIView *)view; + +/** + * This method instantiates a shadow view to be managed by the module. If omitted, + * an ordinary RCTShadowView instance will be created, which is typically fine for + * most view types. As with the -view method, the -shadowView method should return + * a fresh instance each time it is called. + */ +- (RCTShadowView *)shadowView; + +/** + * Returns a dictionary of config data passed to JS that defines eligible events + * that can be placed on native views. This should return bubbling + * directly-dispatched event types and specify what names should be used to + * subscribe to either form (bubbling/capturing). + * + * Returned dictionary should be of the form: @{ + * @"onTwirl": { + * @"phasedRegistrationNames": @{ + * @"bubbled": @"onTwirl", + * @"captured": @"onTwirlCaptured" + * } + * } + * } + * + * Note that this method is not inherited when you subclass a view module, and + * you should not call [super customBubblingEventTypes] when overriding it. + */ ++ (NSDictionary *)customBubblingEventTypes; + +/** + * Returns a dictionary of config data passed to JS that defines eligible events + * that can be placed on native views. This should return non-bubbling + * directly-dispatched event types. + * + * Returned dictionary should be of the form: @{ + * @"onTwirl": { + * @"registrationName": @"onTwirl" + * } + * } + * + * Note that this method is not inherited when you subclass a view module, and + * you should not call [super customDirectEventTypes] when overriding it. + */ ++ (NSDictionary *)customDirectEventTypes; + +/** + * Injects constants into JS. These constants are made accessible via + * NativeModules.moduleName.X. Note that this method is not inherited when you + * subclass a view module, and you should not call [super constantsToExport] + * when overriding it. + */ ++ (NSDictionary *)constantsToExport; + +/** + * To deprecate, hopefully + */ +- (RCTViewManagerUIBlock)uiBlockToAmendWithShadowViewRegistry:(RCTSparseArray *)shadowViewRegistry; + +/** + * Informal protocol for setting view and shadowView properties. + * Implement methods matching these patterns to set any properties that + * require special treatment (e.g. where the type or name cannot be inferred). + * + * - (void)set_:(id)property + * forView:(UIView *)view + * withDefaultView:(UIView *)defaultView; + * + * - (void)set_:(id)property + * forShadowView:(RCTShadowView *)view + * withDefaultView:(RCTShadowView *)defaultView; + * + * For simple cases, use the macros below: + */ + +/** + * This handles the simple case, where JS and native property names match + * And the type can be automatically inferred. + */ +#define RCT_EXPORT_VIEW_PROPERTY(name) \ +RCT_REMAP_VIEW_PROPERTY(name, name) + +/** + * This macro maps a named property on the module to an arbitrary key path + * within the view. + */ +#define RCT_REMAP_VIEW_PROPERTY(name, keypath) \ +- (void)set_##name:(id)json forView:(id)view withDefaultView:(id)defaultView { \ + if ((json && !RCTSetProperty(view, @#keypath, json)) || \ + (!json && !RCTCopyProperty(view, defaultView, @#keypath))) { \ + RCTLogMustFix(@"%@ does not have setter for `%s` property", [view class], #name); \ + } \ +} + +/** + * These are useful in cases where the module's superclass handles a + * property, but you wish to "unhandle" it, so it will be ignored. + */ +#define RCT_IGNORE_VIEW_PROPERTY(name) \ +- (void)set_##name:(id)value forView:(id)view withDefaultView:(id)defaultView {} + +#define RCT_IGNORE_SHADOW_PROPERTY(name) \ +- (void)set_##name:(id)value forShadowView:(id)view withDefaultView:(id)defaultView {} + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTViewNodeProtocol.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTViewNodeProtocol.h new file mode 100644 index 000000000..1fa3e252b --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTViewNodeProtocol.h @@ -0,0 +1,26 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +/** + + * Logical node in a tree of application components. Both `ShadowView`s and + * `UIView+ReactKit`s conform to this. Allows us to write utilities that + * reason about trees generally. + */ +@protocol RCTViewNodeProtocol + +@property (nonatomic, strong) NSNumber *reactTag; + +- (void)insertReactSubview:(id)subview atIndex:(NSInteger)atIndex; +- (void)removeReactSubview:(id)subview; +- (NSMutableArray *)reactSubviews; +- (NSNumber *)reactTagAtPoint:(CGPoint)point; + +// View is an RCTRootView +- (BOOL)isReactRootView; + +@optional + +// TODO: Deprecate this +- (void)reactBridgeDidFinishTransaction; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTWebViewExecutor.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTWebViewExecutor.h new file mode 100644 index 000000000..7f695f3f3 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTWebViewExecutor.h @@ -0,0 +1,35 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTJavaScriptExecutor.h" + +/** + * Uses an embedded web view merely for the purpose of being able to reuse the + * existing webkit debugging tools. Fulfills the role of a very constrained + * `JSContext`, which we call `RCTJavaScriptExecutor`. + * + * TODO: To ensure production-identical execution, scrub the window + * environment. And ensure main thread operations are actually added to a queue + * instead of being executed immediately if already on the main thread. + */ +@interface RCTWebViewExecutor : NSObject + +// Only one callback stored - will only be invoked for the latest issued +// application script request. +@property (nonatomic, copy) RCTJavaScriptCompleteBlock onApplicationScriptLoaded; + +/** + * Instantiate with a specific webview instance + */ +- (instancetype)initWithWebView:(UIWebView *)webView NS_DESIGNATED_INITIALIZER; + +/** + * Invoke this to reclaim the web view for reuse. This is necessary in order to + * allow debuggers to remain open, when creating a new `RCTWebViewExecutor`. + * This guards against the web view being invalidated, and makes sure the + * `delegate` is cleared first. + */ +- (UIWebView *)invalidateAndReclaimWebView; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTWrapperViewController.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTWrapperViewController.h new file mode 100644 index 000000000..d8f22270a --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/RCTWrapperViewController.h @@ -0,0 +1,24 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@class RCTEventDispatcher; +@class RCTNavItem; +@class RCTWrapperViewController; + +@protocol RCTWrapperViewControllerNavigationListener + +- (void)wrapperViewController:(RCTWrapperViewController *)wrapperViewController +didMoveToNavigationController:(UINavigationController *)navigationController; + +@end + +@interface RCTWrapperViewController : UIViewController + +- (instancetype)initWithContentView:(UIView *)contentView eventDispatcher:(RCTEventDispatcher *)eventDispatcher; +- (instancetype)initWithNavItem:(RCTNavItem *)navItem eventDispatcher:(RCTEventDispatcher *)eventDispatcher; + +@property (nonatomic, readwrite, weak) id navigationListener; +@property (nonatomic, strong, readwrite) RCTNavItem *navItem; + +@end diff --git a/Examples/TicTacToe/Pods/Headers/Public/ReactKit/UIView+ReactKit.h b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/UIView+ReactKit.h new file mode 100644 index 000000000..3e45da8e7 --- /dev/null +++ b/Examples/TicTacToe/Pods/Headers/Public/ReactKit/UIView+ReactKit.h @@ -0,0 +1,11 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTViewNodeProtocol.h" + +//TODO: let's try to eliminate this category if possible + +@interface UIView (ReactKit) + +@end diff --git a/Examples/TicTacToe/Pods/Local Podspecs/RCTNetworkImage.podspec b/Examples/TicTacToe/Pods/Local Podspecs/RCTNetworkImage.podspec new file mode 100644 index 000000000..47eb0e5f6 --- /dev/null +++ b/Examples/TicTacToe/Pods/Local Podspecs/RCTNetworkImage.podspec @@ -0,0 +1,28 @@ +Pod::Spec.new do |spec| + spec.name = 'RCTNetworkImage' + spec.version = '0.0.1' + spec.summary = 'Provides basic Text capabilities in ReactNative apps.' + spec.description = <<-DESC + Text can be rendered in ReactNative apps with the component using this module. + DESC + spec.homepage = 'https://facebook.github.io/react-native/' + spec.license = { :type => 'BSD' } + spec.author = 'Facebook' + spec.platform = :ios, '7.0' + spec.requires_arc = true + spec.source_files = '**/*.{h,m,c}' + spec.dependency "ReactKit", "~> 0.0.1" + + # ――― Project Linking ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # Link your library with frameworks, or libraries. Libraries do not include + # the lib prefix of their name. + # + + # s.framework = "SomeFramework" + # s.frameworks = "SomeFramework", "AnotherFramework" + + # s.library = "iconv" + #spec.libraries = "RCTNetworkImage", "ReactKit" + +end diff --git a/Examples/TicTacToe/Pods/Local Podspecs/RCTText.podspec b/Examples/TicTacToe/Pods/Local Podspecs/RCTText.podspec new file mode 100644 index 000000000..656e0ee74 --- /dev/null +++ b/Examples/TicTacToe/Pods/Local Podspecs/RCTText.podspec @@ -0,0 +1,28 @@ +Pod::Spec.new do |spec| + spec.name = 'RCTText' + spec.version = '0.0.1' + spec.summary = 'Provides basic Text capabilities in ReactNative apps.' + spec.description = <<-DESC + Text can be rendered in ReactNative apps with the component using this module. + DESC + spec.homepage = 'https://facebook.github.io/react-native/' + spec.license = { :type => 'BSD' } + spec.author = 'Facebook' + spec.platform = :ios, '7.0' + spec.requires_arc = true + spec.source_files = '**/*.{h,m,c}' + spec.dependency "ReactKit", "~> 0.0.1" + + # ――― Project Linking ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # Link your library with frameworks, or libraries. Libraries do not include + # the lib prefix of their name. + # + + # s.framework = "SomeFramework" + # s.frameworks = "SomeFramework", "AnotherFramework" + + # s.library = "iconv" + #spec.libraries = "RCTText", "ReactKit" + +end diff --git a/Examples/TicTacToe/Pods/Local Podspecs/ReactKit.podspec b/Examples/TicTacToe/Pods/Local Podspecs/ReactKit.podspec new file mode 100644 index 000000000..3e1a8a6e2 --- /dev/null +++ b/Examples/TicTacToe/Pods/Local Podspecs/ReactKit.podspec @@ -0,0 +1,16 @@ +Pod::Spec.new do |spec| + spec.name = 'ReactKit' + spec.version = '0.0.1' + spec.summary = 'An implementation of React that targets UIKit for iOS' + spec.description = <<-DESC + Our first React Native implementation is ReactKit, targeting iOS. We are also working on an Android implementation which we will release later. ReactKit apps are built using the React JS framework, and render directly to native UIKit elements using a fully asynchronous architecture. There is no browser and no HTML. We have picked what we think is the best set of features from these and other technologies to build what we hope to become the best product development framework available, with an emphasis on iteration speed, developer delight, continuity of technology, and absolutely beautiful and fast products with no compromises in quality or capability. + DESC + spec.homepage = 'https://facebook.github.io/react-native/' + spec.license = { :type => 'BSD' } + spec.author = 'Facebook' + spec.platform = :ios, '7.0' + spec.requires_arc = true + spec.source_files = '**/*.{h,m,c}' + spec.public_header_files = "**/*.h" + #spec.library = "ReactKit" +end diff --git a/Examples/TicTacToe/Pods/Manifest.lock b/Examples/TicTacToe/Pods/Manifest.lock new file mode 100644 index 000000000..79377f7f5 --- /dev/null +++ b/Examples/TicTacToe/Pods/Manifest.lock @@ -0,0 +1,26 @@ +PODS: + - RCTNetworkImage (0.0.1): + - ReactKit (~> 0.0.1) + - RCTText (0.0.1): + - ReactKit (~> 0.0.1) + - ReactKit (0.0.1) + +DEPENDENCIES: + - RCTNetworkImage (from `../../Libraries/Image`) + - RCTText (from `../../Libraries/Text`) + - ReactKit (from `../../ReactKit`) + +EXTERNAL SOURCES: + RCTNetworkImage: + :path: ../../Libraries/Image + RCTText: + :path: ../../Libraries/Text + ReactKit: + :path: ../../ReactKit + +SPEC CHECKSUMS: + RCTNetworkImage: 6d99735875916e098a65c68a54a72e67e24a402a + RCTText: 5c0cf4635241e8c02e8933853df03809d2dc8327 + ReactKit: 65c02c1e95951c198e491d2a4c1972675d4af254 + +COCOAPODS: 0.35.0 diff --git a/Examples/TicTacToe/Pods/Pods.xcodeproj/project.pbxproj b/Examples/TicTacToe/Pods/Pods.xcodeproj/project.pbxproj new file mode 100644 index 000000000..970a5d205 --- /dev/null +++ b/Examples/TicTacToe/Pods/Pods.xcodeproj/project.pbxproj @@ -0,0 +1,3898 @@ + + + + + archiveVersion + 1 + classes + + objectVersion + 46 + objects + + 005E47CD37DA97006CE65B99 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + RCTText.h + sourceTree + <group> + + 00CA6F6E234DA9FAFC268F4C + + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + CLANG_CXX_LANGUAGE_STANDARD + gnu++0x + CLANG_CXX_LIBRARY + libc++ + CLANG_ENABLE_MODULES + YES + CLANG_ENABLE_OBJC_ARC + YES + CLANG_WARN_BOOL_CONVERSION + YES + CLANG_WARN_CONSTANT_CONVERSION + YES + CLANG_WARN_DIRECT_OBJC_ISA_USAGE + YES + CLANG_WARN_EMPTY_BODY + YES + CLANG_WARN_ENUM_CONVERSION + YES + CLANG_WARN_INT_CONVERSION + YES + CLANG_WARN_OBJC_ROOT_CLASS + YES + COPY_PHASE_STRIP + NO + ENABLE_NS_ASSERTIONS + NO + GCC_C_LANGUAGE_STANDARD + gnu99 + GCC_PREPROCESSOR_DEFINITIONS + + RELEASE=1 + + GCC_WARN_64_TO_32_BIT_CONVERSION + YES + GCC_WARN_ABOUT_RETURN_TYPE + YES + GCC_WARN_UNDECLARED_SELECTOR + YES + GCC_WARN_UNINITIALIZED_AUTOS + YES + GCC_WARN_UNUSED_FUNCTION + YES + GCC_WARN_UNUSED_VARIABLE + YES + IPHONEOS_DEPLOYMENT_TARGET + 7.0 + STRIP_INSTALLED_PRODUCT + NO + VALIDATE_PRODUCT + YES + + isa + XCBuildConfiguration + name + Release + + 02011DF072CE86BD3AD237F3 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTUIManager.h + path + Modules/RCTUIManager.h + sourceTree + <group> + + 03219EE301E4BE34C4E26BF5 + + buildActionMask + 2147483647 + files + + ED09FCD5EBB9DAA998867B1F + 51DA8A2705C963385CCF407E + 244F3E3D12A6582888A3FDAC + 55461293CD520E1A61389C81 + BFEF41FE0A9C6E4BF083A1C4 + + isa + PBXHeadersBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 0446F952AD32FA99CE53021F + + buildActionMask + 2147483647 + files + + 43AA89FA9AC4BA1666D9422F + + isa + PBXFrameworksBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 046F50050C1051EB89B1CC2D + + fileRef + 569C3E0B54CE022FD9433B66 + isa + PBXBuildFile + + 0524E24381502D7EB46CCF29 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTBridge.h + path + Base/RCTBridge.h + sourceTree + <group> + + 054AB43B546728B2ACD9DE38 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + Pods-dummy.m + sourceTree + <group> + + 0678F15E5799E801FBBB82EE + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTWebViewExecutor.m + path + Executors/RCTWebViewExecutor.m + sourceTree + <group> + + 068A30BD4A2404B5DAEBE221 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTShadowView.h + path + Views/RCTShadowView.h + sourceTree + <group> + + 0966A648227568DA76319358 + + fileRef + 2461A7AF21FB638CED912FE3 + isa + PBXBuildFile + + 097BE8E1E29CD333D067E047 + + buildConfigurations + + DFEDA529E62F398E0E66A864 + CCCA2CC55157BFF72767CEAB + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + 0C288D473E48E342E2E09095 + + fileRef + 22669B7FF7DBBF51202945CD + isa + PBXBuildFile + + 0D3A42D393008EEAD192C928 + + fileRef + 12FAC13993C100C3FDBD0DD8 + isa + PBXBuildFile + + 0D4B28DA9FC2C4CB2B2874B3 + + fileRef + 5F3DD45AD214483F15E95111 + isa + PBXBuildFile + + 0D723FDEF5CC9DBD086EAB39 + + fileRef + 7E1B11B9B4C3FFCEFFD1F35D + isa + PBXBuildFile + + 0EC776D336E22CBCEE4678E8 + + explicitFileType + archive.ar + includeInIndex + 0 + isa + PBXFileReference + path + libPods.a + sourceTree + BUILT_PRODUCTS_DIR + + 0F992DA69BD971F9C2BF439E + + fileRef + 78082D94239F5CEB5959B0B2 + isa + PBXBuildFile + + 12FAC13993C100C3FDBD0DD8 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTNavigatorManager.m + path + Views/RCTNavigatorManager.m + sourceTree + <group> + + 132DE36D6DB2D0F70C09CE89 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTAlertManager.m + path + Modules/RCTAlertManager.m + sourceTree + <group> + + 14F2CD18D70F8E4D68AC5B7A + + buildActionMask + 2147483647 + files + + BB0B04F7F63902EED012528E + 8ECFD3E48BD636104455BB71 + 38E3244F957866F7F0C32D86 + 62A59B690CB532CADE33707A + 28C1D5D42E3F1D2B39F0705C + 640DB00247945B46A90D77BB + EA79968832417354B40F6352 + 6817FF9F9174ADBAD78127A3 + 1AED708527053A371CD9B773 + D879CE28A1189AB3CA754538 + A9BAD3EC8ABCA9694CAF96F7 + 2DAADC70BCF143DF7CA581E1 + 9E520B28129AD787FE9C67D8 + 1CEA503C817DE70221AD83F8 + 4F949B8D09B678579C19C66A + FAE203974E438996878047C2 + 5D95EA92C79D8C7588A091E2 + F9ECFBDEC272AF69A54935F9 + B9DEE348987356C83C27DD9E + 4639D2C096C861AE4FEDB1BE + E1C485676C801FFCB46D93D0 + F68991A42B4CF608AF91EBB5 + 83C5FDC3F8BE71F2109194A8 + C07D1DDFE8D93ECEDF0E97C1 + ABFBF65F5D61F7EA440E25A8 + 404B71EC96CEA99711DAE44C + 69E62A75FE90251221950A25 + 7DE6E8E2D2109F67434864E2 + 47ECAF504BAF1A40ECB4755C + 0966A648227568DA76319358 + 4DA996F14A25031E40FF5B20 + 6966836B9D0C1BA7F411C883 + 716937CEA06BA6300F2CFD38 + 7A9E043C29916787D48A9DC3 + 97C2676E499C58904665B945 + 77BFD1192ACD1153CD3B92C2 + 759D943C6812DD195ABE9354 + 4E9FB0C0547065C3A59FF16D + F069246D046DFFE7CF05DE92 + C618E1B2CFF909C6273ABD4D + 529B63BA987480726B6C3FC3 + C77D22DADA6D43EC7CC8478A + 2566A98F79CE35E42FC8FBB8 + 046F50050C1051EB89B1CC2D + D4D507D020AD79183E1DD916 + + isa + PBXHeadersBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 15478769A7025E67403CF8F6 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + RCTText.m + sourceTree + <group> + + 1568A6E0A0EFBABC6271F94D + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTUtils.m + path + Base/RCTUtils.m + sourceTree + <group> + + 156E154B035C85C750DA3DE2 + + buildConfigurationList + E484553771DAF5F08178C966 + buildPhases + + C043A8B738F0E880E4E71CF4 + DDEDAE8AD808715BBCF5DC6C + + buildRules + + dependencies + + EDBE5D54C93BC128C25036AD + 3ACDD0E0A9EED6CBCC130B09 + 85336AD28D003EA10FC44AD9 + + isa + PBXNativeTarget + name + Pods + productName + Pods + productReference + 0EC776D336E22CBCEE4678E8 + productType + com.apple.product-type.library.static + + 15D063218D733290ACAF6ECD + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTScrollableProtocol.h + path + Base/RCTScrollableProtocol.h + sourceTree + <group> + + 16B69D05ABC152C41B9129FB + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTLog.h + path + Base/RCTLog.h + sourceTree + <group> + + 16E1299D87C2B7BE1D68024F + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + RCTRawTextManager.m + sourceTree + <group> + + 175C559D2A89B7FC27EFD6C5 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTViewNodeProtocol.h + path + Base/RCTViewNodeProtocol.h + sourceTree + <group> + + 198FD8078EB2E34708CAF463 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + RCTNetworkImageViewManager.m + sourceTree + <group> + + 1AED708527053A371CD9B773 + + fileRef + 289322DAF960C6BD7F2FD8E1 + isa + PBXBuildFile + + 1B437510B4F6BE59E0B8B24F + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text + path + Pods-acknowledgements.markdown + sourceTree + <group> + + 1CEA503C817DE70221AD83F8 + + fileRef + E5FC33A15846273C981E0322 + isa + PBXBuildFile + + 1E0B27EFE9498593A53775FC + + fileRef + FCAC9AFE3E61C78E93EA7E8C + isa + PBXBuildFile + + 1E8BDC022A45A44FA90E9BF5 + + fileRef + 3CC9DC0433D77149CC4DE5DE + isa + PBXBuildFile + + 20F2231C1AEED2919F583DC7 + + buildConfigurationList + 919FCDB927A3933126B3DCFE + buildPhases + + 7D6A37C994847E772C6CF039 + 0446F952AD32FA99CE53021F + 14F2CD18D70F8E4D68AC5B7A + + buildRules + + dependencies + + isa + PBXNativeTarget + name + Pods-ReactKit + productName + Pods-ReactKit + productReference + C575BB07E7B92FA3EBC10949 + productType + com.apple.product-type.library.static + + 22669B7FF7DBBF51202945CD + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTContextExecutor.m + path + Executors/RCTContextExecutor.m + sourceTree + <group> + + 22CB86FDC9D99844724FDDD3 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTTextFieldManager.m + path + Views/RCTTextFieldManager.m + sourceTree + <group> + + 244F3E3D12A6582888A3FDAC + + fileRef + FF03E617D571F159152581FC + isa + PBXBuildFile + + 245789C2D4A68C88E27641D9 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTScrollView.h + path + Views/RCTScrollView.h + sourceTree + <group> + + 2461A7AF21FB638CED912FE3 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTStaticImage.h + path + Views/RCTStaticImage.h + sourceTree + <group> + + 2566A98F79CE35E42FC8FBB8 + + fileRef + 9FF2D7B800439FD8B4118089 + isa + PBXBuildFile + + 2603E0CD923E37E10EED21A8 + + fileRef + 97138ACEE67BD2BDF8A3DEA0 + isa + PBXBuildFile + + 26C00EEFB778EFB7A6703E20 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTAnimationType.h + path + Base/RCTAnimationType.h + sourceTree + <group> + + 27F37EEF056BA05A9FE6548A + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTExceptionsManager.h + path + Modules/RCTExceptionsManager.h + sourceTree + <group> + + 289322DAF960C6BD7F2FD8E1 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTContextExecutor.h + path + Executors/RCTContextExecutor.h + sourceTree + <group> + + 28C1D5D42E3F1D2B39F0705C + + fileRef + CEAD6D174912D6D124A031D9 + isa + PBXBuildFile + + 2A5A7AE725AB3B07B61A40E9 + + baseConfigurationReference + A9E3206FA20E2CAD15028412 + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + COPY_PHASE_STRIP + YES + DSTROOT + /tmp/xcodeproj.dst + GCC_PRECOMPILE_PREFIX_HEADER + YES + INSTALL_PATH + $(BUILT_PRODUCTS_DIR) + IPHONEOS_DEPLOYMENT_TARGET + 7.0 + OTHER_CFLAGS + + -DNS_BLOCK_ASSERTIONS=1 + $(inherited) + + OTHER_CPLUSPLUSFLAGS + + -DNS_BLOCK_ASSERTIONS=1 + $(inherited) + + OTHER_LDFLAGS + + OTHER_LIBTOOLFLAGS + + PRODUCT_NAME + $(TARGET_NAME) + PUBLIC_HEADERS_FOLDER_PATH + $(TARGET_NAME) + SDKROOT + iphoneos + SKIP_INSTALL + YES + VALIDATE_PRODUCT + YES + + isa + XCBuildConfiguration + name + Release + + 2DA5F87EA2CDCEA0ED668578 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTExceptionsManager.m + path + Modules/RCTExceptionsManager.m + sourceTree + <group> + + 2DAADC70BCF143DF7CA581E1 + + fileRef + 27F37EEF056BA05A9FE6548A + isa + PBXBuildFile + + 2E00E46C249C163EBC0418DC + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTUIActivityIndicatorViewManager.h + path + Views/RCTUIActivityIndicatorViewManager.h + sourceTree + <group> + + 2F6BBA653E86409B28911661 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTLog.m + path + Base/RCTLog.m + sourceTree + <group> + + 320294F910FF631F87E183B5 + + baseConfigurationReference + 504F7E363A7AFC9A64B86154 + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + COPY_PHASE_STRIP + YES + DSTROOT + /tmp/xcodeproj.dst + GCC_PRECOMPILE_PREFIX_HEADER + YES + GCC_PREFIX_HEADER + Target Support Files/Pods-RCTText/Pods-RCTText-prefix.pch + INSTALL_PATH + $(BUILT_PRODUCTS_DIR) + IPHONEOS_DEPLOYMENT_TARGET + 7.0 + OTHER_CFLAGS + + -DNS_BLOCK_ASSERTIONS=1 + $(inherited) + + OTHER_CPLUSPLUSFLAGS + + -DNS_BLOCK_ASSERTIONS=1 + $(inherited) + + OTHER_LDFLAGS + + OTHER_LIBTOOLFLAGS + + PRODUCT_NAME + $(TARGET_NAME) + PUBLIC_HEADERS_FOLDER_PATH + $(TARGET_NAME) + SDKROOT + iphoneos + SKIP_INSTALL + YES + VALIDATE_PRODUCT + YES + + isa + XCBuildConfiguration + name + Release + + 32FFFCBE06BA47E77A58F52F + + fileRef + 22CB86FDC9D99844724FDDD3 + isa + PBXBuildFile + + 33E69C46AB97309D4EBFA432 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTViewManager.m + path + Views/RCTViewManager.m + sourceTree + <group> + + 358919F57C8842F2A160F855 + + fileRef + 6AC9ACC04495648FA5060FCD + isa + PBXBuildFile + + 38E3244F957866F7F0C32D86 + + fileRef + 26C00EEFB778EFB7A6703E20 + isa + PBXBuildFile + + 391E46E8F975CA6362AB5DE5 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Pods-RCTText.xcconfig + sourceTree + <group> + + 39206929A27DEBF5CBACB942 + + explicitFileType + archive.ar + includeInIndex + 0 + isa + PBXFileReference + path + libPods-RCTText.a + sourceTree + BUILT_PRODUCTS_DIR + + 3938293AC4D9C3C8B8DDFDC7 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTViewManager.h + path + Views/RCTViewManager.h + sourceTree + <group> + + 3ACDD0E0A9EED6CBCC130B09 + + isa + PBXTargetDependency + name + Pods-RCTText + target + F5D2C09AFAA6986D234BF953 + targetProxy + E1C5A97B9865CABC567B000A + + 3CC9DC0433D77149CC4DE5DE + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTCache.m + path + Base/RCTCache.m + sourceTree + <group> + + 3D3089A4A62A68E4D5BB4562 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTBridge.m + path + Base/RCTBridge.m + sourceTree + <group> + + 3F06663863E59C187B84EAD2 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTStaticImageManager.h + path + Views/RCTStaticImageManager.h + sourceTree + <group> + + 3FDDE45F64AE789BEAED2125 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTNavItem.h + path + Views/RCTNavItem.h + sourceTree + <group> + + 404B71EC96CEA99711DAE44C + + fileRef + E991F096165FA74435C7282D + isa + PBXBuildFile + + 411AACA7B5F606DA03793980 + + fileRef + F6CC16FA65BD5A265088B6B6 + isa + PBXBuildFile + + 427D3517A7FBC3A92AF9E9D4 + + children + + 5D7BCEA99DDC0B36A4C4EB31 + + isa + PBXGroup + name + Targets Support Files + sourceTree + <group> + + 42FCE12743FD1B4702208E0D + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTUtils.h + path + Base/RCTUtils.h + sourceTree + <group> + + 430F4C781E2E7EE9F8CB83FD + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Pods-ReactKit-Private.xcconfig + sourceTree + <group> + + 43AA89FA9AC4BA1666D9422F + + fileRef + 5D5E4CDC94FE8212303F96ED + isa + PBXBuildFile + + 44161614652ABCC200708F4A + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + RCTShadowRawText.h + sourceTree + <group> + + 45775545A25B55D8FF631FF5 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTShadowView.m + path + Views/RCTShadowView.m + sourceTree + <group> + + 4608EE51074A11B61B7BAB45 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Pods-RCTNetworkImage.xcconfig + sourceTree + <group> + + 4637476226C7CEC79C7DE49E + + fileRef + 1568A6E0A0EFBABC6271F94D + isa + PBXBuildFile + + 4639D2C096C861AE4FEDB1BE + + fileRef + B40A54F9CD6C17782376DE87 + isa + PBXBuildFile + + 4648080B27A50C8D028851B3 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTAssert.m + path + Base/RCTAssert.m + sourceTree + <group> + + 47B228B88421B943C6005B10 + + fileRef + F731109AFE06344ABBC4BBE6 + isa + PBXBuildFile + + 47ECAF504BAF1A40ECB4755C + + fileRef + 6C59A8B8703F0BD79C458591 + isa + PBXBuildFile + + 48039B7A25006CE8F45E9619 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + UIView+ReactKit.h + path + Views/UIView+ReactKit.h + sourceTree + <group> + + 491280116436017C4FEC9FD8 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + Layout.h + path + Layout/Layout.h + sourceTree + <group> + + 49199899EB7E17720A69A6A0 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTNavItemManager.h + path + Views/RCTNavItemManager.h + sourceTree + <group> + + 4DA996F14A25031E40FF5B20 + + fileRef + 3F06663863E59C187B84EAD2 + isa + PBXBuildFile + + 4E9FB0C0547065C3A59FF16D + + fileRef + 02011DF072CE86BD3AD237F3 + isa + PBXBuildFile + + 4F949B8D09B678579C19C66A + + fileRef + DD1AEBDB914EF5C49CAAEB46 + isa + PBXBuildFile + + 504F7E363A7AFC9A64B86154 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Pods-RCTText-Private.xcconfig + sourceTree + <group> + + 51DA8A2705C963385CCF407E + + fileRef + 44161614652ABCC200708F4A + isa + PBXBuildFile + + 523EDE48CB10BED172EA70AA + + fileRef + DF17E391C45D5B66999F6D99 + isa + PBXBuildFile + + 529B63BA987480726B6C3FC3 + + fileRef + 3938293AC4D9C3C8B8DDFDC7 + isa + PBXBuildFile + + 530A6D73CAFF37DCB5A52103 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTScrollViewManager.m + path + Views/RCTScrollViewManager.m + sourceTree + <group> + + 54481109ECD4CD40F5F746F8 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTPointerEvents.h + path + Base/RCTPointerEvents.h + sourceTree + <group> + + 55461293CD520E1A61389C81 + + fileRef + 005E47CD37DA97006CE65B99 + isa + PBXBuildFile + + 5675366766067D60156EEAA1 + + fileRef + A53374892CD6B26138B38ADB + isa + PBXBuildFile + + 569C3E0B54CE022FD9433B66 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTWrapperViewController.h + path + Views/RCTWrapperViewController.h + sourceTree + <group> + + 58A59E47157F3E11F33C044F + + buildActionMask + 2147483647 + files + + 7795BA5CF034328C6FAB5599 + 5C917B8E0FE26AB41B2FD624 + 0F992DA69BD971F9C2BF439E + + isa + PBXHeadersBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 5A541D6A294BA6E01BD0CD3A + + baseConfigurationReference + 430F4C781E2E7EE9F8CB83FD + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + COPY_PHASE_STRIP + YES + DSTROOT + /tmp/xcodeproj.dst + GCC_PRECOMPILE_PREFIX_HEADER + YES + GCC_PREFIX_HEADER + Target Support Files/Pods-ReactKit/Pods-ReactKit-prefix.pch + INSTALL_PATH + $(BUILT_PRODUCTS_DIR) + IPHONEOS_DEPLOYMENT_TARGET + 7.0 + OTHER_CFLAGS + + -DNS_BLOCK_ASSERTIONS=1 + $(inherited) + + OTHER_CPLUSPLUSFLAGS + + -DNS_BLOCK_ASSERTIONS=1 + $(inherited) + + OTHER_LDFLAGS + + OTHER_LIBTOOLFLAGS + + PRODUCT_NAME + $(TARGET_NAME) + PUBLIC_HEADERS_FOLDER_PATH + $(TARGET_NAME) + SDKROOT + iphoneos + SKIP_INSTALL + YES + VALIDATE_PRODUCT + YES + + isa + XCBuildConfiguration + name + Release + + 5A8146BE2B9A4E8B080899C7 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTStatusBarManager.h + path + Modules/RCTStatusBarManager.h + sourceTree + <group> + + 5C917B8E0FE26AB41B2FD624 + + fileRef + 79ED42B49D21E04D9AA9DC7F + isa + PBXBuildFile + + 5D44D4115556BA5F81C67E07 + + fileRef + EA77880FBBE6AA7511841605 + isa + PBXBuildFile + + 5D5E4CDC94FE8212303F96ED + + isa + PBXFileReference + lastKnownFileType + wrapper.framework + name + Foundation.framework + path + Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/System/Library/Frameworks/Foundation.framework + sourceTree + DEVELOPER_DIR + + 5D7BCEA99DDC0B36A4C4EB31 + + children + + 1B437510B4F6BE59E0B8B24F + 8F72A8B191D5505279E9254D + 054AB43B546728B2ACD9DE38 + 6B2DF6A0713908E45F8EBE75 + 7DA2E9C4F2BA3289E2668E17 + 6C4193D7074A9FE2AADD31C2 + A9E3206FA20E2CAD15028412 + + isa + PBXGroup + name + Pods + path + Target Support Files/Pods + sourceTree + <group> + + 5D95EA92C79D8C7588A091E2 + + fileRef + 16B69D05ABC152C41B9129FB + isa + PBXBuildFile + + 5F3DD45AD214483F15E95111 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + RCTShadowRawText.m + sourceTree + <group> + + 5F70F61D02759E49CFA5E3EB + + fileRef + 2DA5F87EA2CDCEA0ED668578 + isa + PBXBuildFile + + 60662361B9CC9A2A8D49F638 + + isa + PBXTargetDependency + name + Pods-ReactKit + target + 20F2231C1AEED2919F583DC7 + targetProxy + 7EDCA4090C484196C36B1977 + + 62A59B690CB532CADE33707A + + fileRef + 6FCFD749EEB3861EB75C0534 + isa + PBXBuildFile + + 640DB00247945B46A90D77BB + + fileRef + 0524E24381502D7EB46CCF29 + isa + PBXBuildFile + + 648F4790538BD82BF2B083EF + + baseConfigurationReference + 430F4C781E2E7EE9F8CB83FD + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + COPY_PHASE_STRIP + NO + DSTROOT + /tmp/xcodeproj.dst + GCC_DYNAMIC_NO_PIC + NO + GCC_OPTIMIZATION_LEVEL + 0 + GCC_PRECOMPILE_PREFIX_HEADER + YES + GCC_PREFIX_HEADER + Target Support Files/Pods-ReactKit/Pods-ReactKit-prefix.pch + GCC_PREPROCESSOR_DEFINITIONS + + DEBUG=1 + $(inherited) + + GCC_SYMBOLS_PRIVATE_EXTERN + NO + INSTALL_PATH + $(BUILT_PRODUCTS_DIR) + IPHONEOS_DEPLOYMENT_TARGET + 7.0 + OTHER_LDFLAGS + + OTHER_LIBTOOLFLAGS + + PRODUCT_NAME + $(TARGET_NAME) + PUBLIC_HEADERS_FOLDER_PATH + $(TARGET_NAME) + SDKROOT + iphoneos + SKIP_INSTALL + YES + + isa + XCBuildConfiguration + name + Debug + + 6499B8CCEC40B282FFAADFA6 + + containerPortal + E88354D347CCC1EAC2E787C1 + isa + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + 76D2A8D67E04D111A7938CED + remoteInfo + Pods-RCTNetworkImage + + 6522F5D072C47020817339D9 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTInvalidating.h + path + Base/RCTInvalidating.h + sourceTree + <group> + + 6707B683A72305367066EE6C + + fileRef + 33E69C46AB97309D4EBFA432 + isa + PBXBuildFile + + 6817FF9F9174ADBAD78127A3 + + fileRef + D0F5EC95B7EE03515326948E + isa + PBXBuildFile + + 69220AD94D86BCE4FAE46678 + + children + + 4608EE51074A11B61B7BAB45 + A95BFEC22FBAC588E1B491ED + C9AA6ACBFD421C3D6FAC5329 + C8F7D06CE3D7F4FDED21933F + + isa + PBXGroup + name + Support Files + path + ../../Examples/TicTacToe/Pods/Target Support Files/Pods-RCTNetworkImage + sourceTree + <group> + + 6966836B9D0C1BA7F411C883 + + fileRef + 5A8146BE2B9A4E8B080899C7 + isa + PBXBuildFile + + 69E62A75FE90251221950A25 + + fileRef + 15D063218D733290ACAF6ECD + isa + PBXBuildFile + + 6AC9ACC04495648FA5060FCD + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTRedBox.m + path + Base/RCTRedBox.m + sourceTree + <group> + + 6B2DF6A0713908E45F8EBE75 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + Pods-environment.h + sourceTree + <group> + + 6BC3EB96204A30E4A472DDE4 + + fileRef + 97BAEC30E32259F061CCB7DE + isa + PBXBuildFile + + 6BEE757D0B19EB927C04C0FA + + children + + 0EC776D336E22CBCEE4678E8 + BCDC97F48090DACB87DEC04E + 39206929A27DEBF5CBACB942 + C575BB07E7B92FA3EBC10949 + + isa + PBXGroup + name + Products + sourceTree + <group> + + 6C4193D7074A9FE2AADD31C2 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Pods.debug.xcconfig + sourceTree + <group> + + 6C59A8B8703F0BD79C458591 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTSparseArray.h + path + Base/RCTSparseArray.h + sourceTree + <group> + + 6C5C7F49C76DFD009CE24F54 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTRootView.h + path + Base/RCTRootView.h + sourceTree + <group> + + 6D757E59E707D9B3474721D7 + + buildConfigurations + + CDCB9B4306F2967192C1DAAA + 00CA6F6E234DA9FAFC268F4C + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + 6DA156177295C36FC390E8E9 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + RCTShadowText.m + sourceTree + <group> + + 6E38F96F68680D013AD0812A + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTWrapperViewController.m + path + Views/RCTWrapperViewController.m + sourceTree + <group> + + 6FCFD749EEB3861EB75C0534 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTAssert.h + path + Base/RCTAssert.h + sourceTree + <group> + + 716937CEA06BA6300F2CFD38 + + fileRef + F6F6566819F8D0B545E28AC4 + isa + PBXBuildFile + + 71B93A65A95640972062EC29 + + fileRef + 45775545A25B55D8FF631FF5 + isa + PBXBuildFile + + 72B306867705C5CA14B74DF2 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTNavItemManager.m + path + Views/RCTNavItemManager.m + sourceTree + <group> + + 7308A06BDA47FB20E2FC8005 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTConvert.h + path + Base/RCTConvert.h + sourceTree + <group> + + 759D943C6812DD195ABE9354 + + fileRef + 2E00E46C249C163EBC0418DC + isa + PBXBuildFile + + 76D2A8D67E04D111A7938CED + + buildConfigurationList + 097BE8E1E29CD333D067E047 + buildPhases + + BD29342538528D6DE4038BD2 + DEA6A4B98EA82BEDE81ED513 + 58A59E47157F3E11F33C044F + + buildRules + + dependencies + + B495C09D4F5093AAB731E194 + + isa + PBXNativeTarget + name + Pods-RCTNetworkImage + productName + Pods-RCTNetworkImage + productReference + BCDC97F48090DACB87DEC04E + productType + com.apple.product-type.library.static + + 7701A5C43F0A8424984C6A6A + + fileRef + 6DA156177295C36FC390E8E9 + isa + PBXBuildFile + + 772EDE81A05CD3EA28A869CC + + baseConfigurationReference + 504F7E363A7AFC9A64B86154 + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + COPY_PHASE_STRIP + NO + DSTROOT + /tmp/xcodeproj.dst + GCC_DYNAMIC_NO_PIC + NO + GCC_OPTIMIZATION_LEVEL + 0 + GCC_PRECOMPILE_PREFIX_HEADER + YES + GCC_PREFIX_HEADER + Target Support Files/Pods-RCTText/Pods-RCTText-prefix.pch + GCC_PREPROCESSOR_DEFINITIONS + + DEBUG=1 + $(inherited) + + GCC_SYMBOLS_PRIVATE_EXTERN + NO + INSTALL_PATH + $(BUILT_PRODUCTS_DIR) + IPHONEOS_DEPLOYMENT_TARGET + 7.0 + OTHER_LDFLAGS + + OTHER_LIBTOOLFLAGS + + PRODUCT_NAME + $(TARGET_NAME) + PUBLIC_HEADERS_FOLDER_PATH + $(TARGET_NAME) + SDKROOT + iphoneos + SKIP_INSTALL + YES + + isa + XCBuildConfiguration + name + Debug + + 7795BA5CF034328C6FAB5599 + + fileRef + 895928D325843E9D8B7285FA + isa + PBXBuildFile + + 77AEC7F8659C91198FFFF673 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTNavigatorManager.h + path + Views/RCTNavigatorManager.h + sourceTree + <group> + + 77BFD1192ACD1153CD3B92C2 + + fileRef + B2D7892A9C3245D8D7431C23 + isa + PBXBuildFile + + 78082D94239F5CEB5959B0B2 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + RCTNetworkImageViewManager.h + sourceTree + <group> + + 79ED42B49D21E04D9AA9DC7F + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + RCTNetworkImageView.h + sourceTree + <group> + + 7A9E043C29916787D48A9DC3 + + fileRef + B32480BC0BA8A8BA551E9D00 + isa + PBXBuildFile + + 7B322FB23DF6316D9D0FAB4F + + fileRef + 8E13E32022B45DA13AFC5404 + isa + PBXBuildFile + + 7D62F170107D856DB97A0F27 + + fileRef + 2F6BBA653E86409B28911661 + isa + PBXBuildFile + + 7D6A37C994847E772C6CF039 + + buildActionMask + 2147483647 + files + + FB19B6A03634D6CC16E8D731 + 8C49B230561E49F529C012B5 + 949E5950C7964E60EE8037C2 + BE52F839238A59D2AB82159E + EC5F81AEBB86DCC1C9ECDE59 + 1E8BDC022A45A44FA90E9BF5 + 0C288D473E48E342E2E09095 + 7B322FB23DF6316D9D0FAB4F + 81A3FE9526EC90CC18E84790 + 5F70F61D02759E49CFA5E3EB + 523EDE48CB10BED172EA70AA + 7D62F170107D856DB97A0F27 + AC1A530CDB55406B05665766 + AF5A50F21A42CD8E0BBDF109 + 7EBF30F9E8C4AD6523928C97 + 0D3A42D393008EEAD192C928 + 358919F57C8842F2A160F855 + 2603E0CD923E37E10EED21A8 + E52753A376176D518B300161 + D65313F8C82EBB8E719F5006 + 71B93A65A95640972062EC29 + 0D723FDEF5CC9DBD086EAB39 + 9A489A5B6D91FD9AA80B1B50 + 47B228B88421B943C6005B10 + 5675366766067D60156EEAA1 + 1E0B27EFE9498593A53775FC + 32FFFCBE06BA47E77A58F52F + B1DC103317576FEAB1449D9F + 6BC3EB96204A30E4A472DDE4 + FADF4B43BFFF2AEF6F4A43B8 + 5D44D4115556BA5F81C67E07 + 4637476226C7CEC79C7DE49E + E5508477224F57D3312AC5B9 + 6707B683A72305367066EE6C + EDBE9B4FBE2888A89C7FAAAE + 8631A36CD036B7126537AE0B + F092F906C8A9E95FD09661CE + + isa + PBXSourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + 7DA2E9C4F2BA3289E2668E17 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.script.sh + path + Pods-resources.sh + sourceTree + <group> + + 7DE6E8E2D2109F67434864E2 + + fileRef + 068A30BD4A2404B5DAEBE221 + isa + PBXBuildFile + + 7E1B11B9B4C3FFCEFFD1F35D + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTSparseArray.m + path + Base/RCTSparseArray.m + sourceTree + <group> + + 7EBF30F9E8C4AD6523928C97 + + fileRef + B70F784E53C151C33E1130FF + isa + PBXBuildFile + + 7EDCA4090C484196C36B1977 + + containerPortal + E88354D347CCC1EAC2E787C1 + isa + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + 20F2231C1AEED2919F583DC7 + remoteInfo + Pods-ReactKit + + 80DBEC5108DFE1F49442F2F9 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text + name + Podfile + path + ../Podfile + sourceTree + SOURCE_ROOT + xcLanguageSpecificationIdentifier + xcode.lang.ruby + + 81A3FE9526EC90CC18E84790 + + fileRef + B42844BBEB0C3FCBB4CB7C98 + isa + PBXBuildFile + + 8307F3BCFAD957D08281164A + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTTiming.m + path + Modules/RCTTiming.m + sourceTree + <group> + + 8399DB76B770CB32FA2CD5FF + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTKeyCommands.h + path + Base/RCTKeyCommands.h + sourceTree + <group> + + 83C5FDC3F8BE71F2109194A8 + + fileRef + DE4BA2446E5FB9E2F0C98C34 + isa + PBXBuildFile + + 84A6E86621CA19A1F15ECC01 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + RCTRawTextManager.h + sourceTree + <group> + + 85336AD28D003EA10FC44AD9 + + isa + PBXTargetDependency + name + Pods-ReactKit + target + 20F2231C1AEED2919F583DC7 + targetProxy + 89109953D98B8498BE8FE817 + + 8631A36CD036B7126537AE0B + + fileRef + 6E38F96F68680D013AD0812A + isa + PBXBuildFile + + 88F100D7F9D61D558EF80D8A + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTView.m + path + Views/RCTView.m + sourceTree + <group> + + 89109953D98B8498BE8FE817 + + containerPortal + E88354D347CCC1EAC2E787C1 + isa + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + 20F2231C1AEED2919F583DC7 + remoteInfo + Pods-ReactKit + + 895928D325843E9D8B7285FA + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + RCTImageDownloader.h + sourceTree + <group> + + 8C49B230561E49F529C012B5 + + fileRef + A3731A42F61C724D93CD6A2E + isa + PBXBuildFile + + 8E13E32022B45DA13AFC5404 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTConvert.m + path + Base/RCTConvert.m + sourceTree + <group> + + 8ECFD3E48BD636104455BB71 + + fileRef + E7FA1D0590C4CB610C0FECF2 + isa + PBXBuildFile + + 8F72A8B191D5505279E9254D + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.plist.xml + path + Pods-acknowledgements.plist + sourceTree + <group> + + 919FCDB927A3933126B3DCFE + + buildConfigurations + + 648F4790538BD82BF2B083EF + 5A541D6A294BA6E01BD0CD3A + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + 932B25E8D26A525CAF6ABCC0 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + UIView+ReactKit.m + path + Views/UIView+ReactKit.m + sourceTree + <group> + + 943F495152CC9318EB9F83B1 + + fileRef + 5D5E4CDC94FE8212303F96ED + isa + PBXBuildFile + + 949E5950C7964E60EE8037C2 + + fileRef + 132DE36D6DB2D0F70C09CE89 + isa + PBXBuildFile + + 9659D9A2FEA529295FE42173 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTScrollView.m + path + Views/RCTScrollView.m + sourceTree + <group> + + 97138ACEE67BD2BDF8A3DEA0 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTRootView.m + path + Base/RCTRootView.m + sourceTree + <group> + + 97BAEC30E32259F061CCB7DE + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTTouchHandler.m + path + Base/RCTTouchHandler.m + sourceTree + <group> + + 97C2676E499C58904665B945 + + fileRef + 9AAFEB3BA8925E0E14AE9A9E + isa + PBXBuildFile + + 9A489A5B6D91FD9AA80B1B50 + + fileRef + E55746E91186F585B21DFB68 + isa + PBXBuildFile + + 9AAFEB3BA8925E0E14AE9A9E + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTTiming.h + path + Modules/RCTTiming.h + sourceTree + <group> + + 9B18ECDA237344C06A230FB3 + + containerPortal + E88354D347CCC1EAC2E787C1 + isa + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + 20F2231C1AEED2919F583DC7 + remoteInfo + Pods-ReactKit + + 9C1FE5B0BAC9A97A8309591C + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTUIActivityIndicatorViewManager.m + path + Views/RCTUIActivityIndicatorViewManager.m + sourceTree + <group> + + 9C8A29CEE6A594FF4F429DB3 + + children + + 84A6E86621CA19A1F15ECC01 + 16E1299D87C2B7BE1D68024F + 44161614652ABCC200708F4A + 5F3DD45AD214483F15E95111 + FF03E617D571F159152581FC + 6DA156177295C36FC390E8E9 + 005E47CD37DA97006CE65B99 + 15478769A7025E67403CF8F6 + F213CCB9CD13022BCF3B8578 + DA90B4FBB6B34AAFB1C03F28 + DAC7254DBCF13C5C31A7AF31 + + isa + PBXGroup + name + RCTText + path + ../../../Libraries/Text + sourceTree + <group> + + 9E520B28129AD787FE9C67D8 + + fileRef + 6522F5D072C47020817339D9 + isa + PBXBuildFile + + 9FF2D7B800439FD8B4118089 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTWebViewExecutor.h + path + Executors/RCTWebViewExecutor.h + sourceTree + <group> + + A3731A42F61C724D93CD6A2E + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + Pods-ReactKit-dummy.m + sourceTree + <group> + + A53374892CD6B26138B38ADB + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTStatusBarManager.m + path + Modules/RCTStatusBarManager.m + sourceTree + <group> + + A551474C8E2F85DBAEF20B96 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + RCTImageDownloader.m + sourceTree + <group> + + A63CEAE583EF5324F7786345 + + fileRef + C9AA6ACBFD421C3D6FAC5329 + isa + PBXBuildFile + + A95BFEC22FBAC588E1B491ED + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Pods-RCTNetworkImage-Private.xcconfig + sourceTree + <group> + + A9BAD3EC8ABCA9694CAF96F7 + + fileRef + ACC753B0E880892739890CD6 + isa + PBXBuildFile + + A9CA493A1D0DBFFAC416CF2B + + buildActionMask + 2147483647 + files + + BE926BD26838E67A959563DD + F69EE0ADB66942B5A2F06409 + 0D4B28DA9FC2C4CB2B2874B3 + 7701A5C43F0A8424984C6A6A + F6129F258DCA7C19228C218D + D1ADF19017FFB8A53F8F0885 + + isa + PBXSourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + A9E3206FA20E2CAD15028412 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Pods.release.xcconfig + sourceTree + <group> + + AB98ECCECFE588B641E804DD + + children + + 895928D325843E9D8B7285FA + A551474C8E2F85DBAEF20B96 + 79ED42B49D21E04D9AA9DC7F + F6CC16FA65BD5A265088B6B6 + 78082D94239F5CEB5959B0B2 + 198FD8078EB2E34708CAF463 + 69220AD94D86BCE4FAE46678 + + isa + PBXGroup + name + RCTNetworkImage + path + ../../../Libraries/Image + sourceTree + <group> + + ABFBF65F5D61F7EA440E25A8 + + fileRef + 245789C2D4A68C88E27641D9 + isa + PBXBuildFile + + AC1A530CDB55406B05665766 + + fileRef + DD9C58FDC618EFB182668F97 + isa + PBXBuildFile + + ACC753B0E880892739890CD6 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTEventDispatcher.h + path + Base/RCTEventDispatcher.h + sourceTree + <group> + + AF5A50F21A42CD8E0BBDF109 + + fileRef + 72B306867705C5CA14B74DF2 + isa + PBXBuildFile + + B1DC103317576FEAB1449D9F + + fileRef + 8307F3BCFAD957D08281164A + isa + PBXBuildFile + + B2D7892A9C3245D8D7431C23 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTTouchHandler.h + path + Base/RCTTouchHandler.h + sourceTree + <group> + + B32480BC0BA8A8BA551E9D00 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTTextFieldManager.h + path + Views/RCTTextFieldManager.h + sourceTree + <group> + + B32BDD61D5D87B095411A92F + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + text.xcconfig + path + Pods-ReactKit.xcconfig + sourceTree + <group> + + B40A54F9CD6C17782376DE87 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTNavigator.h + path + Views/RCTNavigator.h + sourceTree + <group> + + B42844BBEB0C3FCBB4CB7C98 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTEventDispatcher.m + path + Base/RCTEventDispatcher.m + sourceTree + <group> + + B495C09D4F5093AAB731E194 + + isa + PBXTargetDependency + name + Pods-ReactKit + target + 20F2231C1AEED2919F583DC7 + targetProxy + 9B18ECDA237344C06A230FB3 + + B70F784E53C151C33E1130FF + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTNavigator.m + path + Views/RCTNavigator.m + sourceTree + <group> + + B9DEE348987356C83C27DD9E + + fileRef + 49199899EB7E17720A69A6A0 + isa + PBXBuildFile + + BB0B04F7F63902EED012528E + + fileRef + 491280116436017C4FEC9FD8 + isa + PBXBuildFile + + BCDC97F48090DACB87DEC04E + + explicitFileType + archive.ar + includeInIndex + 0 + isa + PBXFileReference + path + libPods-RCTNetworkImage.a + sourceTree + BUILT_PRODUCTS_DIR + + BD29342538528D6DE4038BD2 + + buildActionMask + 2147483647 + files + + A63CEAE583EF5324F7786345 + D3EA0626B08FB41301B71BA7 + 411AACA7B5F606DA03793980 + E2BA10A9D9813750516AA99F + + isa + PBXSourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + BD88172D1A926B95F1965628 + + fileRef + 5D5E4CDC94FE8212303F96ED + isa + PBXBuildFile + + BE52F839238A59D2AB82159E + + fileRef + 4648080B27A50C8D028851B3 + isa + PBXBuildFile + + BE926BD26838E67A959563DD + + fileRef + E68B47098BE36BB1B90E7BD6 + isa + PBXBuildFile + + BFEF41FE0A9C6E4BF083A1C4 + + fileRef + F213CCB9CD13022BCF3B8578 + isa + PBXBuildFile + + C043A8B738F0E880E4E71CF4 + + buildActionMask + 2147483647 + files + + F7531B3CBFEDA85A72BF6805 + + isa + PBXSourcesBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + C07D1DDFE8D93ECEDF0E97C1 + + fileRef + 6C5C7F49C76DFD009CE24F54 + isa + PBXBuildFile + + C09FDA6F8073916E1DC7FB77 + + children + + B32BDD61D5D87B095411A92F + 430F4C781E2E7EE9F8CB83FD + A3731A42F61C724D93CD6A2E + FDBD9515B1715137A4E1AD37 + + isa + PBXGroup + name + Support Files + path + ../Examples/TicTacToe/Pods/Target Support Files/Pods-ReactKit + sourceTree + <group> + + C23EA0774A0BD0ACB68E5B0F + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTView.h + path + Views/RCTView.h + sourceTree + <group> + + C426A0F89138E32710FFDBCD + + children + + 80DBEC5108DFE1F49442F2F9 + FE1E926B5C3C10CA3797023E + C521253141932511E561C093 + 6BEE757D0B19EB927C04C0FA + 427D3517A7FBC3A92AF9E9D4 + + isa + PBXGroup + sourceTree + <group> + + C521253141932511E561C093 + + children + + D503EB0531912E6E58954932 + + isa + PBXGroup + name + Frameworks + sourceTree + <group> + + C575BB07E7B92FA3EBC10949 + + explicitFileType + archive.ar + includeInIndex + 0 + isa + PBXFileReference + path + libPods-ReactKit.a + sourceTree + BUILT_PRODUCTS_DIR + + C618E1B2CFF909C6273ABD4D + + fileRef + C23EA0774A0BD0ACB68E5B0F + isa + PBXBuildFile + + C77D22DADA6D43EC7CC8478A + + fileRef + 175C559D2A89B7FC27EFD6C5 + isa + PBXBuildFile + + C8F7D06CE3D7F4FDED21933F + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + Pods-RCTNetworkImage-prefix.pch + sourceTree + <group> + + C9AA6ACBFD421C3D6FAC5329 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + Pods-RCTNetworkImage-dummy.m + sourceTree + <group> + + CCCA2CC55157BFF72767CEAB + + baseConfigurationReference + A95BFEC22FBAC588E1B491ED + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + COPY_PHASE_STRIP + YES + DSTROOT + /tmp/xcodeproj.dst + GCC_PRECOMPILE_PREFIX_HEADER + YES + GCC_PREFIX_HEADER + Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage-prefix.pch + INSTALL_PATH + $(BUILT_PRODUCTS_DIR) + IPHONEOS_DEPLOYMENT_TARGET + 7.0 + OTHER_CFLAGS + + -DNS_BLOCK_ASSERTIONS=1 + $(inherited) + + OTHER_CPLUSPLUSFLAGS + + -DNS_BLOCK_ASSERTIONS=1 + $(inherited) + + OTHER_LDFLAGS + + OTHER_LIBTOOLFLAGS + + PRODUCT_NAME + $(TARGET_NAME) + PUBLIC_HEADERS_FOLDER_PATH + $(TARGET_NAME) + SDKROOT + iphoneos + SKIP_INSTALL + YES + VALIDATE_PRODUCT + YES + + isa + XCBuildConfiguration + name + Release + + CDCB9B4306F2967192C1DAAA + + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + CLANG_CXX_LANGUAGE_STANDARD + gnu++0x + CLANG_CXX_LIBRARY + libc++ + CLANG_ENABLE_MODULES + YES + CLANG_ENABLE_OBJC_ARC + YES + CLANG_WARN_BOOL_CONVERSION + YES + CLANG_WARN_CONSTANT_CONVERSION + YES + CLANG_WARN_DIRECT_OBJC_ISA_USAGE + YES + CLANG_WARN_EMPTY_BODY + YES + CLANG_WARN_ENUM_CONVERSION + YES + CLANG_WARN_INT_CONVERSION + YES + CLANG_WARN_OBJC_ROOT_CLASS + YES + COPY_PHASE_STRIP + YES + GCC_C_LANGUAGE_STANDARD + gnu99 + GCC_DYNAMIC_NO_PIC + NO + GCC_OPTIMIZATION_LEVEL + 0 + GCC_PREPROCESSOR_DEFINITIONS + + DEBUG=1 + $(inherited) + + GCC_SYMBOLS_PRIVATE_EXTERN + NO + GCC_WARN_64_TO_32_BIT_CONVERSION + YES + GCC_WARN_ABOUT_RETURN_TYPE + YES + GCC_WARN_UNDECLARED_SELECTOR + YES + GCC_WARN_UNINITIALIZED_AUTOS + YES + GCC_WARN_UNUSED_FUNCTION + YES + GCC_WARN_UNUSED_VARIABLE + YES + IPHONEOS_DEPLOYMENT_TARGET + 7.0 + ONLY_ACTIVE_ARCH + YES + STRIP_INSTALLED_PRODUCT + NO + + isa + XCBuildConfiguration + name + Debug + + CEAD6D174912D6D124A031D9 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTAutoInsetsProtocol.h + path + Base/RCTAutoInsetsProtocol.h + sourceTree + <group> + + CEDE7930A786744ACDE6592B + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + Pods-RCTText-prefix.pch + sourceTree + <group> + + D0F5EC95B7EE03515326948E + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTCache.h + path + Base/RCTCache.h + sourceTree + <group> + + D1ADF19017FFB8A53F8F0885 + + fileRef + DA90B4FBB6B34AAFB1C03F28 + isa + PBXBuildFile + + D3EA0626B08FB41301B71BA7 + + fileRef + A551474C8E2F85DBAEF20B96 + isa + PBXBuildFile + + D43D7636AEF4C472723FF075 + + buildConfigurations + + 772EDE81A05CD3EA28A869CC + 320294F910FF631F87E183B5 + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + D4D507D020AD79183E1DD916 + + fileRef + 48039B7A25006CE8F45E9619 + isa + PBXBuildFile + + D503EB0531912E6E58954932 + + children + + 5D5E4CDC94FE8212303F96ED + + isa + PBXGroup + name + iOS + sourceTree + <group> + + D65313F8C82EBB8E719F5006 + + fileRef + 530A6D73CAFF37DCB5A52103 + isa + PBXBuildFile + + D879CE28A1189AB3CA754538 + + fileRef + 7308A06BDA47FB20E2FC8005 + isa + PBXBuildFile + + DA90B4FBB6B34AAFB1C03F28 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + RCTTextManager.m + sourceTree + <group> + + DAC7254DBCF13C5C31A7AF31 + + children + + 391E46E8F975CA6362AB5DE5 + 504F7E363A7AFC9A64B86154 + E68B47098BE36BB1B90E7BD6 + CEDE7930A786744ACDE6592B + + isa + PBXGroup + name + Support Files + path + ../../Examples/TicTacToe/Pods/Target Support Files/Pods-RCTText + sourceTree + <group> + + DD1AEBDB914EF5C49CAAEB46 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTJavaScriptExecutor.h + path + Base/RCTJavaScriptExecutor.h + sourceTree + <group> + + DD9C58FDC618EFB182668F97 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTNavItem.m + path + Views/RCTNavItem.m + sourceTree + <group> + + DDEDAE8AD808715BBCF5DC6C + + buildActionMask + 2147483647 + files + + BD88172D1A926B95F1965628 + + isa + PBXFrameworksBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + DE4BA2446E5FB9E2F0C98C34 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTRedBox.h + path + Base/RCTRedBox.h + sourceTree + <group> + + DEA6A4B98EA82BEDE81ED513 + + buildActionMask + 2147483647 + files + + 943F495152CC9318EB9F83B1 + + isa + PBXFrameworksBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + DF17E391C45D5B66999F6D99 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTKeyCommands.m + path + Base/RCTKeyCommands.m + sourceTree + <group> + + DFEDA529E62F398E0E66A864 + + baseConfigurationReference + A95BFEC22FBAC588E1B491ED + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + COPY_PHASE_STRIP + NO + DSTROOT + /tmp/xcodeproj.dst + GCC_DYNAMIC_NO_PIC + NO + GCC_OPTIMIZATION_LEVEL + 0 + GCC_PRECOMPILE_PREFIX_HEADER + YES + GCC_PREFIX_HEADER + Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage-prefix.pch + GCC_PREPROCESSOR_DEFINITIONS + + DEBUG=1 + $(inherited) + + GCC_SYMBOLS_PRIVATE_EXTERN + NO + INSTALL_PATH + $(BUILT_PRODUCTS_DIR) + IPHONEOS_DEPLOYMENT_TARGET + 7.0 + OTHER_LDFLAGS + + OTHER_LIBTOOLFLAGS + + PRODUCT_NAME + $(TARGET_NAME) + PUBLIC_HEADERS_FOLDER_PATH + $(TARGET_NAME) + SDKROOT + iphoneos + SKIP_INSTALL + YES + + isa + XCBuildConfiguration + name + Debug + + E00F5EA71F725792D7FE1C0F + + children + + E9A7A3D5EC8AAF878D6A2CBE + 491280116436017C4FEC9FD8 + E7FA1D0590C4CB610C0FECF2 + 132DE36D6DB2D0F70C09CE89 + 26C00EEFB778EFB7A6703E20 + 6FCFD749EEB3861EB75C0534 + 4648080B27A50C8D028851B3 + CEAD6D174912D6D124A031D9 + 0524E24381502D7EB46CCF29 + 3D3089A4A62A68E4D5BB4562 + EE90F905D6EA51C12DA5F4ED + D0F5EC95B7EE03515326948E + 3CC9DC0433D77149CC4DE5DE + 289322DAF960C6BD7F2FD8E1 + 22669B7FF7DBBF51202945CD + 7308A06BDA47FB20E2FC8005 + 8E13E32022B45DA13AFC5404 + ACC753B0E880892739890CD6 + B42844BBEB0C3FCBB4CB7C98 + 27F37EEF056BA05A9FE6548A + 2DA5F87EA2CDCEA0ED668578 + 6522F5D072C47020817339D9 + E5FC33A15846273C981E0322 + DD1AEBDB914EF5C49CAAEB46 + 8399DB76B770CB32FA2CD5FF + DF17E391C45D5B66999F6D99 + 16B69D05ABC152C41B9129FB + 2F6BBA653E86409B28911661 + 3FDDE45F64AE789BEAED2125 + DD9C58FDC618EFB182668F97 + 49199899EB7E17720A69A6A0 + 72B306867705C5CA14B74DF2 + B40A54F9CD6C17782376DE87 + B70F784E53C151C33E1130FF + 77AEC7F8659C91198FFFF673 + 12FAC13993C100C3FDBD0DD8 + 54481109ECD4CD40F5F746F8 + DE4BA2446E5FB9E2F0C98C34 + 6AC9ACC04495648FA5060FCD + 6C5C7F49C76DFD009CE24F54 + 97138ACEE67BD2BDF8A3DEA0 + 245789C2D4A68C88E27641D9 + 9659D9A2FEA529295FE42173 + E991F096165FA74435C7282D + 530A6D73CAFF37DCB5A52103 + 15D063218D733290ACAF6ECD + 068A30BD4A2404B5DAEBE221 + 45775545A25B55D8FF631FF5 + 6C59A8B8703F0BD79C458591 + 7E1B11B9B4C3FFCEFFD1F35D + 2461A7AF21FB638CED912FE3 + E55746E91186F585B21DFB68 + 3F06663863E59C187B84EAD2 + F731109AFE06344ABBC4BBE6 + 5A8146BE2B9A4E8B080899C7 + A53374892CD6B26138B38ADB + F6F6566819F8D0B545E28AC4 + FCAC9AFE3E61C78E93EA7E8C + B32480BC0BA8A8BA551E9D00 + 22CB86FDC9D99844724FDDD3 + 9AAFEB3BA8925E0E14AE9A9E + 8307F3BCFAD957D08281164A + B2D7892A9C3245D8D7431C23 + 97BAEC30E32259F061CCB7DE + 2E00E46C249C163EBC0418DC + 9C1FE5B0BAC9A97A8309591C + 02011DF072CE86BD3AD237F3 + EA77880FBBE6AA7511841605 + 42FCE12743FD1B4702208E0D + 1568A6E0A0EFBABC6271F94D + C23EA0774A0BD0ACB68E5B0F + 88F100D7F9D61D558EF80D8A + 3938293AC4D9C3C8B8DDFDC7 + 33E69C46AB97309D4EBFA432 + 175C559D2A89B7FC27EFD6C5 + 9FF2D7B800439FD8B4118089 + 0678F15E5799E801FBBB82EE + 569C3E0B54CE022FD9433B66 + 6E38F96F68680D013AD0812A + 48039B7A25006CE8F45E9619 + 932B25E8D26A525CAF6ABCC0 + C09FDA6F8073916E1DC7FB77 + + isa + PBXGroup + name + ReactKit + path + ../../../ReactKit + sourceTree + <group> + + E1C485676C801FFCB46D93D0 + + fileRef + 77AEC7F8659C91198FFFF673 + isa + PBXBuildFile + + E1C5A97B9865CABC567B000A + + containerPortal + E88354D347CCC1EAC2E787C1 + isa + PBXContainerItemProxy + proxyType + 1 + remoteGlobalIDString + F5D2C09AFAA6986D234BF953 + remoteInfo + Pods-RCTText + + E2BA10A9D9813750516AA99F + + fileRef + 198FD8078EB2E34708CAF463 + isa + PBXBuildFile + + E484553771DAF5F08178C966 + + buildConfigurations + + EF728A6C52298117E9505250 + 2A5A7AE725AB3B07B61A40E9 + + defaultConfigurationIsVisible + 0 + defaultConfigurationName + Release + isa + XCConfigurationList + + E52753A376176D518B300161 + + fileRef + 9659D9A2FEA529295FE42173 + isa + PBXBuildFile + + E5508477224F57D3312AC5B9 + + fileRef + 88F100D7F9D61D558EF80D8A + isa + PBXBuildFile + + E55746E91186F585B21DFB68 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTStaticImage.m + path + Views/RCTStaticImage.m + sourceTree + <group> + + E5FC33A15846273C981E0322 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTJSMethodRegistrar.h + path + Base/RCTJSMethodRegistrar.h + sourceTree + <group> + + E68B47098BE36BB1B90E7BD6 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + Pods-RCTText-dummy.m + sourceTree + <group> + + E7FA1D0590C4CB610C0FECF2 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTAlertManager.h + path + Modules/RCTAlertManager.h + sourceTree + <group> + + E88354D347CCC1EAC2E787C1 + + attributes + + LastUpgradeCheck + 0510 + + buildConfigurationList + 6D757E59E707D9B3474721D7 + compatibilityVersion + Xcode 3.2 + developmentRegion + English + hasScannedForEncodings + 0 + isa + PBXProject + knownRegions + + en + + mainGroup + C426A0F89138E32710FFDBCD + productRefGroup + 6BEE757D0B19EB927C04C0FA + projectDirPath + + projectReferences + + projectRoot + + targets + + 156E154B035C85C750DA3DE2 + 76D2A8D67E04D111A7938CED + F5D2C09AFAA6986D234BF953 + 20F2231C1AEED2919F583DC7 + + + E991F096165FA74435C7282D + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTScrollViewManager.h + path + Views/RCTScrollViewManager.h + sourceTree + <group> + + E9A7A3D5EC8AAF878D6A2CBE + + includeInIndex + 1 + isa + PBXFileReference + name + Layout.c + path + Layout/Layout.c + sourceTree + <group> + + EA77880FBBE6AA7511841605 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTUIManager.m + path + Modules/RCTUIManager.m + sourceTree + <group> + + EA79968832417354B40F6352 + + fileRef + EE90F905D6EA51C12DA5F4ED + isa + PBXBuildFile + + EA7CC42518555EE2C4B617E3 + + buildActionMask + 2147483647 + files + + FBE4E83A8EF948FF337B2436 + + isa + PBXFrameworksBuildPhase + runOnlyForDeploymentPostprocessing + 0 + + EC5F81AEBB86DCC1C9ECDE59 + + fileRef + 3D3089A4A62A68E4D5BB4562 + isa + PBXBuildFile + + ED09FCD5EBB9DAA998867B1F + + fileRef + 84A6E86621CA19A1F15ECC01 + isa + PBXBuildFile + + EDBE5D54C93BC128C25036AD + + isa + PBXTargetDependency + name + Pods-RCTNetworkImage + target + 76D2A8D67E04D111A7938CED + targetProxy + 6499B8CCEC40B282FFAADFA6 + + EDBE9B4FBE2888A89C7FAAAE + + fileRef + 0678F15E5799E801FBBB82EE + isa + PBXBuildFile + + EE90F905D6EA51C12DA5F4ED + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTBridgeModule.h + path + Base/RCTBridgeModule.h + sourceTree + <group> + + EF728A6C52298117E9505250 + + baseConfigurationReference + 6C4193D7074A9FE2AADD31C2 + buildSettings + + ALWAYS_SEARCH_USER_PATHS + NO + COPY_PHASE_STRIP + NO + DSTROOT + /tmp/xcodeproj.dst + GCC_DYNAMIC_NO_PIC + NO + GCC_OPTIMIZATION_LEVEL + 0 + GCC_PRECOMPILE_PREFIX_HEADER + YES + GCC_PREPROCESSOR_DEFINITIONS + + DEBUG=1 + $(inherited) + + GCC_SYMBOLS_PRIVATE_EXTERN + NO + INSTALL_PATH + $(BUILT_PRODUCTS_DIR) + IPHONEOS_DEPLOYMENT_TARGET + 7.0 + OTHER_LDFLAGS + + OTHER_LIBTOOLFLAGS + + PRODUCT_NAME + $(TARGET_NAME) + PUBLIC_HEADERS_FOLDER_PATH + $(TARGET_NAME) + SDKROOT + iphoneos + SKIP_INSTALL + YES + + isa + XCBuildConfiguration + name + Debug + + F069246D046DFFE7CF05DE92 + + fileRef + 42FCE12743FD1B4702208E0D + isa + PBXBuildFile + + F092F906C8A9E95FD09661CE + + fileRef + 932B25E8D26A525CAF6ABCC0 + isa + PBXBuildFile + + F213CCB9CD13022BCF3B8578 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + RCTTextManager.h + sourceTree + <group> + + F5D2C09AFAA6986D234BF953 + + buildConfigurationList + D43D7636AEF4C472723FF075 + buildPhases + + A9CA493A1D0DBFFAC416CF2B + EA7CC42518555EE2C4B617E3 + 03219EE301E4BE34C4E26BF5 + + buildRules + + dependencies + + 60662361B9CC9A2A8D49F638 + + isa + PBXNativeTarget + name + Pods-RCTText + productName + Pods-RCTText + productReference + 39206929A27DEBF5CBACB942 + productType + com.apple.product-type.library.static + + F6129F258DCA7C19228C218D + + fileRef + 15478769A7025E67403CF8F6 + isa + PBXBuildFile + + F68991A42B4CF608AF91EBB5 + + fileRef + 54481109ECD4CD40F5F746F8 + isa + PBXBuildFile + + F69EE0ADB66942B5A2F06409 + + fileRef + 16E1299D87C2B7BE1D68024F + isa + PBXBuildFile + + F6CC16FA65BD5A265088B6B6 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + path + RCTNetworkImageView.m + sourceTree + <group> + + F6F6566819F8D0B545E28AC4 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + name + RCTTextField.h + path + Views/RCTTextField.h + sourceTree + <group> + + F731109AFE06344ABBC4BBE6 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTStaticImageManager.m + path + Views/RCTStaticImageManager.m + sourceTree + <group> + + F7531B3CBFEDA85A72BF6805 + + fileRef + 054AB43B546728B2ACD9DE38 + isa + PBXBuildFile + + F9ECFBDEC272AF69A54935F9 + + fileRef + 3FDDE45F64AE789BEAED2125 + isa + PBXBuildFile + + FADF4B43BFFF2AEF6F4A43B8 + + fileRef + 9C1FE5B0BAC9A97A8309591C + isa + PBXBuildFile + + FAE203974E438996878047C2 + + fileRef + 8399DB76B770CB32FA2CD5FF + isa + PBXBuildFile + + FB19B6A03634D6CC16E8D731 + + fileRef + E9A7A3D5EC8AAF878D6A2CBE + isa + PBXBuildFile + + FBE4E83A8EF948FF337B2436 + + fileRef + 5D5E4CDC94FE8212303F96ED + isa + PBXBuildFile + + FCAC9AFE3E61C78E93EA7E8C + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.objc + name + RCTTextField.m + path + Views/RCTTextField.m + sourceTree + <group> + + FDBD9515B1715137A4E1AD37 + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + Pods-ReactKit-prefix.pch + sourceTree + <group> + + FE1E926B5C3C10CA3797023E + + children + + AB98ECCECFE588B641E804DD + 9C8A29CEE6A594FF4F429DB3 + E00F5EA71F725792D7FE1C0F + + isa + PBXGroup + name + Development Pods + sourceTree + <group> + + FF03E617D571F159152581FC + + includeInIndex + 1 + isa + PBXFileReference + lastKnownFileType + sourcecode.c.h + path + RCTShadowText.h + sourceTree + <group> + + + rootObject + E88354D347CCC1EAC2E787C1 + + diff --git a/Examples/TicTacToe/Pods/Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage-Private.xcconfig b/Examples/TicTacToe/Pods/Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage-Private.xcconfig new file mode 100644 index 000000000..77326a26a --- /dev/null +++ b/Examples/TicTacToe/Pods/Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage-Private.xcconfig @@ -0,0 +1,5 @@ +#include "Pods-RCTNetworkImage.xcconfig" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Build" "${PODS_ROOT}/Headers/Build/RCTNetworkImage" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/RCTNetworkImage" "${PODS_ROOT}/Headers/Public/RCTText" "${PODS_ROOT}/Headers/Public/ReactKit" +OTHER_LDFLAGS = -ObjC +PODS_ROOT = ${SRCROOT} \ No newline at end of file diff --git a/Examples/TicTacToe/Pods/Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage-dummy.m b/Examples/TicTacToe/Pods/Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage-dummy.m new file mode 100644 index 000000000..04c9099fa --- /dev/null +++ b/Examples/TicTacToe/Pods/Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods_RCTNetworkImage : NSObject +@end +@implementation PodsDummy_Pods_RCTNetworkImage +@end diff --git a/Examples/TicTacToe/Pods/Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage-prefix.pch b/Examples/TicTacToe/Pods/Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage-prefix.pch new file mode 100644 index 000000000..95cf11d9f --- /dev/null +++ b/Examples/TicTacToe/Pods/Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage-prefix.pch @@ -0,0 +1,5 @@ +#ifdef __OBJC__ +#import +#endif + +#import "Pods-environment.h" diff --git a/Examples/TicTacToe/Pods/Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage.xcconfig b/Examples/TicTacToe/Pods/Target Support Files/Pods-RCTNetworkImage/Pods-RCTNetworkImage.xcconfig new file mode 100644 index 000000000..e69de29bb diff --git a/Examples/TicTacToe/Pods/Target Support Files/Pods-RCTText/Pods-RCTText-Private.xcconfig b/Examples/TicTacToe/Pods/Target Support Files/Pods-RCTText/Pods-RCTText-Private.xcconfig new file mode 100644 index 000000000..5e8e883ba --- /dev/null +++ b/Examples/TicTacToe/Pods/Target Support Files/Pods-RCTText/Pods-RCTText-Private.xcconfig @@ -0,0 +1,5 @@ +#include "Pods-RCTText.xcconfig" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Build" "${PODS_ROOT}/Headers/Build/RCTText" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/RCTNetworkImage" "${PODS_ROOT}/Headers/Public/RCTText" "${PODS_ROOT}/Headers/Public/ReactKit" +OTHER_LDFLAGS = -ObjC +PODS_ROOT = ${SRCROOT} \ No newline at end of file diff --git a/Examples/TicTacToe/Pods/Target Support Files/Pods-RCTText/Pods-RCTText-dummy.m b/Examples/TicTacToe/Pods/Target Support Files/Pods-RCTText/Pods-RCTText-dummy.m new file mode 100644 index 000000000..0ee407269 --- /dev/null +++ b/Examples/TicTacToe/Pods/Target Support Files/Pods-RCTText/Pods-RCTText-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods_RCTText : NSObject +@end +@implementation PodsDummy_Pods_RCTText +@end diff --git a/Examples/TicTacToe/Pods/Target Support Files/Pods-RCTText/Pods-RCTText-prefix.pch b/Examples/TicTacToe/Pods/Target Support Files/Pods-RCTText/Pods-RCTText-prefix.pch new file mode 100644 index 000000000..95cf11d9f --- /dev/null +++ b/Examples/TicTacToe/Pods/Target Support Files/Pods-RCTText/Pods-RCTText-prefix.pch @@ -0,0 +1,5 @@ +#ifdef __OBJC__ +#import +#endif + +#import "Pods-environment.h" diff --git a/Examples/TicTacToe/Pods/Target Support Files/Pods-RCTText/Pods-RCTText.xcconfig b/Examples/TicTacToe/Pods/Target Support Files/Pods-RCTText/Pods-RCTText.xcconfig new file mode 100644 index 000000000..e69de29bb diff --git a/Examples/TicTacToe/Pods/Target Support Files/Pods-ReactKit/Pods-ReactKit-Private.xcconfig b/Examples/TicTacToe/Pods/Target Support Files/Pods-ReactKit/Pods-ReactKit-Private.xcconfig new file mode 100644 index 000000000..5ad122e34 --- /dev/null +++ b/Examples/TicTacToe/Pods/Target Support Files/Pods-ReactKit/Pods-ReactKit-Private.xcconfig @@ -0,0 +1,5 @@ +#include "Pods-ReactKit.xcconfig" +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Build" "${PODS_ROOT}/Headers/Build/ReactKit" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/RCTNetworkImage" "${PODS_ROOT}/Headers/Public/RCTText" "${PODS_ROOT}/Headers/Public/ReactKit" +OTHER_LDFLAGS = -ObjC +PODS_ROOT = ${SRCROOT} \ No newline at end of file diff --git a/Examples/TicTacToe/Pods/Target Support Files/Pods-ReactKit/Pods-ReactKit-dummy.m b/Examples/TicTacToe/Pods/Target Support Files/Pods-ReactKit/Pods-ReactKit-dummy.m new file mode 100644 index 000000000..ab3f82b8c --- /dev/null +++ b/Examples/TicTacToe/Pods/Target Support Files/Pods-ReactKit/Pods-ReactKit-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods_ReactKit : NSObject +@end +@implementation PodsDummy_Pods_ReactKit +@end diff --git a/Examples/TicTacToe/Pods/Target Support Files/Pods-ReactKit/Pods-ReactKit-prefix.pch b/Examples/TicTacToe/Pods/Target Support Files/Pods-ReactKit/Pods-ReactKit-prefix.pch new file mode 100644 index 000000000..95cf11d9f --- /dev/null +++ b/Examples/TicTacToe/Pods/Target Support Files/Pods-ReactKit/Pods-ReactKit-prefix.pch @@ -0,0 +1,5 @@ +#ifdef __OBJC__ +#import +#endif + +#import "Pods-environment.h" diff --git a/Examples/TicTacToe/Pods/Target Support Files/Pods-ReactKit/Pods-ReactKit.xcconfig b/Examples/TicTacToe/Pods/Target Support Files/Pods-ReactKit/Pods-ReactKit.xcconfig new file mode 100644 index 000000000..e69de29bb diff --git a/Examples/TicTacToe/Pods/Target Support Files/Pods/Pods-acknowledgements.markdown b/Examples/TicTacToe/Pods/Target Support Files/Pods/Pods-acknowledgements.markdown new file mode 100644 index 000000000..255149a82 --- /dev/null +++ b/Examples/TicTacToe/Pods/Target Support Files/Pods/Pods-acknowledgements.markdown @@ -0,0 +1,3 @@ +# Acknowledgements +This application makes use of the following third party libraries: +Generated by CocoaPods - http://cocoapods.org diff --git a/Examples/TicTacToe/Pods/Target Support Files/Pods/Pods-acknowledgements.plist b/Examples/TicTacToe/Pods/Target Support Files/Pods/Pods-acknowledgements.plist new file mode 100644 index 000000000..e4edebe92 --- /dev/null +++ b/Examples/TicTacToe/Pods/Target Support Files/Pods/Pods-acknowledgements.plist @@ -0,0 +1,29 @@ + + + + + PreferenceSpecifiers + + + FooterText + This application makes use of the following third party libraries: + Title + Acknowledgements + Type + PSGroupSpecifier + + + FooterText + Generated by CocoaPods - http://cocoapods.org + Title + + Type + PSGroupSpecifier + + + StringsTable + Acknowledgements + Title + Acknowledgements + + diff --git a/Examples/TicTacToe/Pods/Target Support Files/Pods/Pods-dummy.m b/Examples/TicTacToe/Pods/Target Support Files/Pods/Pods-dummy.m new file mode 100644 index 000000000..ade64bd1a --- /dev/null +++ b/Examples/TicTacToe/Pods/Target Support Files/Pods/Pods-dummy.m @@ -0,0 +1,5 @@ +#import +@interface PodsDummy_Pods : NSObject +@end +@implementation PodsDummy_Pods +@end diff --git a/Examples/TicTacToe/Pods/Target Support Files/Pods/Pods-environment.h b/Examples/TicTacToe/Pods/Target Support Files/Pods/Pods-environment.h new file mode 100644 index 000000000..ef6a41b65 --- /dev/null +++ b/Examples/TicTacToe/Pods/Target Support Files/Pods/Pods-environment.h @@ -0,0 +1,26 @@ + +// To check if a library is compiled with CocoaPods you +// can use the `COCOAPODS` macro definition which is +// defined in the xcconfigs so it is available in +// headers also when they are imported in the client +// project. + + +// RCTNetworkImage +#define COCOAPODS_POD_AVAILABLE_RCTNetworkImage +#define COCOAPODS_VERSION_MAJOR_RCTNetworkImage 0 +#define COCOAPODS_VERSION_MINOR_RCTNetworkImage 0 +#define COCOAPODS_VERSION_PATCH_RCTNetworkImage 1 + +// RCTText +#define COCOAPODS_POD_AVAILABLE_RCTText +#define COCOAPODS_VERSION_MAJOR_RCTText 0 +#define COCOAPODS_VERSION_MINOR_RCTText 0 +#define COCOAPODS_VERSION_PATCH_RCTText 1 + +// ReactKit +#define COCOAPODS_POD_AVAILABLE_ReactKit +#define COCOAPODS_VERSION_MAJOR_ReactKit 0 +#define COCOAPODS_VERSION_MINOR_ReactKit 0 +#define COCOAPODS_VERSION_PATCH_ReactKit 1 + diff --git a/Examples/TicTacToe/Pods/Target Support Files/Pods/Pods-resources.sh b/Examples/TicTacToe/Pods/Target Support Files/Pods/Pods-resources.sh new file mode 100755 index 000000000..e149064a0 --- /dev/null +++ b/Examples/TicTacToe/Pods/Target Support Files/Pods/Pods-resources.sh @@ -0,0 +1,74 @@ +#!/bin/sh +set -e + +mkdir -p "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" + +RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt +> "$RESOURCES_TO_COPY" + +install_resource() +{ + case $1 in + *.storyboard) + echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc ${PODS_ROOT}/$1 --sdk ${SDKROOT}" + ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" + ;; + *.xib) + echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}" + ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}" + ;; + *.framework) + echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + echo "rsync -av ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + rsync -av "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" + ;; + *.xcdatamodel) + echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1"`.mom\"" + xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodel`.mom" + ;; + *.xcdatamodeld) + echo "xcrun momc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd\"" + xcrun momc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcdatamodeld`.momd" + ;; + *.xcmappingmodel) + echo "xcrun mapc \"${PODS_ROOT}/$1\" \"${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm\"" + xcrun mapc "${PODS_ROOT}/$1" "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$1" .xcmappingmodel`.cdm" + ;; + *.xcassets) + ;; + /*) + echo "$1" + echo "$1" >> "$RESOURCES_TO_COPY" + ;; + *) + echo "${PODS_ROOT}/$1" + echo "${PODS_ROOT}/$1" >> "$RESOURCES_TO_COPY" + ;; + esac +} + +rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +if [[ "${ACTION}" == "install" ]]; then + rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +fi +rm -f "$RESOURCES_TO_COPY" + +if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ `find . -name '*.xcassets' | wc -l` -ne 0 ] +then + case "${TARGETED_DEVICE_FAMILY}" in + 1,2) + TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" + ;; + 1) + TARGET_DEVICE_ARGS="--target-device iphone" + ;; + 2) + TARGET_DEVICE_ARGS="--target-device ipad" + ;; + *) + TARGET_DEVICE_ARGS="--target-device mac" + ;; + esac + find "${PWD}" -name "*.xcassets" -print0 | xargs -0 actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${IPHONEOS_DEPLOYMENT_TARGET}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" +fi diff --git a/Examples/TicTacToe/Pods/Target Support Files/Pods/Pods.debug.xcconfig b/Examples/TicTacToe/Pods/Target Support Files/Pods/Pods.debug.xcconfig new file mode 100644 index 000000000..7e075cbab --- /dev/null +++ b/Examples/TicTacToe/Pods/Target Support Files/Pods/Pods.debug.xcconfig @@ -0,0 +1,6 @@ +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/RCTNetworkImage" "${PODS_ROOT}/Headers/Public/RCTText" "${PODS_ROOT}/Headers/Public/ReactKit" +OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/RCTNetworkImage" -isystem "${PODS_ROOT}/Headers/Public/RCTText" -isystem "${PODS_ROOT}/Headers/Public/ReactKit" +OTHER_LDFLAGS = -ObjC -l"Pods-RCTNetworkImage" -l"Pods-RCTText" -l"Pods-ReactKit" +OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) +PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Examples/TicTacToe/Pods/Target Support Files/Pods/Pods.release.xcconfig b/Examples/TicTacToe/Pods/Target Support Files/Pods/Pods.release.xcconfig new file mode 100644 index 000000000..7e075cbab --- /dev/null +++ b/Examples/TicTacToe/Pods/Target Support Files/Pods/Pods.release.xcconfig @@ -0,0 +1,6 @@ +GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/RCTNetworkImage" "${PODS_ROOT}/Headers/Public/RCTText" "${PODS_ROOT}/Headers/Public/ReactKit" +OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/RCTNetworkImage" -isystem "${PODS_ROOT}/Headers/Public/RCTText" -isystem "${PODS_ROOT}/Headers/Public/ReactKit" +OTHER_LDFLAGS = -ObjC -l"Pods-RCTNetworkImage" -l"Pods-RCTText" -l"Pods-ReactKit" +OTHER_LIBTOOLFLAGS = $(OTHER_LDFLAGS) +PODS_ROOT = ${SRCROOT}/Pods \ No newline at end of file diff --git a/Examples/TicTacToe/TicTacToe.xcodeproj/project.pbxproj b/Examples/TicTacToe/TicTacToe.xcodeproj/project.pbxproj index 646876092..aed93cd37 100644 --- a/Examples/TicTacToe/TicTacToe.xcodeproj/project.pbxproj +++ b/Examples/TicTacToe/TicTacToe.xcodeproj/project.pbxproj @@ -11,19 +11,9 @@ 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; - 8323482C1A77B59500B55238 /* libReactKit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832348291A77B50100B55238 /* libReactKit.a */; }; + 94A5470E6B9ACC86C8946DD4 /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 57D137B3557DA44DA129DF68 /* libPods.a */; }; /* End PBXBuildFile section */ -/* Begin PBXContainerItemProxy section */ - 832348281A77B50100B55238 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 834D32361A76971A00F38302 /* ReactKit.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192; - remoteInfo = ReactKit; - }; -/* End PBXContainerItemProxy section */ - /* Begin PBXFileReference section */ 13B07F961A680F5B00A75B9A /* TicTacToe.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TicTacToe.app; sourceTree = BUILT_PRODUCTS_DIR; }; 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; @@ -32,7 +22,9 @@ 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 834D32361A76971A00F38302 /* ReactKit.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ReactKit.xcodeproj; path = ../../ReactKit/ReactKit.xcodeproj; sourceTree = ""; }; + 57D137B3557DA44DA129DF68 /* libPods.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPods.a; sourceTree = BUILT_PRODUCTS_DIR; }; + AE37E9319424945F93F61AC9 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = ""; }; + BE166B25F931D53146DC44FD /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.release.xcconfig; path = "Pods/Target Support Files/Pods/Pods.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -40,7 +32,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8323482C1A77B59500B55238 /* libReactKit.a in Frameworks */, + 94A5470E6B9ACC86C8946DD4 /* libPods.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -60,20 +52,21 @@ name = TicTacToe; sourceTree = ""; }; - 832348241A77B50100B55238 /* Products */ = { + 626AAA547F04E200EB1B13D5 /* Frameworks */ = { isa = PBXGroup; children = ( - 832348291A77B50100B55238 /* libReactKit.a */, + 57D137B3557DA44DA129DF68 /* libPods.a */, ); - name = Products; + name = Frameworks; sourceTree = ""; }; 83CBB9F61A601CBA00E9B192 = { isa = PBXGroup; children = ( - 834D32361A76971A00F38302 /* ReactKit.xcodeproj */, 13B07FAE1A68108700A75B9A /* TicTacToe */, 83CBBA001A601CBA00E9B192 /* Products */, + C661FA21FC43E8C4E3D76705 /* Pods */, + 626AAA547F04E200EB1B13D5 /* Frameworks */, ); sourceTree = ""; }; @@ -85,6 +78,15 @@ name = Products; sourceTree = ""; }; + C661FA21FC43E8C4E3D76705 /* Pods */ = { + isa = PBXGroup; + children = ( + AE37E9319424945F93F61AC9 /* Pods.debug.xcconfig */, + BE166B25F931D53146DC44FD /* Pods.release.xcconfig */, + ); + name = Pods; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -92,9 +94,11 @@ isa = PBXNativeTarget; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "TicTacToe" */; buildPhases = ( + 1604B0DABE720C58B4BD7B85 /* Check Pods Manifest.lock */, 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, + 90FB29DB1D5DDA0C9E91F4D0 /* Copy Pods Resources */, ); buildRules = ( ); @@ -125,12 +129,6 @@ mainGroup = 83CBB9F61A601CBA00E9B192; productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; projectDirPath = ""; - projectReferences = ( - { - ProductGroup = 832348241A77B50100B55238 /* Products */; - ProjectRef = 834D32361A76971A00F38302 /* ReactKit.xcodeproj */; - }, - ); projectRoot = ""; targets = ( 13B07F861A680F5B00A75B9A /* TicTacToe */, @@ -138,16 +136,6 @@ }; /* End PBXProject section */ -/* Begin PBXReferenceProxy section */ - 832348291A77B50100B55238 /* libReactKit.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libReactKit.a; - remoteRef = 832348281A77B50100B55238 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - /* Begin PBXResourcesBuildPhase section */ 13B07F8E1A680F5B00A75B9A /* Resources */ = { isa = PBXResourcesBuildPhase; @@ -160,6 +148,39 @@ }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + 1604B0DABE720C58B4BD7B85 /* Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Check Pods Manifest.lock"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; + showEnvVarsInLog = 0; + }; + 90FB29DB1D5DDA0C9E91F4D0 /* Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ 13B07F871A680F5B00A75B9A /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -186,22 +207,22 @@ /* Begin XCBuildConfiguration section */ 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = AE37E9319424945F93F61AC9 /* Pods.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; INFOPLIST_FILE = "$(SRCROOT)/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = TicTacToe; }; name = Debug; }; 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = BE166B25F931D53146DC44FD /* Pods.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; INFOPLIST_FILE = "$(SRCROOT)/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = TicTacToe; }; name = Release; diff --git a/Examples/TicTacToe/TicTacToe.xcworkspace/contents.xcworkspacedata b/Examples/TicTacToe/TicTacToe.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..ff1c005b3 --- /dev/null +++ b/Examples/TicTacToe/TicTacToe.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/Examples/UIExplorer/TextInputExample.js b/Examples/UIExplorer/TextInputExample.js index 656ccd4fc..e10dbc0f1 100644 --- a/Examples/UIExplorer/TextInputExample.js +++ b/Examples/UIExplorer/TextInputExample.js @@ -185,4 +185,37 @@ exports.examples = [ ); } }, + { + title: 'Clear button mode', + render: function () { + return ( + + + + + + + + + + + + + + + ); + } + }, ]; diff --git a/Examples/UIExplorer/UIExplorer.xcodeproj/project.pbxproj b/Examples/UIExplorer/UIExplorer.xcodeproj/project.pbxproj index 73048cad9..798c95a21 100644 --- a/Examples/UIExplorer/UIExplorer.xcodeproj/project.pbxproj +++ b/Examples/UIExplorer/UIExplorer.xcodeproj/project.pbxproj @@ -11,17 +11,62 @@ 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; - 8323482C1A77B59500B55238 /* libReactKit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832348291A77B50100B55238 /* libReactKit.a */; }; + 587651361A9EB175008B8F17 /* libRCTNetworkImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 587651281A9EB168008B8F17 /* libRCTNetworkImage.a */; }; + 587651371A9EB175008B8F17 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 587651301A9EB168008B8F17 /* libRCTText.a */; }; + 587651381A9EB175008B8F17 /* libReactKit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 587651351A9EB168008B8F17 /* libReactKit.a */; }; + 587651571A9F862F008B8F17 /* libRCTDataManager.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5876514F1A9F8619008B8F17 /* libRCTDataManager.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 832348281A77B50100B55238 /* PBXContainerItemProxy */ = { + 587651271A9EB168008B8F17 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 834D32361A76971A00F38302 /* ReactKit.xcodeproj */; + containerPortal = 5876511C1A9EB168008B8F17 /* RCTNetworkImage.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 58B5115D1A9E6B3D00147676; + remoteInfo = RCTNetworkImage; + }; + 587651291A9EB168008B8F17 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 5876511C1A9EB168008B8F17 /* RCTNetworkImage.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 58B511681A9E6B3D00147676; + remoteInfo = RCTNetworkImageTests; + }; + 5876512F1A9EB168008B8F17 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 5876511F1A9EB168008B8F17 /* RCTText.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 58B5119B1A9E6C1200147676; + remoteInfo = RCTText; + }; + 587651311A9EB168008B8F17 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 5876511F1A9EB168008B8F17 /* RCTText.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 58B511A61A9E6C1300147676; + remoteInfo = RCTTextTests; + }; + 587651341A9EB168008B8F17 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 587651221A9EB168008B8F17 /* ReactKit.xcodeproj */; proxyType = 2; remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192; remoteInfo = ReactKit; }; + 5876514E1A9F8619008B8F17 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 587651491A9F8619008B8F17 /* RCTDataManager.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 58B511DB1A9E6C8500147676; + remoteInfo = RCTDataManager; + }; + 587651501A9F8619008B8F17 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 587651491A9F8619008B8F17 /* RCTDataManager.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 58B511E61A9E6C8500147676; + remoteInfo = RCTDataManagerTests; + }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ @@ -32,7 +77,10 @@ 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 834D32361A76971A00F38302 /* ReactKit.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ReactKit.xcodeproj; path = ../../ReactKit/ReactKit.xcodeproj; sourceTree = ""; }; + 5876511C1A9EB168008B8F17 /* RCTNetworkImage.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTNetworkImage.xcodeproj; path = "/Users/sahrens/src/fbobjc-hg/Libraries/FBReactKit/js/react-native-github/Libraries/RCTStandardLibrary/../Image/RCTNetworkImage.xcodeproj"; sourceTree = ""; }; + 5876511F1A9EB168008B8F17 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "/Users/sahrens/src/fbobjc-hg/Libraries/FBReactKit/js/react-native-github/Libraries/RCTStandardLibrary/../Text/RCTText.xcodeproj"; sourceTree = ""; }; + 587651221A9EB168008B8F17 /* ReactKit.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ReactKit.xcodeproj; path = "/Users/sahrens/src/fbobjc-hg/Libraries/FBReactKit/js/react-native-github/Libraries/RCTStandardLibrary/../../ReactKit/ReactKit.xcodeproj"; sourceTree = ""; }; + 587651491A9F8619008B8F17 /* RCTDataManager.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTDataManager.xcodeproj; path = ../../Libraries/Network/RCTDataManager.xcodeproj; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -40,7 +88,10 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8323482C1A77B59500B55238 /* libReactKit.a in Frameworks */, + 587651571A9F862F008B8F17 /* libRCTDataManager.a in Frameworks */, + 587651361A9EB175008B8F17 /* libRCTNetworkImage.a in Frameworks */, + 587651371A9EB175008B8F17 /* libRCTText.a in Frameworks */, + 587651381A9EB175008B8F17 /* libReactKit.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -60,10 +111,37 @@ name = UIExplorer; sourceTree = ""; }; - 832348241A77B50100B55238 /* Products */ = { + 5876511D1A9EB168008B8F17 /* Products */ = { isa = PBXGroup; children = ( - 832348291A77B50100B55238 /* libReactKit.a */, + 587651281A9EB168008B8F17 /* libRCTNetworkImage.a */, + 5876512A1A9EB168008B8F17 /* RCTNetworkImageTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 587651201A9EB168008B8F17 /* Products */ = { + isa = PBXGroup; + children = ( + 587651301A9EB168008B8F17 /* libRCTText.a */, + 587651321A9EB168008B8F17 /* RCTTextTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 587651231A9EB168008B8F17 /* Products */ = { + isa = PBXGroup; + children = ( + 587651351A9EB168008B8F17 /* libReactKit.a */, + ); + name = Products; + sourceTree = ""; + }; + 5876514A1A9F8619008B8F17 /* Products */ = { + isa = PBXGroup; + children = ( + 5876514F1A9F8619008B8F17 /* libRCTDataManager.a */, + 587651511A9F8619008B8F17 /* RCTDataManagerTests.xctest */, ); name = Products; sourceTree = ""; @@ -71,8 +149,11 @@ 83CBB9F61A601CBA00E9B192 = { isa = PBXGroup; children = ( - 834D32361A76971A00F38302 /* ReactKit.xcodeproj */, 13B07FAE1A68108700A75B9A /* UIExplorer */, + 587651491A9F8619008B8F17 /* RCTDataManager.xcodeproj */, + 5876511C1A9EB168008B8F17 /* RCTNetworkImage.xcodeproj */, + 5876511F1A9EB168008B8F17 /* RCTText.xcodeproj */, + 587651221A9EB168008B8F17 /* ReactKit.xcodeproj */, 83CBBA001A601CBA00E9B192 /* Products */, ); sourceTree = ""; @@ -127,8 +208,20 @@ projectDirPath = ""; projectReferences = ( { - ProductGroup = 832348241A77B50100B55238 /* Products */; - ProjectRef = 834D32361A76971A00F38302 /* ReactKit.xcodeproj */; + ProductGroup = 5876514A1A9F8619008B8F17 /* Products */; + ProjectRef = 587651491A9F8619008B8F17 /* RCTDataManager.xcodeproj */; + }, + { + ProductGroup = 5876511D1A9EB168008B8F17 /* Products */; + ProjectRef = 5876511C1A9EB168008B8F17 /* RCTNetworkImage.xcodeproj */; + }, + { + ProductGroup = 587651201A9EB168008B8F17 /* Products */; + ProjectRef = 5876511F1A9EB168008B8F17 /* RCTText.xcodeproj */; + }, + { + ProductGroup = 587651231A9EB168008B8F17 /* Products */; + ProjectRef = 587651221A9EB168008B8F17 /* ReactKit.xcodeproj */; }, ); projectRoot = ""; @@ -139,11 +232,53 @@ /* End PBXProject section */ /* Begin PBXReferenceProxy section */ - 832348291A77B50100B55238 /* libReactKit.a */ = { + 587651281A9EB168008B8F17 /* libRCTNetworkImage.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTNetworkImage.a; + remoteRef = 587651271A9EB168008B8F17 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 5876512A1A9EB168008B8F17 /* RCTNetworkImageTests.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = RCTNetworkImageTests.xctest; + remoteRef = 587651291A9EB168008B8F17 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 587651301A9EB168008B8F17 /* libRCTText.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTText.a; + remoteRef = 5876512F1A9EB168008B8F17 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 587651321A9EB168008B8F17 /* RCTTextTests.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = RCTTextTests.xctest; + remoteRef = 587651311A9EB168008B8F17 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 587651351A9EB168008B8F17 /* libReactKit.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; path = libReactKit.a; - remoteRef = 832348281A77B50100B55238 /* PBXContainerItemProxy */; + remoteRef = 587651341A9EB168008B8F17 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 5876514F1A9F8619008B8F17 /* libRCTDataManager.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = libRCTDataManager.a; + remoteRef = 5876514E1A9F8619008B8F17 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 587651511A9F8619008B8F17 /* RCTDataManagerTests.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = RCTDataManagerTests.xctest; + remoteRef = 587651501A9F8619008B8F17 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXReferenceProxy section */ @@ -188,6 +323,12 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../../ReactKit/**", + "$(SRCROOT)/../../ReactKitModules/**", + ); INFOPLIST_FILE = "$(SRCROOT)/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = "-ObjC"; @@ -199,6 +340,12 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../../ReactKit/**", + "$(SRCROOT)/../../ReactKitModules/**", + ); INFOPLIST_FILE = "$(SRCROOT)/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = "-ObjC"; diff --git a/Libraries/Components/Image/Image.ios.js b/Libraries/Image/Image.ios.js similarity index 100% rename from Libraries/Components/Image/Image.ios.js rename to Libraries/Image/Image.ios.js diff --git a/Libraries/Components/Image/ImageResizeMode.js b/Libraries/Image/ImageResizeMode.js similarity index 100% rename from Libraries/Components/Image/ImageResizeMode.js rename to Libraries/Image/ImageResizeMode.js diff --git a/Libraries/Components/Image/ImageSourcePropType.js b/Libraries/Image/ImageSourcePropType.js similarity index 100% rename from Libraries/Components/Image/ImageSourcePropType.js rename to Libraries/Image/ImageSourcePropType.js diff --git a/Libraries/Components/Image/ImageStylePropTypes.js b/Libraries/Image/ImageStylePropTypes.js similarity index 100% rename from Libraries/Components/Image/ImageStylePropTypes.js rename to Libraries/Image/ImageStylePropTypes.js diff --git a/Libraries/Image/RCTImageDownloader.h b/Libraries/Image/RCTImageDownloader.h new file mode 100644 index 000000000..b525ea1a7 --- /dev/null +++ b/Libraries/Image/RCTImageDownloader.h @@ -0,0 +1,22 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +typedef void (^RCTDataDownloadBlock)(NSData *data, NSError *error); +typedef void (^RCTImageDownloadBlock)(UIImage *image, NSError *error); + +@interface RCTImageDownloader : NSObject + ++ (instancetype)sharedInstance; + +- (id)downloadDataForURL:(NSURL *)url + block:(RCTDataDownloadBlock)block; + +- (id)downloadImageForURL:(NSURL *)url + size:(CGSize)size + scale:(CGFloat)scale + block:(RCTImageDownloadBlock)block; + +- (void)cancelDownload:(id)downloadToken; + +@end diff --git a/ReactKit/Base/RCTImageDownloader.m b/Libraries/Image/RCTImageDownloader.m similarity index 100% rename from ReactKit/Base/RCTImageDownloader.m rename to Libraries/Image/RCTImageDownloader.m diff --git a/Libraries/Image/RCTNetworkImage.podspec b/Libraries/Image/RCTNetworkImage.podspec new file mode 100644 index 000000000..47eb0e5f6 --- /dev/null +++ b/Libraries/Image/RCTNetworkImage.podspec @@ -0,0 +1,28 @@ +Pod::Spec.new do |spec| + spec.name = 'RCTNetworkImage' + spec.version = '0.0.1' + spec.summary = 'Provides basic Text capabilities in ReactNative apps.' + spec.description = <<-DESC + Text can be rendered in ReactNative apps with the component using this module. + DESC + spec.homepage = 'https://facebook.github.io/react-native/' + spec.license = { :type => 'BSD' } + spec.author = 'Facebook' + spec.platform = :ios, '7.0' + spec.requires_arc = true + spec.source_files = '**/*.{h,m,c}' + spec.dependency "ReactKit", "~> 0.0.1" + + # ――― Project Linking ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # Link your library with frameworks, or libraries. Libraries do not include + # the lib prefix of their name. + # + + # s.framework = "SomeFramework" + # s.frameworks = "SomeFramework", "AnotherFramework" + + # s.library = "iconv" + #spec.libraries = "RCTNetworkImage", "ReactKit" + +end diff --git a/Libraries/Image/RCTNetworkImage.xcodeproj/project.pbxproj b/Libraries/Image/RCTNetworkImage.xcodeproj/project.pbxproj new file mode 100644 index 000000000..0dc8304fa --- /dev/null +++ b/Libraries/Image/RCTNetworkImage.xcodeproj/project.pbxproj @@ -0,0 +1,367 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 58B511691A9E6B3D00147676 /* libRCTNetworkImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 58B5115D1A9E6B3D00147676 /* libRCTNetworkImage.a */; }; + 58B5118F1A9E6BD600147676 /* RCTImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 58B5118A1A9E6BD600147676 /* RCTImageDownloader.m */; }; + 58B511901A9E6BD600147676 /* RCTNetworkImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 58B5118C1A9E6BD600147676 /* RCTNetworkImageView.m */; }; + 58B511911A9E6BD600147676 /* RCTNetworkImageViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 58B5118E1A9E6BD600147676 /* RCTNetworkImageViewManager.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 58B5116A1A9E6B3D00147676 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 58B511551A9E6B3D00147676 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 58B5115C1A9E6B3D00147676; + remoteInfo = RCTNetworkImage; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 58B5115B1A9E6B3D00147676 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 58B5115D1A9E6B3D00147676 /* libRCTNetworkImage.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRCTNetworkImage.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 58B511681A9E6B3D00147676 /* RCTNetworkImageTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RCTNetworkImageTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 58B511891A9E6BD600147676 /* RCTImageDownloader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTImageDownloader.h; sourceTree = ""; }; + 58B5118A1A9E6BD600147676 /* RCTImageDownloader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTImageDownloader.m; sourceTree = ""; }; + 58B5118B1A9E6BD600147676 /* RCTNetworkImageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTNetworkImageView.h; sourceTree = ""; }; + 58B5118C1A9E6BD600147676 /* RCTNetworkImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTNetworkImageView.m; sourceTree = ""; }; + 58B5118D1A9E6BD600147676 /* RCTNetworkImageViewManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTNetworkImageViewManager.h; sourceTree = ""; }; + 58B5118E1A9E6BD600147676 /* RCTNetworkImageViewManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTNetworkImageViewManager.m; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 58B5115A1A9E6B3D00147676 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 58B511651A9E6B3D00147676 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 58B511691A9E6B3D00147676 /* libRCTNetworkImage.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 58B511541A9E6B3D00147676 = { + isa = PBXGroup; + children = ( + 58B511891A9E6BD600147676 /* RCTImageDownloader.h */, + 58B5118A1A9E6BD600147676 /* RCTImageDownloader.m */, + 58B5118B1A9E6BD600147676 /* RCTNetworkImageView.h */, + 58B5118C1A9E6BD600147676 /* RCTNetworkImageView.m */, + 58B5118D1A9E6BD600147676 /* RCTNetworkImageViewManager.h */, + 58B5118E1A9E6BD600147676 /* RCTNetworkImageViewManager.m */, + 58B5115E1A9E6B3D00147676 /* Products */, + ); + sourceTree = ""; + }; + 58B5115E1A9E6B3D00147676 /* Products */ = { + isa = PBXGroup; + children = ( + 58B5115D1A9E6B3D00147676 /* libRCTNetworkImage.a */, + 58B511681A9E6B3D00147676 /* RCTNetworkImageTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 58B5115C1A9E6B3D00147676 /* RCTNetworkImage */ = { + isa = PBXNativeTarget; + buildConfigurationList = 58B511711A9E6B3D00147676 /* Build configuration list for PBXNativeTarget "RCTNetworkImage" */; + buildPhases = ( + 58B511591A9E6B3D00147676 /* Sources */, + 58B5115A1A9E6B3D00147676 /* Frameworks */, + 58B5115B1A9E6B3D00147676 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = RCTNetworkImage; + productName = RCTNetworkImage; + productReference = 58B5115D1A9E6B3D00147676 /* libRCTNetworkImage.a */; + productType = "com.apple.product-type.library.static"; + }; + 58B511671A9E6B3D00147676 /* RCTNetworkImageTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 58B511741A9E6B3D00147676 /* Build configuration list for PBXNativeTarget "RCTNetworkImageTests" */; + buildPhases = ( + 58B511641A9E6B3D00147676 /* Sources */, + 58B511651A9E6B3D00147676 /* Frameworks */, + 58B511661A9E6B3D00147676 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 58B5116B1A9E6B3D00147676 /* PBXTargetDependency */, + ); + name = RCTNetworkImageTests; + productName = RCTNetworkImageTests; + productReference = 58B511681A9E6B3D00147676 /* RCTNetworkImageTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 58B511551A9E6B3D00147676 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0610; + ORGANIZATIONNAME = Facebook; + TargetAttributes = { + 58B5115C1A9E6B3D00147676 = { + CreatedOnToolsVersion = 6.1.1; + }; + 58B511671A9E6B3D00147676 = { + CreatedOnToolsVersion = 6.1.1; + }; + }; + }; + buildConfigurationList = 58B511581A9E6B3D00147676 /* Build configuration list for PBXProject "RCTNetworkImage" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 58B511541A9E6B3D00147676; + productRefGroup = 58B5115E1A9E6B3D00147676 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 58B5115C1A9E6B3D00147676 /* RCTNetworkImage */, + 58B511671A9E6B3D00147676 /* RCTNetworkImageTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 58B511661A9E6B3D00147676 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 58B511591A9E6B3D00147676 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 58B5118F1A9E6BD600147676 /* RCTImageDownloader.m in Sources */, + 58B511911A9E6BD600147676 /* RCTNetworkImageViewManager.m in Sources */, + 58B511901A9E6BD600147676 /* RCTNetworkImageView.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 58B511641A9E6B3D00147676 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 58B5116B1A9E6B3D00147676 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 58B5115C1A9E6B3D00147676 /* RCTNetworkImage */; + targetProxy = 58B5116A1A9E6B3D00147676 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 58B5116F1A9E6B3D00147676 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + 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 = 8.1; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 58B511701A9E6B3D00147676 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + 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 = 8.1; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 58B511721A9E6B3D00147676 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../../ReactKit/**", + ); + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + 58B511731A9E6B3D00147676 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../../ReactKit/**", + ); + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + }; + name = Release; + }; + 58B511751A9E6B3D00147676 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + ); + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + INFOPLIST_FILE = RCTNetworkImageTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 58B511761A9E6B3D00147676 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + ); + INFOPLIST_FILE = RCTNetworkImageTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 58B511581A9E6B3D00147676 /* Build configuration list for PBXProject "RCTNetworkImage" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 58B5116F1A9E6B3D00147676 /* Debug */, + 58B511701A9E6B3D00147676 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 58B511711A9E6B3D00147676 /* Build configuration list for PBXNativeTarget "RCTNetworkImage" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 58B511721A9E6B3D00147676 /* Debug */, + 58B511731A9E6B3D00147676 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 58B511741A9E6B3D00147676 /* Build configuration list for PBXNativeTarget "RCTNetworkImageTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 58B511751A9E6B3D00147676 /* Debug */, + 58B511761A9E6B3D00147676 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 58B511551A9E6B3D00147676 /* Project object */; +} diff --git a/Libraries/Image/RCTNetworkImageView.h b/Libraries/Image/RCTNetworkImageView.h new file mode 100644 index 000000000..c99ed0689 --- /dev/null +++ b/Libraries/Image/RCTNetworkImageView.h @@ -0,0 +1,32 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@class RCTImageDownloader; + +@interface RCTNetworkImageView : UIView + +- (instancetype)initWithFrame:(CGRect)frame imageDownloader:(RCTImageDownloader *)imageDownloader; + +/** + * An image that will appear while the view is loading the image from the network, + * or when imageURL is nil. Defaults to nil. + */ +@property (nonatomic, strong) UIImage *defaultImage; + +/** + * Specify a URL for an image. The image will be asynchronously loaded and displayed. + */ +@property (nonatomic, strong) NSURL *imageURL; + +/** + * By default, changing imageURL will reset whatever existing image was present + * and revert to defaultImage while the new image loads. In certain obscure cases you + * may want to disable this behavior and instead keep displaying the previous image + * while the new one loads. In this case, pass NO for resetToDefaultImageWhileLoading. + * (If you set imageURL to nil, however, resetToDefaultImageWhileLoading is ignored; + * that will always reset to the default image.) + */ +- (void)setImageURL:(NSURL *)imageURL resetToDefaultImageWhileLoading:(BOOL)reset; + +@end diff --git a/ReactKit/Views/RCTNetworkImageView.m b/Libraries/Image/RCTNetworkImageView.m similarity index 100% rename from ReactKit/Views/RCTNetworkImageView.m rename to Libraries/Image/RCTNetworkImageView.m diff --git a/Libraries/Image/RCTNetworkImageViewManager.h b/Libraries/Image/RCTNetworkImageViewManager.h new file mode 100644 index 000000000..5b34e6060 --- /dev/null +++ b/Libraries/Image/RCTNetworkImageViewManager.h @@ -0,0 +1,8 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTViewManager.h" + +@interface RCTNetworkImageViewManager : RCTViewManager + +@end + diff --git a/ReactKit/Views/RCTNetworkImageViewManager.m b/Libraries/Image/RCTNetworkImageViewManager.m similarity index 100% rename from ReactKit/Views/RCTNetworkImageViewManager.m rename to Libraries/Image/RCTNetworkImageViewManager.m diff --git a/Libraries/Components/Image/ix.js b/Libraries/Image/ix.js similarity index 100% rename from Libraries/Components/Image/ix.js rename to Libraries/Image/ix.js diff --git a/Libraries/Network/RCTDataManager.h b/Libraries/Network/RCTDataManager.h new file mode 100644 index 000000000..47f80ba1c --- /dev/null +++ b/Libraries/Network/RCTDataManager.h @@ -0,0 +1,10 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +#import "RCTBridgeModule.h" + +@interface RCTDataManager : NSObject + +@end + diff --git a/ReactKit/Modules/RCTDataManager.m b/Libraries/Network/RCTDataManager.m similarity index 100% rename from ReactKit/Modules/RCTDataManager.m rename to Libraries/Network/RCTDataManager.m diff --git a/Libraries/Network/RCTDataManager.podspec b/Libraries/Network/RCTDataManager.podspec new file mode 100644 index 000000000..84df787b8 --- /dev/null +++ b/Libraries/Network/RCTDataManager.podspec @@ -0,0 +1,28 @@ +Pod::Spec.new do |spec| + spec.name = 'RCTDataManager' + spec.version = '0.0.1' + spec.summary = 'Provides basic networking capabilities in ReactNative apps.' + spec.description = <<-DESC + Use XMLHttpRequest to fetch data over the network. + DESC + spec.homepage = 'https://facebook.github.io/react-native/' + spec.license = { :type => 'BSD' } + spec.author = 'Facebook' + spec.platform = :ios, '7.0' + spec.requires_arc = true + spec.source_files = '**/*.{h,m,c}' + spec.dependency "ReactKit", "~> 0.0.1" + + # ――― Project Linking ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # Link your library with frameworks, or libraries. Libraries do not include + # the lib prefix of their name. + # + + # s.framework = "SomeFramework" + # s.frameworks = "SomeFramework", "AnotherFramework" + + # s.library = "iconv" + #spec.libraries = "RCTDataManager", "ReactKit" + +end diff --git a/Libraries/Network/RCTDataManager.xcodeproj/project.pbxproj b/Libraries/Network/RCTDataManager.xcodeproj/project.pbxproj new file mode 100644 index 000000000..b7cfed2a2 --- /dev/null +++ b/Libraries/Network/RCTDataManager.xcodeproj/project.pbxproj @@ -0,0 +1,355 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 58B511E71A9E6C8500147676 /* libRCTDataManager.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 58B511DB1A9E6C8500147676 /* libRCTDataManager.a */; }; + 58B512081A9E6CE300147676 /* RCTDataManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 58B512071A9E6CE300147676 /* RCTDataManager.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 58B511E81A9E6C8500147676 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 58B511D31A9E6C8500147676 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 58B511DA1A9E6C8500147676; + remoteInfo = RCTDataManager; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 58B511D91A9E6C8500147676 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 58B511DB1A9E6C8500147676 /* libRCTDataManager.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRCTDataManager.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 58B511E61A9E6C8500147676 /* RCTDataManagerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RCTDataManagerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 58B512061A9E6CE300147676 /* RCTDataManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTDataManager.h; sourceTree = ""; }; + 58B512071A9E6CE300147676 /* RCTDataManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTDataManager.m; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 58B511D81A9E6C8500147676 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 58B511E31A9E6C8500147676 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 58B511E71A9E6C8500147676 /* libRCTDataManager.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 58B511D21A9E6C8500147676 = { + isa = PBXGroup; + children = ( + 58B512061A9E6CE300147676 /* RCTDataManager.h */, + 58B512071A9E6CE300147676 /* RCTDataManager.m */, + 58B511DC1A9E6C8500147676 /* Products */, + ); + sourceTree = ""; + }; + 58B511DC1A9E6C8500147676 /* Products */ = { + isa = PBXGroup; + children = ( + 58B511DB1A9E6C8500147676 /* libRCTDataManager.a */, + 58B511E61A9E6C8500147676 /* RCTDataManagerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 58B511DA1A9E6C8500147676 /* RCTDataManager */ = { + isa = PBXNativeTarget; + buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RCTDataManager" */; + buildPhases = ( + 58B511D71A9E6C8500147676 /* Sources */, + 58B511D81A9E6C8500147676 /* Frameworks */, + 58B511D91A9E6C8500147676 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = RCTDataManager; + productName = RCTDataManager; + productReference = 58B511DB1A9E6C8500147676 /* libRCTDataManager.a */; + productType = "com.apple.product-type.library.static"; + }; + 58B511E51A9E6C8500147676 /* RCTDataManagerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 58B511F21A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RCTDataManagerTests" */; + buildPhases = ( + 58B511E21A9E6C8500147676 /* Sources */, + 58B511E31A9E6C8500147676 /* Frameworks */, + 58B511E41A9E6C8500147676 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 58B511E91A9E6C8500147676 /* PBXTargetDependency */, + ); + name = RCTDataManagerTests; + productName = RCTDataManagerTests; + productReference = 58B511E61A9E6C8500147676 /* RCTDataManagerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 58B511D31A9E6C8500147676 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0610; + ORGANIZATIONNAME = Facebook; + TargetAttributes = { + 58B511DA1A9E6C8500147676 = { + CreatedOnToolsVersion = 6.1.1; + }; + 58B511E51A9E6C8500147676 = { + CreatedOnToolsVersion = 6.1.1; + }; + }; + }; + buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RCTDataManager" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 58B511D21A9E6C8500147676; + productRefGroup = 58B511DC1A9E6C8500147676 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 58B511DA1A9E6C8500147676 /* RCTDataManager */, + 58B511E51A9E6C8500147676 /* RCTDataManagerTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 58B511E41A9E6C8500147676 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 58B511D71A9E6C8500147676 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 58B512081A9E6CE300147676 /* RCTDataManager.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 58B511E21A9E6C8500147676 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 58B511E91A9E6C8500147676 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 58B511DA1A9E6C8500147676 /* RCTDataManager */; + targetProxy = 58B511E81A9E6C8500147676 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 58B511ED1A9E6C8500147676 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + 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 = 8.1; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 58B511EE1A9E6C8500147676 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + 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 = 8.1; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 58B511F01A9E6C8500147676 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../../ReactKit/**", + ); + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + 58B511F11A9E6C8500147676 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../../ReactKit/**", + ); + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + }; + name = Release; + }; + 58B511F31A9E6C8500147676 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + ); + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + INFOPLIST_FILE = RCTDataManagerTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 58B511F41A9E6C8500147676 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + ); + INFOPLIST_FILE = RCTDataManagerTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RCTDataManager" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 58B511ED1A9E6C8500147676 /* Debug */, + 58B511EE1A9E6C8500147676 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RCTDataManager" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 58B511F01A9E6C8500147676 /* Debug */, + 58B511F11A9E6C8500147676 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 58B511F21A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RCTDataManagerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 58B511F31A9E6C8500147676 /* Debug */, + 58B511F41A9E6C8500147676 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 58B511D31A9E6C8500147676 /* Project object */; +} diff --git a/Libraries/XMLHttpRequest/XMLHttpRequest.ios.js b/Libraries/Network/XMLHttpRequest.ios.js similarity index 100% rename from Libraries/XMLHttpRequest/XMLHttpRequest.ios.js rename to Libraries/Network/XMLHttpRequest.ios.js diff --git a/Libraries/Components/Text/ExpandingText.js b/Libraries/Text/ExpandingText.js similarity index 100% rename from Libraries/Components/Text/ExpandingText.js rename to Libraries/Text/ExpandingText.js diff --git a/Libraries/Text/RCTRawTextManager.h b/Libraries/Text/RCTRawTextManager.h new file mode 100644 index 000000000..4c67fd328 --- /dev/null +++ b/Libraries/Text/RCTRawTextManager.h @@ -0,0 +1,7 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTViewManager.h" + +@interface RCTRawTextManager : RCTViewManager + +@end diff --git a/ReactKit/Views/RCTRawTextManager.m b/Libraries/Text/RCTRawTextManager.m similarity index 100% rename from ReactKit/Views/RCTRawTextManager.m rename to Libraries/Text/RCTRawTextManager.m diff --git a/Libraries/Text/RCTShadowRawText.h b/Libraries/Text/RCTShadowRawText.h new file mode 100644 index 000000000..d1bdc7d72 --- /dev/null +++ b/Libraries/Text/RCTShadowRawText.h @@ -0,0 +1,9 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTShadowView.h" + +@interface RCTShadowRawText : RCTShadowView + +@property (nonatomic, copy) NSString *text; + +@end diff --git a/ReactKit/Views/RCTShadowRawText.m b/Libraries/Text/RCTShadowRawText.m similarity index 100% rename from ReactKit/Views/RCTShadowRawText.m rename to Libraries/Text/RCTShadowRawText.m diff --git a/Libraries/Text/RCTShadowText.h b/Libraries/Text/RCTShadowText.h new file mode 100644 index 000000000..ddaf2ebe7 --- /dev/null +++ b/Libraries/Text/RCTShadowText.h @@ -0,0 +1,26 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTShadowView.h" + +extern NSString *const RCTIsHighlightedAttributeName; +extern NSString *const RCTReactTagAttributeName; + +@interface RCTShadowText : RCTShadowView + +@property (nonatomic, assign) NSWritingDirection writingDirection; +@property (nonatomic, strong) UIColor *textBackgroundColor; +@property (nonatomic, strong) UIColor *color; +@property (nonatomic, strong) UIFont *font; +@property (nonatomic, copy) NSString *fontFamily; +@property (nonatomic, assign) CGFloat fontSize; +@property (nonatomic, copy) NSString *fontWeight; +@property (nonatomic, assign) BOOL isHighlighted; +@property (nonatomic, assign) CGFloat lineHeight; +@property (nonatomic, assign) NSInteger maxNumberOfLines; +@property (nonatomic, assign) CGSize shadowOffset; +@property (nonatomic, assign) NSTextAlignment textAlign; +@property (nonatomic, assign) NSLineBreakMode truncationMode; + +- (NSAttributedString *)attributedString; + +@end diff --git a/ReactKit/Views/RCTShadowText.m b/Libraries/Text/RCTShadowText.m similarity index 100% rename from ReactKit/Views/RCTShadowText.m rename to Libraries/Text/RCTShadowText.m diff --git a/Libraries/Text/RCTText.h b/Libraries/Text/RCTText.h new file mode 100644 index 000000000..80ba3f234 --- /dev/null +++ b/Libraries/Text/RCTText.h @@ -0,0 +1,13 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import + +@interface RCTText : UIView + +@property (nonatomic, copy) NSAttributedString *attributedText; +@property (nonatomic, assign) NSLineBreakMode lineBreakMode; +@property (nonatomic, assign) NSUInteger numberOfLines; + +- (NSNumber *)reactTagAtPoint:(CGPoint)point; + +@end diff --git a/ReactKit/Views/RCTText.m b/Libraries/Text/RCTText.m similarity index 100% rename from ReactKit/Views/RCTText.m rename to Libraries/Text/RCTText.m diff --git a/Libraries/Text/RCTText.podspec b/Libraries/Text/RCTText.podspec new file mode 100644 index 000000000..656e0ee74 --- /dev/null +++ b/Libraries/Text/RCTText.podspec @@ -0,0 +1,28 @@ +Pod::Spec.new do |spec| + spec.name = 'RCTText' + spec.version = '0.0.1' + spec.summary = 'Provides basic Text capabilities in ReactNative apps.' + spec.description = <<-DESC + Text can be rendered in ReactNative apps with the component using this module. + DESC + spec.homepage = 'https://facebook.github.io/react-native/' + spec.license = { :type => 'BSD' } + spec.author = 'Facebook' + spec.platform = :ios, '7.0' + spec.requires_arc = true + spec.source_files = '**/*.{h,m,c}' + spec.dependency "ReactKit", "~> 0.0.1" + + # ――― Project Linking ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― # + # + # Link your library with frameworks, or libraries. Libraries do not include + # the lib prefix of their name. + # + + # s.framework = "SomeFramework" + # s.frameworks = "SomeFramework", "AnotherFramework" + + # s.library = "iconv" + #spec.libraries = "RCTText", "ReactKit" + +end diff --git a/Libraries/Text/RCTText.xcodeproj/project.pbxproj b/Libraries/Text/RCTText.xcodeproj/project.pbxproj new file mode 100644 index 000000000..e6e7b4aad --- /dev/null +++ b/Libraries/Text/RCTText.xcodeproj/project.pbxproj @@ -0,0 +1,379 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 58B511A71A9E6C1300147676 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 58B5119B1A9E6C1200147676 /* libRCTText.a */; }; + 58B511CE1A9E6C5C00147676 /* RCTRawTextManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 58B511C71A9E6C5C00147676 /* RCTRawTextManager.m */; }; + 58B511CF1A9E6C5C00147676 /* RCTShadowRawText.m in Sources */ = {isa = PBXBuildFile; fileRef = 58B511C91A9E6C5C00147676 /* RCTShadowRawText.m */; }; + 58B511D01A9E6C5C00147676 /* RCTShadowText.m in Sources */ = {isa = PBXBuildFile; fileRef = 58B511CB1A9E6C5C00147676 /* RCTShadowText.m */; }; + 58B511D11A9E6C5C00147676 /* RCTTextManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 58B511CD1A9E6C5C00147676 /* RCTTextManager.m */; }; + 58B512161A9E6EFF00147676 /* RCTText.m in Sources */ = {isa = PBXBuildFile; fileRef = 58B512141A9E6EFF00147676 /* RCTText.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 58B511A81A9E6C1300147676 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 58B511931A9E6C1200147676 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 58B5119A1A9E6C1200147676; + remoteInfo = RCTText; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 58B511991A9E6C1200147676 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 58B5119B1A9E6C1200147676 /* libRCTText.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRCTText.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 58B511A61A9E6C1300147676 /* RCTTextTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RCTTextTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 58B511C61A9E6C5C00147676 /* RCTRawTextManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTRawTextManager.h; sourceTree = ""; }; + 58B511C71A9E6C5C00147676 /* RCTRawTextManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTRawTextManager.m; sourceTree = ""; }; + 58B511C81A9E6C5C00147676 /* RCTShadowRawText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTShadowRawText.h; sourceTree = ""; }; + 58B511C91A9E6C5C00147676 /* RCTShadowRawText.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTShadowRawText.m; sourceTree = ""; }; + 58B511CA1A9E6C5C00147676 /* RCTShadowText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTShadowText.h; sourceTree = ""; }; + 58B511CB1A9E6C5C00147676 /* RCTShadowText.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTShadowText.m; sourceTree = ""; }; + 58B511CC1A9E6C5C00147676 /* RCTTextManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTTextManager.h; sourceTree = ""; }; + 58B511CD1A9E6C5C00147676 /* RCTTextManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTTextManager.m; sourceTree = ""; }; + 58B512141A9E6EFF00147676 /* RCTText.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTText.m; sourceTree = ""; }; + 58B512151A9E6EFF00147676 /* RCTText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTText.h; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 58B511981A9E6C1200147676 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 58B511A31A9E6C1300147676 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 58B511A71A9E6C1300147676 /* libRCTText.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 58B511921A9E6C1200147676 = { + isa = PBXGroup; + children = ( + 58B511C61A9E6C5C00147676 /* RCTRawTextManager.h */, + 58B511C71A9E6C5C00147676 /* RCTRawTextManager.m */, + 58B511C81A9E6C5C00147676 /* RCTShadowRawText.h */, + 58B511C91A9E6C5C00147676 /* RCTShadowRawText.m */, + 58B511CA1A9E6C5C00147676 /* RCTShadowText.h */, + 58B511CB1A9E6C5C00147676 /* RCTShadowText.m */, + 58B512151A9E6EFF00147676 /* RCTText.h */, + 58B512141A9E6EFF00147676 /* RCTText.m */, + 58B511CC1A9E6C5C00147676 /* RCTTextManager.h */, + 58B511CD1A9E6C5C00147676 /* RCTTextManager.m */, + 58B5119C1A9E6C1200147676 /* Products */, + ); + sourceTree = ""; + }; + 58B5119C1A9E6C1200147676 /* Products */ = { + isa = PBXGroup; + children = ( + 58B5119B1A9E6C1200147676 /* libRCTText.a */, + 58B511A61A9E6C1300147676 /* RCTTextTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 58B5119A1A9E6C1200147676 /* RCTText */ = { + isa = PBXNativeTarget; + buildConfigurationList = 58B511AF1A9E6C1300147676 /* Build configuration list for PBXNativeTarget "RCTText" */; + buildPhases = ( + 58B511971A9E6C1200147676 /* Sources */, + 58B511981A9E6C1200147676 /* Frameworks */, + 58B511991A9E6C1200147676 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = RCTText; + productName = RCTText; + productReference = 58B5119B1A9E6C1200147676 /* libRCTText.a */; + productType = "com.apple.product-type.library.static"; + }; + 58B511A51A9E6C1300147676 /* RCTTextTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 58B511B21A9E6C1300147676 /* Build configuration list for PBXNativeTarget "RCTTextTests" */; + buildPhases = ( + 58B511A21A9E6C1300147676 /* Sources */, + 58B511A31A9E6C1300147676 /* Frameworks */, + 58B511A41A9E6C1300147676 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 58B511A91A9E6C1300147676 /* PBXTargetDependency */, + ); + name = RCTTextTests; + productName = RCTTextTests; + productReference = 58B511A61A9E6C1300147676 /* RCTTextTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 58B511931A9E6C1200147676 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0610; + ORGANIZATIONNAME = Facebook; + TargetAttributes = { + 58B5119A1A9E6C1200147676 = { + CreatedOnToolsVersion = 6.1.1; + }; + 58B511A51A9E6C1300147676 = { + CreatedOnToolsVersion = 6.1.1; + }; + }; + }; + buildConfigurationList = 58B511961A9E6C1200147676 /* Build configuration list for PBXProject "RCTText" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 58B511921A9E6C1200147676; + productRefGroup = 58B5119C1A9E6C1200147676 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 58B5119A1A9E6C1200147676 /* RCTText */, + 58B511A51A9E6C1300147676 /* RCTTextTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 58B511A41A9E6C1300147676 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 58B511971A9E6C1200147676 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 58B511D11A9E6C5C00147676 /* RCTTextManager.m in Sources */, + 58B511CE1A9E6C5C00147676 /* RCTRawTextManager.m in Sources */, + 58B512161A9E6EFF00147676 /* RCTText.m in Sources */, + 58B511CF1A9E6C5C00147676 /* RCTShadowRawText.m in Sources */, + 58B511D01A9E6C5C00147676 /* RCTShadowText.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 58B511A21A9E6C1300147676 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 58B511A91A9E6C1300147676 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 58B5119A1A9E6C1200147676 /* RCTText */; + targetProxy = 58B511A81A9E6C1300147676 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 58B511AD1A9E6C1300147676 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + 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 = 8.1; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 58B511AE1A9E6C1300147676 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = YES; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + 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 = 8.1; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 58B511B01A9E6C1300147676 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../../ReactKit/**", + ); + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + 58B511B11A9E6C1300147676 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + "$(SRCROOT)/../../ReactKit/**", + ); + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + }; + name = Release; + }; + 58B511B31A9E6C1300147676 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + ); + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + INFOPLIST_FILE = RCTTextTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 58B511B41A9E6C1300147676 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + ); + INFOPLIST_FILE = RCTTextTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 58B511961A9E6C1200147676 /* Build configuration list for PBXProject "RCTText" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 58B511AD1A9E6C1300147676 /* Debug */, + 58B511AE1A9E6C1300147676 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 58B511AF1A9E6C1300147676 /* Build configuration list for PBXNativeTarget "RCTText" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 58B511B01A9E6C1300147676 /* Debug */, + 58B511B11A9E6C1300147676 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 58B511B21A9E6C1300147676 /* Build configuration list for PBXNativeTarget "RCTTextTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 58B511B31A9E6C1300147676 /* Debug */, + 58B511B41A9E6C1300147676 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 58B511931A9E6C1200147676 /* Project object */; +} diff --git a/Libraries/Text/RCTTextManager.h b/Libraries/Text/RCTTextManager.h new file mode 100644 index 000000000..0359cce40 --- /dev/null +++ b/Libraries/Text/RCTTextManager.h @@ -0,0 +1,8 @@ +// Copyright 2004-present Facebook. All Rights Reserved. + +#import "RCTViewManager.h" + +@interface RCTTextManager : RCTViewManager + +@end + diff --git a/ReactKit/Views/RCTTextManager.m b/Libraries/Text/RCTTextManager.m similarity index 100% rename from ReactKit/Views/RCTTextManager.m rename to Libraries/Text/RCTTextManager.m diff --git a/Libraries/Components/Text/Text.js b/Libraries/Text/Text.js similarity index 100% rename from Libraries/Components/Text/Text.js rename to Libraries/Text/Text.js diff --git a/Libraries/Components/Text/TextStylePropTypes.js b/Libraries/Text/TextStylePropTypes.js similarity index 100% rename from Libraries/Components/Text/TextStylePropTypes.js rename to Libraries/Text/TextStylePropTypes.js diff --git a/ReactKit/Base/RCTRootView.h b/ReactKit/Base/RCTRootView.h index f0c381638..240c000c3 100644 --- a/ReactKit/Base/RCTRootView.h +++ b/ReactKit/Base/RCTRootView.h @@ -38,4 +38,7 @@ - (void)reload; + (void)reloadAll; +- (void)startOrResetInteractionTiming; +- (NSDictionary *)endAndResetInteractionTiming; + @end diff --git a/ReactKit/Base/RCTRootView.m b/ReactKit/Base/RCTRootView.m index 5968357a9..703f86daf 100644 --- a/ReactKit/Base/RCTRootView.m +++ b/ReactKit/Base/RCTRootView.m @@ -131,6 +131,7 @@ static Class _globalExecutorClass; // Clean up [self removeGestureRecognizer:_touchHandler]; + [_touchHandler invalidate]; [_executor invalidate]; [_bridge invalidate]; @@ -231,4 +232,14 @@ static Class _globalExecutorClass; [[NSNotificationCenter defaultCenter] postNotificationName:RCTRootViewReloadNotification object:nil]; } +- (void)startOrResetInteractionTiming +{ + [_touchHandler startOrResetInteractionTiming]; +} + +- (NSDictionary *)endAndResetInteractionTiming +{ + return [_touchHandler endAndResetInteractionTiming]; +} + @end diff --git a/ReactKit/Base/RCTTouchHandler.h b/ReactKit/Base/RCTTouchHandler.h index e75bb1531..53379a78a 100644 --- a/ReactKit/Base/RCTTouchHandler.h +++ b/ReactKit/Base/RCTTouchHandler.h @@ -2,10 +2,14 @@ #import +#import "RCTInvalidating.h" + @class RCTBridge; -@interface RCTTouchHandler : UIGestureRecognizer +@interface RCTTouchHandler : UIGestureRecognizer - (instancetype)initWithBridge:(RCTBridge *)bridge; +- (void)startOrResetInteractionTiming; +- (NSDictionary *)endAndResetInteractionTiming; @end diff --git a/ReactKit/Base/RCTTouchHandler.m b/ReactKit/Base/RCTTouchHandler.m index a23cd70c7..36ab411fe 100644 --- a/ReactKit/Base/RCTTouchHandler.m +++ b/ReactKit/Base/RCTTouchHandler.m @@ -14,10 +14,42 @@ // TODO: this class behaves a lot like a module, and could be implemented as a // module if we were to assume that modules and RootViews had a 1:1 relationship +@interface RCTTouchEvent : NSObject + +@property (nonatomic, assign, readonly) NSUInteger id; +@property (nonatomic, copy, readonly) NSString *eventName; +@property (nonatomic, copy, readonly) NSArray *touches; +@property (nonatomic, copy, readonly) NSArray *changedIndexes; +@property (nonatomic, assign, readonly) CFTimeInterval originatingTime; + +@end + + +@implementation RCTTouchEvent + ++ (instancetype)touchWithEventName:(NSString *)eventName touches:(NSArray *)touches changedIndexes:(NSArray *)changedIndexes originatingTime:(CFTimeInterval)originatingTime +{ + RCTTouchEvent *touchEvent = [[self alloc] init]; + touchEvent->_id = [self newID]; + touchEvent->_eventName = [eventName copy]; + touchEvent->_touches = [touches copy]; + touchEvent->_changedIndexes = [changedIndexes copy]; + touchEvent->_originatingTime = originatingTime; + return touchEvent; +} + ++ (NSUInteger)newID +{ + static NSUInteger id = 0; + return ++id; +} + +@end + @implementation RCTTouchHandler { __weak RCTBridge *_bridge; - + /** * Arrays managed in parallel tracking native touch object along with the * native view that was touched, and the react touch data dictionary. @@ -27,6 +59,12 @@ NSMutableOrderedSet *_nativeTouches; NSMutableArray *_reactTouches; NSMutableArray *_touchViews; + + BOOL _recordingInteractionTiming; + CFTimeInterval _mostRecentEnqueueJS; + CADisplayLink *_displayLink; + NSMutableArray *_pendingTouches; + NSMutableArray *_bridgeInteractionTiming; } - (instancetype)initWithTarget:(id)target action:(SEL)action @@ -37,15 +75,21 @@ - (instancetype)initWithBridge:(RCTBridge *)bridge { if ((self = [super initWithTarget:nil action:NULL])) { - + RCTAssert(bridge != nil, @"Expect an event dispatcher"); - + _bridge = bridge; - + _nativeTouches = [[NSMutableOrderedSet alloc] init]; _reactTouches = [[NSMutableArray alloc] init]; _touchViews = [[NSMutableArray alloc] init]; - + + _displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(_update:)]; + _pendingTouches = [[NSMutableArray alloc] init]; + _bridgeInteractionTiming = [[NSMutableArray alloc] init]; + + [_displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes]; + // `cancelsTouchesInView` is needed in order to be used as a top level event delegated recognizer. Otherwise, lower // level components not build using RCT, will fail to recognize gestures. self.cancelsTouchesInView = NO; @@ -53,6 +97,17 @@ return self; } +- (BOOL)isValid +{ + return _displayLink != nil; +} + +- (void)invalidate +{ + [_displayLink invalidate]; + _displayLink = nil; +} + typedef NS_ENUM(NSInteger, RCTTouchEventType) { RCTTouchEventTypeStart, RCTTouchEventTypeMove, @@ -65,10 +120,10 @@ typedef NS_ENUM(NSInteger, RCTTouchEventType) { - (void)_recordNewTouches:(NSSet *)touches { for (UITouch *touch in touches) { - + RCTAssert(![_nativeTouches containsObject:touch], @"Touch is already recorded. This is a critical bug."); - + // Find closest React-managed touchable view UIView *targetView = touch.view; while (targetView) { @@ -95,14 +150,14 @@ typedef NS_ENUM(NSInteger, RCTTouchEventType) { break; } } - + // Create touch NSMutableDictionary *reactTouch = [[NSMutableDictionary alloc] initWithCapacity:9]; reactTouch[@"target"] = [targetView reactTagAtPoint:[touch locationInView:targetView]]; reactTouch[@"identifier"] = @(touchID); reactTouch[@"touches"] = [NSNull null]; // We hijack this touchObj to serve both as an event reactTouch[@"changedTouches"] = [NSNull null]; // and as a Touch object, so making this JIT friendly. - + // Add to arrays [_touchViews addObject:targetView]; [_nativeTouches addObject:touch]; @@ -129,10 +184,10 @@ typedef NS_ENUM(NSInteger, RCTTouchEventType) { UITouch *nativeTouch = _nativeTouches[touchIndex]; CGPoint windowLocation = [nativeTouch locationInView:nativeTouch.window]; CGPoint rootViewLocation = [nativeTouch.window convertPoint:windowLocation toView:self.view]; - + UIView *touchView = _touchViews[touchIndex]; CGPoint touchViewLocation = [nativeTouch.window convertPoint:windowLocation toView:touchView]; - + NSMutableDictionary *reactTouch = _reactTouches[touchIndex]; reactTouch[@"pageX"] = @(rootViewLocation.x); reactTouch[@"pageY"] = @(rootViewLocation.y); @@ -157,9 +212,10 @@ typedef NS_ENUM(NSInteger, RCTTouchEventType) { * (start/end/move/cancel) and the indices that represent "changed" `Touch`es * from that array. */ -- (void)_updateAndDispatchTouches:(NSSet *)touches eventName:(NSString *)eventName +- (void)_updateAndDispatchTouches:(NSSet *)touches eventName:(NSString *)eventName originatingTime:(CFTimeInterval)originatingTime { // Update touches + CFTimeInterval enqueueTime = CACurrentMediaTime(); NSMutableArray *changedIndexes = [[NSMutableArray alloc] init]; for (UITouch *touch in touches) { NSInteger index = [_nativeTouches indexOfObject:touch]; @@ -181,10 +237,72 @@ typedef NS_ENUM(NSInteger, RCTTouchEventType) { for (NSDictionary *touch in _reactTouches) { [reactTouches addObject:[touch copy]]; } - + + RCTTouchEvent *touch = [RCTTouchEvent touchWithEventName:eventName + touches:reactTouches + changedIndexes:changedIndexes + originatingTime:originatingTime]; + [_pendingTouches addObject:touch]; + + if (_recordingInteractionTiming) { + [_bridgeInteractionTiming addObject:@{ + @"timeSeconds": @(touch.originatingTime), + @"operation": @"taskOriginated", + @"taskID": @(touch.id), + }]; + [_bridgeInteractionTiming addObject:@{ + @"timeSeconds": @(enqueueTime), + @"operation": @"taskEnqueuedPending", + @"taskID": @(touch.id), + }]; + } +} + +- (void)_update:(CADisplayLink *)sender +{ // Dispatch touch event - [_bridge enqueueJSCall:@"RCTEventEmitter.receiveTouches" - args:@[eventName, reactTouches, changedIndexes]]; + NSUInteger pendingCount = _pendingTouches.count; + for (RCTTouchEvent *touch in _pendingTouches) { + _mostRecentEnqueueJS = CACurrentMediaTime(); + [_bridge enqueueJSCall:@"RCTEventEmitter.receiveTouches" + args:@[touch.eventName, touch.touches, touch.changedIndexes]]; + } + + if (_recordingInteractionTiming) { + for (RCTTouchEvent *touch in _pendingTouches) { + [_bridgeInteractionTiming addObject:@{ + @"timeSeconds": @(sender.timestamp), + @"operation": @"frameAlignedDispatch", + @"taskID": @(touch.id), + }]; + } + + if (pendingCount > 0 || sender.timestamp - _mostRecentEnqueueJS < 0.1) { + [_bridgeInteractionTiming addObject:@{ + @"timeSeconds": @(sender.timestamp), + @"operation": @"mainThreadDisplayLink", + @"taskID": @([RCTTouchEvent newID]), + }]; + } + } + + [_pendingTouches removeAllObjects]; +} + +- (void)startOrResetInteractionTiming +{ + RCTAssertMainThread(); + [_bridgeInteractionTiming removeAllObjects]; + _recordingInteractionTiming = YES; +} + +- (NSDictionary *)endAndResetInteractionTiming +{ + RCTAssertMainThread(); + _recordingInteractionTiming = NO; + NSArray *_prevInteractionTimingData = _bridgeInteractionTiming; + _bridgeInteractionTiming = [[NSMutableArray alloc] init]; + return @{ @"interactionTiming": _prevInteractionTimingData }; } #pragma mark - Gesture Recognizer Delegate Callbacks @@ -193,11 +311,11 @@ typedef NS_ENUM(NSInteger, RCTTouchEventType) { { [super touchesBegan:touches withEvent:event]; self.state = UIGestureRecognizerStateBegan; - + // "start" has to record new touches before extracting the event. // "end"/"cancel" needs to remove the touch *after* extracting the event. [self _recordNewTouches:touches]; - [self _updateAndDispatchTouches:touches eventName:@"topTouchStart"]; + [self _updateAndDispatchTouches:touches eventName:@"topTouchStart" originatingTime:event.timestamp]; } - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event @@ -206,20 +324,20 @@ typedef NS_ENUM(NSInteger, RCTTouchEventType) { if (self.state == UIGestureRecognizerStateFailed) { return; } - [self _updateAndDispatchTouches:touches eventName:@"topTouchMove"]; + [self _updateAndDispatchTouches:touches eventName:@"topTouchMove" originatingTime:event.timestamp]; } - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { [super touchesEnded:touches withEvent:event]; - [self _updateAndDispatchTouches:touches eventName:@"topTouchEnd"]; + [self _updateAndDispatchTouches:touches eventName:@"topTouchEnd" originatingTime:event.timestamp]; [self _recordRemovedTouches:touches]; } - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event { [super touchesCancelled:touches withEvent:event]; - [self _updateAndDispatchTouches:touches eventName:@"topTouchCancel"]; + [self _updateAndDispatchTouches:touches eventName:@"topTouchCancel" originatingTime:event.timestamp]; [self _recordRemovedTouches:touches]; } diff --git a/ReactKit/Modules/RCTUIManager.m b/ReactKit/Modules/RCTUIManager.m index 3b1b56432..0b34a820b 100644 --- a/ReactKit/Modules/RCTUIManager.m +++ b/ReactKit/Modules/RCTUIManager.m @@ -1293,6 +1293,14 @@ static void RCTSetShadowViewProps(NSDictionary *props, RCTShadowView *shadowView @"None": @(UITextAutocapitalizationTypeNone), }, }, + @"UITextField": @{ + @"clearButtonMode": @{ + @"Never": @(UITextFieldViewModeNever), + @"WhileEditing": @(UITextFieldViewModeWhileEditing), + @"UnlessEditing": @(UITextFieldViewModeUnlessEditing), + @"Always": @(UITextFieldViewModeAlways), + }, + }, @"UIView": @{ @"ContentMode": @{ @"ScaleToFill": @(UIViewContentModeScaleToFill), @@ -1342,6 +1350,37 @@ static void RCTSetShadowViewProps(NSDictionary *props, RCTShadowView *shadowView _nextLayoutAnimation = [[RCTLayoutAnimation alloc] initWithDictionary:config callback:callback]; } +- (void)startOrResetInteractionTiming +{ + RCT_EXPORT(); + + NSSet *rootViewTags = [_rootViewTags copy]; + [self addUIBlock:^(RCTUIManager *uiManager, RCTSparseArray *viewRegistry) { + for (NSNumber *reactTag in rootViewTags) { + RCTRootView *rootView = viewRegistry[reactTag]; + [rootView startOrResetInteractionTiming]; + } + }]; +} + +- (void)endAndResetInteractionTiming:(RCTResponseSenderBlock)onSuccess + onError:(RCTResponseSenderBlock)onError +{ + RCT_EXPORT(); + + NSSet *rootViewTags = [_rootViewTags copy]; + [self addUIBlock:^(RCTUIManager *uiManager, RCTSparseArray *viewRegistry) { + NSMutableDictionary *timingData = [[NSMutableDictionary alloc] init]; + for (NSNumber *reactTag in rootViewTags) { + RCTRootView *rootView = viewRegistry[reactTag]; + if (rootView) { + timingData[reactTag.stringValue] = [rootView endAndResetInteractionTiming]; + } + } + onSuccess(@[ timingData ]); + }]; +} + static UIView *_jsResponder; + (UIView *)JSResponder diff --git a/ReactKit/ReactKit.podspec b/ReactKit/ReactKit.podspec new file mode 100644 index 000000000..3e1a8a6e2 --- /dev/null +++ b/ReactKit/ReactKit.podspec @@ -0,0 +1,16 @@ +Pod::Spec.new do |spec| + spec.name = 'ReactKit' + spec.version = '0.0.1' + spec.summary = 'An implementation of React that targets UIKit for iOS' + spec.description = <<-DESC + Our first React Native implementation is ReactKit, targeting iOS. We are also working on an Android implementation which we will release later. ReactKit apps are built using the React JS framework, and render directly to native UIKit elements using a fully asynchronous architecture. There is no browser and no HTML. We have picked what we think is the best set of features from these and other technologies to build what we hope to become the best product development framework available, with an emphasis on iteration speed, developer delight, continuity of technology, and absolutely beautiful and fast products with no compromises in quality or capability. + DESC + spec.homepage = 'https://facebook.github.io/react-native/' + spec.license = { :type => 'BSD' } + spec.author = 'Facebook' + spec.platform = :ios, '7.0' + spec.requires_arc = true + spec.source_files = '**/*.{h,m,c}' + spec.public_header_files = "**/*.h" + #spec.library = "ReactKit" +end diff --git a/ReactKit/ReactKit.xcodeproj/project.pbxproj b/ReactKit/ReactKit.xcodeproj/project.pbxproj index e342d22a3..3067cd8e4 100644 --- a/ReactKit/ReactKit.xcodeproj/project.pbxproj +++ b/ReactKit/ReactKit.xcodeproj/project.pbxproj @@ -10,12 +10,8 @@ 1302F0FD1A78550100EBEF02 /* RCTStaticImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 1302F0FA1A78550100EBEF02 /* RCTStaticImage.m */; }; 1302F0FE1A78550100EBEF02 /* RCTStaticImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 1302F0FC1A78550100EBEF02 /* RCTStaticImageManager.m */; }; 134FCB361A6D42D900051CC8 /* RCTSparseArray.m in Sources */ = {isa = PBXBuildFile; fileRef = 83BEE46D1A6D19BC00B5863B /* RCTSparseArray.m */; }; - 134FCB371A6D4ED700051CC8 /* RCTRawTextManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 137029581A6C197000575408 /* RCTRawTextManager.m */; }; 134FCB3D1A6E7F0800051CC8 /* RCTContextExecutor.m in Sources */ = {isa = PBXBuildFile; fileRef = 134FCB3A1A6E7F0800051CC8 /* RCTContextExecutor.m */; }; 134FCB3E1A6E7F0800051CC8 /* RCTWebViewExecutor.m in Sources */ = {isa = PBXBuildFile; fileRef = 134FCB3C1A6E7F0800051CC8 /* RCTWebViewExecutor.m */; }; - 137029491A698FF000575408 /* RCTNetworkImageViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 137029401A698FF000575408 /* RCTNetworkImageViewManager.m */; }; - 137029501A6990A100575408 /* RCTNetworkImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1370294F1A6990A100575408 /* RCTNetworkImageView.m */; }; - 137029531A69923600575408 /* RCTImageDownloader.m in Sources */ = {isa = PBXBuildFile; fileRef = 137029521A69923600575408 /* RCTImageDownloader.m */; }; 13723B501A82FD3C00F88898 /* RCTStatusBarManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 13723B4F1A82FD3C00F88898 /* RCTStatusBarManager.m */; }; 13A1F71E1A75392D00D3D453 /* RCTKeyCommands.m in Sources */ = {isa = PBXBuildFile; fileRef = 13A1F71D1A75392D00D3D453 /* RCTKeyCommands.m */; }; 13B07FEF1A69327A00A75B9A /* RCTAlertManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FE81A69327A00A75B9A /* RCTAlertManager.m */; }; @@ -23,9 +19,6 @@ 13B07FF21A69327A00A75B9A /* RCTTiming.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FEE1A69327A00A75B9A /* RCTTiming.m */; }; 13B080051A6947C200A75B9A /* RCTScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FF71A6947C200A75B9A /* RCTScrollView.m */; }; 13B080061A6947C200A75B9A /* RCTScrollViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FF91A6947C200A75B9A /* RCTScrollViewManager.m */; }; - 13B080071A6947C200A75B9A /* RCTShadowRawText.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FFB1A6947C200A75B9A /* RCTShadowRawText.m */; }; - 13B080081A6947C200A75B9A /* RCTShadowText.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FFD1A6947C200A75B9A /* RCTShadowText.m */; }; - 13B0800B1A6947C200A75B9A /* RCTTextManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B080031A6947C200A75B9A /* RCTTextManager.m */; }; 13B0801A1A69489C00A75B9A /* RCTNavigator.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B0800D1A69489C00A75B9A /* RCTNavigator.m */; }; 13B0801B1A69489C00A75B9A /* RCTNavigatorManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B0800F1A69489C00A75B9A /* RCTNavigatorManager.m */; }; 13B0801C1A69489C00A75B9A /* RCTNavItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B080111A69489C00A75B9A /* RCTNavItem.m */; }; @@ -34,7 +27,6 @@ 13B0801F1A69489C00A75B9A /* RCTTextFieldManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B080171A69489C00A75B9A /* RCTTextFieldManager.m */; }; 13B080201A69489C00A75B9A /* RCTUIActivityIndicatorViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B080191A69489C00A75B9A /* RCTUIActivityIndicatorViewManager.m */; }; 13B080261A694A8400A75B9A /* RCTWrapperViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B080241A694A8400A75B9A /* RCTWrapperViewController.m */; }; - 13B080291A694C4900A75B9A /* RCTDataManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B080281A694C4900A75B9A /* RCTDataManager.m */; }; 13E0674A1A70F434002CDEE1 /* RCTUIManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 13E067491A70F434002CDEE1 /* RCTUIManager.m */; }; 13E067551A70F44B002CDEE1 /* RCTShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 13E0674C1A70F44B002CDEE1 /* RCTShadowView.m */; }; 13E067561A70F44B002CDEE1 /* RCTViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 13E0674E1A70F44B002CDEE1 /* RCTViewManager.m */; }; @@ -43,7 +35,6 @@ 830A229E1A66C68A008503DA /* RCTRootView.m in Sources */ = {isa = PBXBuildFile; fileRef = 830A229D1A66C68A008503DA /* RCTRootView.m */; }; 830BA4551A8E3BDA00D53203 /* RCTCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 830BA4541A8E3BDA00D53203 /* RCTCache.m */; }; 832348161A77A5AA00B55238 /* Layout.c in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FC71A68125100A75B9A /* Layout.c */; }; - 835DD1321A7FDFB600D561F7 /* RCTText.m in Sources */ = {isa = PBXBuildFile; fileRef = 835DD1311A7FDFB600D561F7 /* RCTText.m */; }; 83CBBA511A601E3B00E9B192 /* RCTAssert.m in Sources */ = {isa = PBXBuildFile; fileRef = 83CBBA4B1A601E3B00E9B192 /* RCTAssert.m */; }; 83CBBA521A601E3B00E9B192 /* RCTLog.m in Sources */ = {isa = PBXBuildFile; fileRef = 83CBBA4E1A601E3B00E9B192 /* RCTLog.m */; }; 83CBBA531A601E3B00E9B192 /* RCTUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 83CBBA501A601E3B00E9B192 /* RCTUtils.m */; }; @@ -76,14 +67,6 @@ 134FCB3A1A6E7F0800051CC8 /* RCTContextExecutor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTContextExecutor.m; sourceTree = ""; }; 134FCB3B1A6E7F0800051CC8 /* RCTWebViewExecutor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTWebViewExecutor.h; sourceTree = ""; }; 134FCB3C1A6E7F0800051CC8 /* RCTWebViewExecutor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTWebViewExecutor.m; sourceTree = ""; }; - 1370293F1A698FF000575408 /* RCTNetworkImageViewManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTNetworkImageViewManager.h; sourceTree = ""; }; - 137029401A698FF000575408 /* RCTNetworkImageViewManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTNetworkImageViewManager.m; sourceTree = ""; }; - 1370294E1A6990A100575408 /* RCTNetworkImageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTNetworkImageView.h; sourceTree = ""; }; - 1370294F1A6990A100575408 /* RCTNetworkImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTNetworkImageView.m; sourceTree = ""; }; - 137029511A69923600575408 /* RCTImageDownloader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTImageDownloader.h; sourceTree = ""; }; - 137029521A69923600575408 /* RCTImageDownloader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTImageDownloader.m; sourceTree = ""; }; - 137029571A6C197000575408 /* RCTRawTextManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTRawTextManager.h; sourceTree = ""; }; - 137029581A6C197000575408 /* RCTRawTextManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTRawTextManager.m; sourceTree = ""; }; 13723B4E1A82FD3C00F88898 /* RCTStatusBarManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTStatusBarManager.h; sourceTree = ""; }; 13723B4F1A82FD3C00F88898 /* RCTStatusBarManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTStatusBarManager.m; sourceTree = ""; }; 13A1F71C1A75392D00D3D453 /* RCTKeyCommands.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTKeyCommands.h; sourceTree = ""; }; @@ -101,12 +84,6 @@ 13B07FF71A6947C200A75B9A /* RCTScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTScrollView.m; sourceTree = ""; }; 13B07FF81A6947C200A75B9A /* RCTScrollViewManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTScrollViewManager.h; sourceTree = ""; }; 13B07FF91A6947C200A75B9A /* RCTScrollViewManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTScrollViewManager.m; sourceTree = ""; }; - 13B07FFA1A6947C200A75B9A /* RCTShadowRawText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTShadowRawText.h; sourceTree = ""; }; - 13B07FFB1A6947C200A75B9A /* RCTShadowRawText.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTShadowRawText.m; sourceTree = ""; }; - 13B07FFC1A6947C200A75B9A /* RCTShadowText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTShadowText.h; sourceTree = ""; }; - 13B07FFD1A6947C200A75B9A /* RCTShadowText.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTShadowText.m; sourceTree = ""; }; - 13B080021A6947C200A75B9A /* RCTTextManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTTextManager.h; sourceTree = ""; }; - 13B080031A6947C200A75B9A /* RCTTextManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTTextManager.m; sourceTree = ""; }; 13B0800C1A69489C00A75B9A /* RCTNavigator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTNavigator.h; sourceTree = ""; }; 13B0800D1A69489C00A75B9A /* RCTNavigator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTNavigator.m; sourceTree = ""; }; 13B0800E1A69489C00A75B9A /* RCTNavigatorManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTNavigatorManager.h; sourceTree = ""; }; @@ -123,8 +100,6 @@ 13B080191A69489C00A75B9A /* RCTUIActivityIndicatorViewManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTUIActivityIndicatorViewManager.m; sourceTree = ""; }; 13B080231A694A8400A75B9A /* RCTWrapperViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTWrapperViewController.h; sourceTree = ""; }; 13B080241A694A8400A75B9A /* RCTWrapperViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTWrapperViewController.m; sourceTree = ""; }; - 13B080271A694C4900A75B9A /* RCTDataManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTDataManager.h; sourceTree = ""; }; - 13B080281A694C4900A75B9A /* RCTDataManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTDataManager.m; sourceTree = ""; }; 13DB9D681A8CC58200429C20 /* RCTAnimationType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTAnimationType.h; sourceTree = ""; }; 13E067481A70F434002CDEE1 /* RCTUIManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTUIManager.h; sourceTree = ""; }; 13E067491A70F434002CDEE1 /* RCTUIManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTUIManager.m; sourceTree = ""; }; @@ -143,8 +118,6 @@ 830A229D1A66C68A008503DA /* RCTRootView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTRootView.m; sourceTree = ""; }; 830BA4531A8E3BDA00D53203 /* RCTCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTCache.h; sourceTree = ""; }; 830BA4541A8E3BDA00D53203 /* RCTCache.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTCache.m; sourceTree = ""; }; - 835DD1301A7FDFB600D561F7 /* RCTText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTText.h; sourceTree = ""; }; - 835DD1311A7FDFB600D561F7 /* RCTText.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTText.m; sourceTree = ""; }; 83BEE46C1A6D19BC00B5863B /* RCTSparseArray.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTSparseArray.h; sourceTree = ""; }; 83BEE46D1A6D19BC00B5863B /* RCTSparseArray.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTSparseArray.m; sourceTree = ""; }; 83CBBA2E1A601D0E00E9B192 /* libReactKit.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libReactKit.a; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -206,8 +179,6 @@ children = ( 13B07FE71A69327A00A75B9A /* RCTAlertManager.h */, 13B07FE81A69327A00A75B9A /* RCTAlertManager.m */, - 13B080271A694C4900A75B9A /* RCTDataManager.h */, - 13B080281A694C4900A75B9A /* RCTDataManager.m */, 13B07FE91A69327A00A75B9A /* RCTExceptionsManager.h */, 13B07FEA1A69327A00A75B9A /* RCTExceptionsManager.m */, 13723B4E1A82FD3C00F88898 /* RCTStatusBarManager.h */, @@ -231,34 +202,20 @@ 13B080111A69489C00A75B9A /* RCTNavItem.m */, 13B080121A69489C00A75B9A /* RCTNavItemManager.h */, 13B080131A69489C00A75B9A /* RCTNavItemManager.m */, - 1370294E1A6990A100575408 /* RCTNetworkImageView.h */, - 1370294F1A6990A100575408 /* RCTNetworkImageView.m */, - 1370293F1A698FF000575408 /* RCTNetworkImageViewManager.h */, - 137029401A698FF000575408 /* RCTNetworkImageViewManager.m */, - 137029571A6C197000575408 /* RCTRawTextManager.h */, - 137029581A6C197000575408 /* RCTRawTextManager.m */, 13B07FF61A6947C200A75B9A /* RCTScrollView.h */, 13B07FF71A6947C200A75B9A /* RCTScrollView.m */, 13B07FF81A6947C200A75B9A /* RCTScrollViewManager.h */, 13B07FF91A6947C200A75B9A /* RCTScrollViewManager.m */, - 13B07FFA1A6947C200A75B9A /* RCTShadowRawText.h */, - 13B07FFB1A6947C200A75B9A /* RCTShadowRawText.m */, - 13B07FFC1A6947C200A75B9A /* RCTShadowText.h */, - 13B07FFD1A6947C200A75B9A /* RCTShadowText.m */, 13E0674B1A70F44B002CDEE1 /* RCTShadowView.h */, 13E0674C1A70F44B002CDEE1 /* RCTShadowView.m */, 1302F0F91A78550100EBEF02 /* RCTStaticImage.h */, 1302F0FA1A78550100EBEF02 /* RCTStaticImage.m */, 1302F0FB1A78550100EBEF02 /* RCTStaticImageManager.h */, 1302F0FC1A78550100EBEF02 /* RCTStaticImageManager.m */, - 835DD1301A7FDFB600D561F7 /* RCTText.h */, - 835DD1311A7FDFB600D561F7 /* RCTText.m */, 13B080141A69489C00A75B9A /* RCTTextField.h */, 13B080151A69489C00A75B9A /* RCTTextField.m */, 13B080161A69489C00A75B9A /* RCTTextFieldManager.h */, 13B080171A69489C00A75B9A /* RCTTextFieldManager.m */, - 13B080021A6947C200A75B9A /* RCTTextManager.h */, - 13B080031A6947C200A75B9A /* RCTTextManager.m */, 13B080181A69489C00A75B9A /* RCTUIActivityIndicatorViewManager.h */, 13B080191A69489C00A75B9A /* RCTUIActivityIndicatorViewManager.m */, 13E0674F1A70F44B002CDEE1 /* RCTView.h */, @@ -317,8 +274,6 @@ 83CBBACB1A6023D300E9B192 /* RCTConvert.m */, 83CBBA651A601EF300E9B192 /* RCTEventDispatcher.h */, 83CBBA661A601EF300E9B192 /* RCTEventDispatcher.m */, - 137029511A69923600575408 /* RCTImageDownloader.h */, - 137029521A69923600575408 /* RCTImageDownloader.m */, 83CBBA4C1A601E3B00E9B192 /* RCTInvalidating.h */, 83CBBA631A601ECA00E9B192 /* RCTJavaScriptExecutor.h */, 13EFFCCF1A98E6FE002607DC /* RCTJSMethodRegistrar.h */, @@ -436,32 +391,23 @@ 13B0801F1A69489C00A75B9A /* RCTTextFieldManager.m in Sources */, 134FCB3D1A6E7F0800051CC8 /* RCTContextExecutor.m in Sources */, 13E067591A70F44B002CDEE1 /* UIView+ReactKit.m in Sources */, - 835DD1321A7FDFB600D561F7 /* RCTText.m in Sources */, - 137029531A69923600575408 /* RCTImageDownloader.m in Sources */, 83CBBA981A6020BB00E9B192 /* RCTTouchHandler.m in Sources */, 83CBBA521A601E3B00E9B192 /* RCTLog.m in Sources */, - 13B080071A6947C200A75B9A /* RCTShadowRawText.m in Sources */, 13B0801D1A69489C00A75B9A /* RCTNavItemManager.m in Sources */, - 137029501A6990A100575408 /* RCTNetworkImageView.m in Sources */, 13E067571A70F44B002CDEE1 /* RCTView.m in Sources */, 134FCB361A6D42D900051CC8 /* RCTSparseArray.m in Sources */, - 137029491A698FF000575408 /* RCTNetworkImageViewManager.m in Sources */, 13A1F71E1A75392D00D3D453 /* RCTKeyCommands.m in Sources */, 83CBBA531A601E3B00E9B192 /* RCTUtils.m in Sources */, 83CBBA601A601EAA00E9B192 /* RCTBridge.m in Sources */, - 13B080081A6947C200A75B9A /* RCTShadowText.m in Sources */, 13E067551A70F44B002CDEE1 /* RCTShadowView.m in Sources */, 13B0801A1A69489C00A75B9A /* RCTNavigator.m in Sources */, 830BA4551A8E3BDA00D53203 /* RCTCache.m in Sources */, 134FCB3E1A6E7F0800051CC8 /* RCTWebViewExecutor.m in Sources */, 13B0801C1A69489C00A75B9A /* RCTNavItem.m in Sources */, 83CBBA691A601EF300E9B192 /* RCTEventDispatcher.m in Sources */, - 134FCB371A6D4ED700051CC8 /* RCTRawTextManager.m in Sources */, - 13B0800B1A6947C200A75B9A /* RCTTextManager.m in Sources */, 13E0674A1A70F434002CDEE1 /* RCTUIManager.m in Sources */, 1302F0FE1A78550100EBEF02 /* RCTStaticImageManager.m in Sources */, 13B0801B1A69489C00A75B9A /* RCTNavigatorManager.m in Sources */, - 13B080291A694C4900A75B9A /* RCTDataManager.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -552,6 +498,10 @@ "$(inherited)", ); GCC_WARN_ABOUT_MISSING_NEWLINE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + ); OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -562,6 +512,10 @@ isa = XCBuildConfiguration; buildSettings = { GCC_WARN_ABOUT_MISSING_NEWLINE = YES; + HEADER_SEARCH_PATHS = ( + "$(inherited)", + /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, + ); OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; diff --git a/ReactKit/ReactKit.xcodeproj/xcshareddata/xcschemes/ReactKit.xcscheme b/ReactKit/ReactKit.xcodeproj/xcshareddata/xcschemes/ReactKit.xcscheme deleted file mode 100644 index 17a608c33..000000000 --- a/ReactKit/ReactKit.xcodeproj/xcshareddata/xcschemes/ReactKit.xcscheme +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ReactKit/Views/RCTTextFieldManager.m b/ReactKit/Views/RCTTextFieldManager.m index 339a7803e..368bf1d7d 100644 --- a/ReactKit/Views/RCTTextFieldManager.m +++ b/ReactKit/Views/RCTTextFieldManager.m @@ -19,6 +19,7 @@ RCT_EXPORT_VIEW_PROPERTY(enabled) RCT_EXPORT_VIEW_PROPERTY(placeholder) RCT_EXPORT_VIEW_PROPERTY(text) RCT_EXPORT_VIEW_PROPERTY(font) +RCT_EXPORT_VIEW_PROPERTY(clearButtonMode) RCT_REMAP_VIEW_PROPERTY(autoCapitalize, autocapitalizationType) RCT_EXPORT_VIEW_PROPERTY(keyboardType) RCT_REMAP_VIEW_PROPERTY(color, textColor) diff --git a/packager/react-packager/src/JSTransformer/index.js b/packager/react-packager/src/JSTransformer/index.js index 4f98d588c..e3e713eef 100644 --- a/packager/react-packager/src/JSTransformer/index.js +++ b/packager/react-packager/src/JSTransformer/index.js @@ -40,7 +40,7 @@ var validateOpts = declareOpts({ }, transformModulePath: { type:'string', - required: true, + required: false, }, nonPersistent: { type: 'boolean', diff --git a/packager/react-packager/src/Packager/index.js b/packager/react-packager/src/Packager/index.js index ddcab6ee6..42295acc8 100644 --- a/packager/react-packager/src/Packager/index.js +++ b/packager/react-packager/src/Packager/index.js @@ -42,7 +42,7 @@ var validateOpts = declareOpts({ }, transformModulePath: { type:'string', - required: true, + required: false, }, nonPersistent: { type: 'boolean', diff --git a/packager/react-packager/src/Server/index.js b/packager/react-packager/src/Server/index.js index 1f5b7ff18..14b18c965 100644 --- a/packager/react-packager/src/Server/index.js +++ b/packager/react-packager/src/Server/index.js @@ -40,7 +40,7 @@ var validateOpts = declareOpts({ }, transformModulePath: { type:'string', - required: true, + required: false, }, nonPersistent: { type: 'boolean',