outChildren) {
98 | // Explicitly override this to prevent accessibility events being passed down to children
99 | // Those will be handled by the mHostView which lives in the dialog
100 | }
101 |
102 | @Override
103 | public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
104 | // Explicitly override this to prevent accessibility events being passed down to children
105 | // Those will be handled by the mHostView which lives in the dialog
106 | return false;
107 | }
108 |
109 | public void onDropInstance() {
110 | ((ReactContext) getContext()).removeLifecycleEventListener(this);
111 | dismiss();
112 | }
113 |
114 | private void dismiss() {
115 | if (mDialog != null) {
116 | mDialog.dismiss();
117 | mDialog = null;
118 |
119 | // We need to remove the mHostView from the parent
120 | // It is possible we are dismissing this dialog and reattaching the hostView to another
121 | ViewGroup parent = (ViewGroup) mHostView.getParent();
122 | parent.removeViewAt(0);
123 | }
124 | }
125 |
126 | protected void setAutoKeyboard(boolean autoKeyboard) {
127 | this.autoKeyboard = autoKeyboard;
128 | }
129 |
130 | protected void setDarkMode(boolean isDarkMode) {
131 | this.isDarkMode = isDarkMode;
132 | }
133 |
134 | protected void setOnRequestCloseListener(OnRequestCloseListener listener) {
135 | mOnRequestCloseListener = listener;
136 | }
137 |
138 | protected void setOnShowListener(DialogInterface.OnShowListener listener) {
139 | mOnShowListener = listener;
140 | }
141 |
142 | protected void setTransparent(boolean transparent) {
143 | mTransparent = transparent;
144 | }
145 |
146 | protected void setAnimationType(String animationType) {
147 | mAnimationType = animationType;
148 | mPropertyRequiresNewDialog = true;
149 | }
150 |
151 | protected void setHardwareAccelerated(boolean hardwareAccelerated) {
152 | mHardwareAccelerated = hardwareAccelerated;
153 | mPropertyRequiresNewDialog = true;
154 | }
155 |
156 | @Override
157 | public void onHostResume() {
158 | // We show the dialog again when the host resumes
159 | showOrUpdate();
160 | }
161 |
162 | @Override
163 | public void onHostPause() {
164 | // We dismiss the dialog and reconstitute it onHostResume
165 | dismiss();
166 | }
167 |
168 | @Override
169 | public void onHostDestroy() {
170 | // Drop the instance if the host is destroyed which will dismiss the dialog
171 | onDropInstance();
172 | }
173 |
174 | @VisibleForTesting
175 | public @Nullable
176 | Dialog getDialog() {
177 | return mDialog;
178 | }
179 |
180 | /**
181 | * showOrUpdate will display the Dialog. It is called by the manager once all properties are set
182 | * because we need to know all of them before creating the Dialog. It is also smart during
183 | * updates if the changed properties can be applied directly to the Dialog or require the
184 | * recreation of a new Dialog.
185 | */
186 | protected void showOrUpdate() {
187 | // If the existing Dialog is currently up, we may need to redraw it or we may be able to update
188 | // the property without having to recreate the dialog
189 | if (mDialog != null) {
190 | if (mPropertyRequiresNewDialog) {
191 | dismiss();
192 | } else {
193 | updateProperties();
194 | return;
195 | }
196 | }
197 |
198 | // Reset the flag since we are going to create a new dialog
199 | mPropertyRequiresNewDialog = false;
200 | int theme = R.style.Theme_FullScreenDialog;
201 | if (TextUtils.isEmpty(mAnimationType) || mAnimationType.equals("none")) {
202 | theme = R.style.Theme_FullScreenDialog;
203 | } else if (mAnimationType.equals("fade")) {
204 | theme = R.style.Theme_FullScreenDialogAnimatedFade;
205 | } else if (mAnimationType.equals("slide")) {
206 | theme = R.style.Theme_FullScreenDialogAnimatedSlide;
207 | }
208 | mDialog = new FullScreenDialog(getContext(), theme);
209 | mDialog.setDarkMode(isDarkMode);
210 | mDialog.setContentView(getContentView());
211 | updateProperties();
212 |
213 | mDialog.setOnShowListener(mOnShowListener);
214 | mDialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
215 | @Override
216 | public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
217 | if (event.getAction() == KeyEvent.ACTION_UP) {
218 | // We need to stop the BACK button from closing the dialog by default so we capture that
219 | // event and instead inform JS so that it can make the decision as to whether or not to
220 | // allow the back button to close the dialog. If it chooses to, it can just set visible
221 | // to false on the Modal and the Modal will go away
222 | if (keyCode == KeyEvent.KEYCODE_BACK) {
223 | Assertions.assertNotNull(mOnRequestCloseListener, "setOnRequestCloseListener must be called " +
224 | "by the manager");
225 | mOnRequestCloseListener.onRequestClose(dialog);
226 | return true;
227 | } else {
228 | // We redirect the rest of the key events to the current activity, since the activity
229 | // expects to receive those events and react to them, ie. in the case of the dev menu
230 | Activity currentActivity = ((ReactContext) getContext()).getCurrentActivity();
231 | if (currentActivity != null) {
232 | return currentActivity.onKeyUp(keyCode, event);
233 | }
234 | }
235 | }
236 | return false;
237 | }
238 | });
239 |
240 | int keyboardType = WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE;
241 | if (autoKeyboard) {
242 | keyboardType |= WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE;
243 | }
244 | mDialog.getWindow().setSoftInputMode(keyboardType);
245 |
246 | if (mHardwareAccelerated) {
247 | mDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
248 | }
249 | mDialog.show();
250 | }
251 |
252 | /**
253 | * Returns the view that will be the root view of the dialog. We are wrapping this in a
254 | * FrameLayout because this is the system's way of notifying us that the dialog size has changed.
255 | * This has the pleasant side-effect of us not having to preface all Modals with
256 | * "top: statusBarHeight", since that margin will be included in the FrameLayout.
257 | */
258 | private View getContentView() {
259 | FrameLayout frameLayout = new FrameLayout(getContext());
260 | frameLayout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
261 | frameLayout.addView(mHostView);
262 | return frameLayout;
263 | }
264 |
265 | /**
266 | * updateProperties will update the properties that do not require us to recreate the dialog
267 | * Properties that do require us to recreate the dialog should set mPropertyRequiresNewDialog to
268 | * true when the property changes
269 | */
270 | private void updateProperties() {
271 | Assertions.assertNotNull(mDialog, "mDialog must exist when we call updateProperties");
272 |
273 | if (mTransparent) {
274 | mDialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
275 | } else {
276 | mDialog.getWindow().setDimAmount(0.5f);
277 | mDialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND,
278 | WindowManager.LayoutParams.FLAG_DIM_BEHIND);
279 | }
280 | }
281 |
282 | /**
283 | * DialogRootViewGroup is the ViewGroup which contains all the children of a Modal. It gets all
284 | * child information forwarded from FullScreenModalView and uses that to create children. It is
285 | * also responsible for acting as a RootView and handling touch events. It does this the same
286 | * way as ReactRootView.
287 | *
288 | * To get layout to work properly, we need to layout all the elements within the Modal as if they
289 | * can fill the entire window. To do that, we need to explicitly set the styleWidth and
290 | * styleHeight on the LayoutShadowNode to be the window size. This is done through the
291 | * UIManagerModule, and will then cause the children to layout as if they can fill the window.
292 | */
293 | static class DialogRootViewGroup extends ReactViewGroup implements RootView {
294 | private final JSTouchDispatcher mJSTouchDispatcher = new JSTouchDispatcher(this);
295 |
296 | public DialogRootViewGroup(Context context) {
297 | super(context);
298 | }
299 |
300 | @Override
301 | protected void onSizeChanged(final int w, final int h, int oldw, int oldh) {
302 | super.onSizeChanged(w, h, oldw, oldh);
303 | if (getChildCount() > 0) {
304 | final int viewTag = getChildAt(0).getId();
305 | ReactContext reactContext = (ReactContext) getContext();
306 | reactContext.runOnNativeModulesQueueThread(new Runnable() {
307 | @Override
308 | public void run() {
309 | ((ReactContext) getContext()).getNativeModule(UIManagerModule.class)
310 | .updateNodeSize(viewTag, w, h);
311 | }
312 | });
313 | }
314 | }
315 |
316 | @Override
317 | public boolean onInterceptTouchEvent(MotionEvent event) {
318 | mJSTouchDispatcher.handleTouchEvent(event, getEventDispatcher());
319 | return super.onInterceptTouchEvent(event);
320 | }
321 |
322 | @Override
323 | public boolean onTouchEvent(MotionEvent event) {
324 | mJSTouchDispatcher.handleTouchEvent(event, getEventDispatcher());
325 | super.onTouchEvent(event);
326 | // In case when there is no children interested in handling touch event, we return true from
327 | // the root view in order to receive subsequent events related to that gesture
328 | return true;
329 | }
330 |
331 | @Override
332 | public void onChildStartedNativeGesture(MotionEvent androidEvent) {
333 | mJSTouchDispatcher.onChildStartedNativeGesture(androidEvent, getEventDispatcher());
334 | }
335 |
336 | @Override
337 | public void handleException(Throwable t) {
338 | ((ReactContext) getContext()).handleException(new RuntimeException(t));
339 | }
340 |
341 | @Override
342 | public void requestDisallowInterceptTouchEvent(boolean disallowIntercept) {
343 | // No-op - override in order to still receive events to onInterceptTouchEvent
344 | // even when some other view disallow that
345 | }
346 |
347 | private EventDispatcher getEventDispatcher() {
348 | ReactContext reactContext = (ReactContext) getContext();
349 | return reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher();
350 | }
351 | }
352 | }
353 |
--------------------------------------------------------------------------------
/ios/ModalDemo.xcodeproj/project.pbxproj:
--------------------------------------------------------------------------------
1 | // !$*UTF8*$!
2 | {
3 | archiveVersion = 1;
4 | classes = {
5 | };
6 | objectVersion = 46;
7 | objects = {
8 |
9 | /* Begin PBXBuildFile section */
10 | 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; };
11 | 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; };
12 | 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */; };
13 | 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */; };
14 | 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */; };
15 | 00E356F31AD99517003FC87E /* ModalDemoTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* ModalDemoTests.m */; };
16 | 11D1A2F320CAFA9E000508D9 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */; };
17 | 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C398B91ACF4ADC00677621 /* libRCTLinking.a */; };
18 | 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */; };
19 | 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */; };
20 | 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };
21 | 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; };
22 | 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
23 | 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
24 | 140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; };
25 | 146834051AC3E58100842450 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; };
26 | 2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; };
27 | 2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
28 | 2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
29 | 2D02E4C21E0B4AEC006451C7 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */; };
30 | 2D02E4C31E0B4AEC006451C7 /* libRCTImage-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */; };
31 | 2D02E4C41E0B4AEC006451C7 /* libRCTLinking-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */; };
32 | 2D02E4C51E0B4AEC006451C7 /* libRCTNetwork-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */; };
33 | 2D02E4C61E0B4AEC006451C7 /* libRCTSettings-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */; };
34 | 2D02E4C71E0B4AEC006451C7 /* libRCTText-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */; };
35 | 2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */; };
36 | 2D16E6881FA4F8E400B85C8A /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D16E6891FA4F8E400B85C8A /* libReact.a */; };
37 | 2DCD954D1E0B4F2C00145EB5 /* ModalDemoTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* ModalDemoTests.m */; };
38 | 2DF0FFEE2056DD460020B375 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3EA31DF850E9000B6D8A /* libReact.a */; };
39 | 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; };
40 | ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; };
41 | ED297163215061F000B7C4FE /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED297162215061F000B7C4FE /* JavaScriptCore.framework */; };
42 | ED2971652150620600B7C4FE /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED2971642150620600B7C4FE /* JavaScriptCore.framework */; };
43 | /* End PBXBuildFile section */
44 |
45 | /* Begin PBXContainerItemProxy section */
46 | 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */ = {
47 | isa = PBXContainerItemProxy;
48 | containerPortal = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */;
49 | proxyType = 2;
50 | remoteGlobalIDString = 134814201AA4EA6300B7C361;
51 | remoteInfo = RCTActionSheet;
52 | };
53 | 00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */ = {
54 | isa = PBXContainerItemProxy;
55 | containerPortal = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */;
56 | proxyType = 2;
57 | remoteGlobalIDString = 134814201AA4EA6300B7C361;
58 | remoteInfo = RCTGeolocation;
59 | };
60 | 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */ = {
61 | isa = PBXContainerItemProxy;
62 | containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */;
63 | proxyType = 2;
64 | remoteGlobalIDString = 58B5115D1A9E6B3D00147676;
65 | remoteInfo = RCTImage;
66 | };
67 | 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */ = {
68 | isa = PBXContainerItemProxy;
69 | containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */;
70 | proxyType = 2;
71 | remoteGlobalIDString = 58B511DB1A9E6C8500147676;
72 | remoteInfo = RCTNetwork;
73 | };
74 | 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */ = {
75 | isa = PBXContainerItemProxy;
76 | containerPortal = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */;
77 | proxyType = 2;
78 | remoteGlobalIDString = 832C81801AAF6DEF007FA2F7;
79 | remoteInfo = RCTVibration;
80 | };
81 | 00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = {
82 | isa = PBXContainerItemProxy;
83 | containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */;
84 | proxyType = 1;
85 | remoteGlobalIDString = 13B07F861A680F5B00A75B9A;
86 | remoteInfo = ModalDemo;
87 | };
88 | 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */ = {
89 | isa = PBXContainerItemProxy;
90 | containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */;
91 | proxyType = 2;
92 | remoteGlobalIDString = 134814201AA4EA6300B7C361;
93 | remoteInfo = RCTSettings;
94 | };
95 | 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */ = {
96 | isa = PBXContainerItemProxy;
97 | containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */;
98 | proxyType = 2;
99 | remoteGlobalIDString = 3C86DF461ADF2C930047B81A;
100 | remoteInfo = RCTWebSocket;
101 | };
102 | 146834031AC3E56700842450 /* PBXContainerItemProxy */ = {
103 | isa = PBXContainerItemProxy;
104 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
105 | proxyType = 2;
106 | remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192;
107 | remoteInfo = React;
108 | };
109 | 2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */ = {
110 | isa = PBXContainerItemProxy;
111 | containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */;
112 | proxyType = 1;
113 | remoteGlobalIDString = 2D02E47A1E0B4A5D006451C7;
114 | remoteInfo = "ModalDemo-tvOS";
115 | };
116 | 2D16E6711FA4F8DC00B85C8A /* PBXContainerItemProxy */ = {
117 | isa = PBXContainerItemProxy;
118 | containerPortal = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */;
119 | proxyType = 2;
120 | remoteGlobalIDString = ADD01A681E09402E00F6D226;
121 | remoteInfo = "RCTBlob-tvOS";
122 | };
123 | 2D16E6831FA4F8DC00B85C8A /* PBXContainerItemProxy */ = {
124 | isa = PBXContainerItemProxy;
125 | containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */;
126 | proxyType = 2;
127 | remoteGlobalIDString = 3DBE0D001F3B181A0099AA32;
128 | remoteInfo = fishhook;
129 | };
130 | 2D16E6851FA4F8DC00B85C8A /* PBXContainerItemProxy */ = {
131 | isa = PBXContainerItemProxy;
132 | containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */;
133 | proxyType = 2;
134 | remoteGlobalIDString = 3DBE0D0D1F3B181C0099AA32;
135 | remoteInfo = "fishhook-tvOS";
136 | };
137 | 2DF0FFDE2056DD460020B375 /* PBXContainerItemProxy */ = {
138 | isa = PBXContainerItemProxy;
139 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
140 | proxyType = 2;
141 | remoteGlobalIDString = EBF21BDC1FC498900052F4D5;
142 | remoteInfo = jsinspector;
143 | };
144 | 2DF0FFE02056DD460020B375 /* PBXContainerItemProxy */ = {
145 | isa = PBXContainerItemProxy;
146 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
147 | proxyType = 2;
148 | remoteGlobalIDString = EBF21BFA1FC4989A0052F4D5;
149 | remoteInfo = "jsinspector-tvOS";
150 | };
151 | 2DF0FFE22056DD460020B375 /* PBXContainerItemProxy */ = {
152 | isa = PBXContainerItemProxy;
153 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
154 | proxyType = 2;
155 | remoteGlobalIDString = 139D7ECE1E25DB7D00323FB7;
156 | remoteInfo = "third-party";
157 | };
158 | 2DF0FFE42056DD460020B375 /* PBXContainerItemProxy */ = {
159 | isa = PBXContainerItemProxy;
160 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
161 | proxyType = 2;
162 | remoteGlobalIDString = 3D383D3C1EBD27B6005632C8;
163 | remoteInfo = "third-party-tvOS";
164 | };
165 | 2DF0FFE62056DD460020B375 /* PBXContainerItemProxy */ = {
166 | isa = PBXContainerItemProxy;
167 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
168 | proxyType = 2;
169 | remoteGlobalIDString = 139D7E881E25C6D100323FB7;
170 | remoteInfo = "double-conversion";
171 | };
172 | 2DF0FFE82056DD460020B375 /* PBXContainerItemProxy */ = {
173 | isa = PBXContainerItemProxy;
174 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
175 | proxyType = 2;
176 | remoteGlobalIDString = 3D383D621EBD27B9005632C8;
177 | remoteInfo = "double-conversion-tvOS";
178 | };
179 | 2DF0FFEA2056DD460020B375 /* PBXContainerItemProxy */ = {
180 | isa = PBXContainerItemProxy;
181 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
182 | proxyType = 2;
183 | remoteGlobalIDString = 9936F3131F5F2E4B0010BF04;
184 | remoteInfo = privatedata;
185 | };
186 | 2DF0FFEC2056DD460020B375 /* PBXContainerItemProxy */ = {
187 | isa = PBXContainerItemProxy;
188 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
189 | proxyType = 2;
190 | remoteGlobalIDString = 9936F32F1F5F2E5B0010BF04;
191 | remoteInfo = "privatedata-tvOS";
192 | };
193 | 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */ = {
194 | isa = PBXContainerItemProxy;
195 | containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */;
196 | proxyType = 2;
197 | remoteGlobalIDString = 2D2A283A1D9B042B00D4039D;
198 | remoteInfo = "RCTImage-tvOS";
199 | };
200 | 3DAD3E871DF850E9000B6D8A /* PBXContainerItemProxy */ = {
201 | isa = PBXContainerItemProxy;
202 | containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */;
203 | proxyType = 2;
204 | remoteGlobalIDString = 2D2A28471D9B043800D4039D;
205 | remoteInfo = "RCTLinking-tvOS";
206 | };
207 | 3DAD3E8B1DF850E9000B6D8A /* PBXContainerItemProxy */ = {
208 | isa = PBXContainerItemProxy;
209 | containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */;
210 | proxyType = 2;
211 | remoteGlobalIDString = 2D2A28541D9B044C00D4039D;
212 | remoteInfo = "RCTNetwork-tvOS";
213 | };
214 | 3DAD3E8F1DF850E9000B6D8A /* PBXContainerItemProxy */ = {
215 | isa = PBXContainerItemProxy;
216 | containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */;
217 | proxyType = 2;
218 | remoteGlobalIDString = 2D2A28611D9B046600D4039D;
219 | remoteInfo = "RCTSettings-tvOS";
220 | };
221 | 3DAD3E931DF850E9000B6D8A /* PBXContainerItemProxy */ = {
222 | isa = PBXContainerItemProxy;
223 | containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */;
224 | proxyType = 2;
225 | remoteGlobalIDString = 2D2A287B1D9B048500D4039D;
226 | remoteInfo = "RCTText-tvOS";
227 | };
228 | 3DAD3E981DF850E9000B6D8A /* PBXContainerItemProxy */ = {
229 | isa = PBXContainerItemProxy;
230 | containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */;
231 | proxyType = 2;
232 | remoteGlobalIDString = 2D2A28881D9B049200D4039D;
233 | remoteInfo = "RCTWebSocket-tvOS";
234 | };
235 | 3DAD3EA21DF850E9000B6D8A /* PBXContainerItemProxy */ = {
236 | isa = PBXContainerItemProxy;
237 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
238 | proxyType = 2;
239 | remoteGlobalIDString = 2D2A28131D9B038B00D4039D;
240 | remoteInfo = "React-tvOS";
241 | };
242 | 3DAD3EA41DF850E9000B6D8A /* PBXContainerItemProxy */ = {
243 | isa = PBXContainerItemProxy;
244 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
245 | proxyType = 2;
246 | remoteGlobalIDString = 3D3C059A1DE3340900C268FA;
247 | remoteInfo = yoga;
248 | };
249 | 3DAD3EA61DF850E9000B6D8A /* PBXContainerItemProxy */ = {
250 | isa = PBXContainerItemProxy;
251 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
252 | proxyType = 2;
253 | remoteGlobalIDString = 3D3C06751DE3340C00C268FA;
254 | remoteInfo = "yoga-tvOS";
255 | };
256 | 3DAD3EA81DF850E9000B6D8A /* PBXContainerItemProxy */ = {
257 | isa = PBXContainerItemProxy;
258 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
259 | proxyType = 2;
260 | remoteGlobalIDString = 3D3CD9251DE5FBEC00167DC4;
261 | remoteInfo = cxxreact;
262 | };
263 | 3DAD3EAA1DF850E9000B6D8A /* PBXContainerItemProxy */ = {
264 | isa = PBXContainerItemProxy;
265 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
266 | proxyType = 2;
267 | remoteGlobalIDString = 3D3CD9321DE5FBEE00167DC4;
268 | remoteInfo = "cxxreact-tvOS";
269 | };
270 | 3DAD3EAC1DF850E9000B6D8A /* PBXContainerItemProxy */ = {
271 | isa = PBXContainerItemProxy;
272 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
273 | proxyType = 2;
274 | remoteGlobalIDString = 3D3CD90B1DE5FBD600167DC4;
275 | remoteInfo = jschelpers;
276 | };
277 | 3DAD3EAE1DF850E9000B6D8A /* PBXContainerItemProxy */ = {
278 | isa = PBXContainerItemProxy;
279 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */;
280 | proxyType = 2;
281 | remoteGlobalIDString = 3D3CD9181DE5FBD800167DC4;
282 | remoteInfo = "jschelpers-tvOS";
283 | };
284 | 5E9157321DD0AC6500FF2AA8 /* PBXContainerItemProxy */ = {
285 | isa = PBXContainerItemProxy;
286 | containerPortal = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */;
287 | proxyType = 2;
288 | remoteGlobalIDString = 134814201AA4EA6300B7C361;
289 | remoteInfo = RCTAnimation;
290 | };
291 | 5E9157341DD0AC6500FF2AA8 /* PBXContainerItemProxy */ = {
292 | isa = PBXContainerItemProxy;
293 | containerPortal = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */;
294 | proxyType = 2;
295 | remoteGlobalIDString = 2D2A28201D9B03D100D4039D;
296 | remoteInfo = "RCTAnimation-tvOS";
297 | };
298 | 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */ = {
299 | isa = PBXContainerItemProxy;
300 | containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */;
301 | proxyType = 2;
302 | remoteGlobalIDString = 134814201AA4EA6300B7C361;
303 | remoteInfo = RCTLinking;
304 | };
305 | 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */ = {
306 | isa = PBXContainerItemProxy;
307 | containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */;
308 | proxyType = 2;
309 | remoteGlobalIDString = 58B5119B1A9E6C1200147676;
310 | remoteInfo = RCTText;
311 | };
312 | ADBDB9261DFEBF0700ED6528 /* PBXContainerItemProxy */ = {
313 | isa = PBXContainerItemProxy;
314 | containerPortal = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */;
315 | proxyType = 2;
316 | remoteGlobalIDString = 358F4ED71D1E81A9004DF814;
317 | remoteInfo = RCTBlob;
318 | };
319 | /* End PBXContainerItemProxy section */
320 |
321 | /* Begin PBXFileReference section */
322 | 008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = ""; };
323 | 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTActionSheet.xcodeproj; path = "../node_modules/react-native/Libraries/ActionSheetIOS/RCTActionSheet.xcodeproj"; sourceTree = ""; };
324 | 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTGeolocation.xcodeproj; path = "../node_modules/react-native/Libraries/Geolocation/RCTGeolocation.xcodeproj"; sourceTree = ""; };
325 | 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTImage.xcodeproj; path = "../node_modules/react-native/Libraries/Image/RCTImage.xcodeproj"; sourceTree = ""; };
326 | 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTNetwork.xcodeproj; path = "../node_modules/react-native/Libraries/Network/RCTNetwork.xcodeproj"; sourceTree = ""; };
327 | 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTVibration.xcodeproj; path = "../node_modules/react-native/Libraries/Vibration/RCTVibration.xcodeproj"; sourceTree = ""; };
328 | 00E356EE1AD99517003FC87E /* ModalDemoTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ModalDemoTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
329 | 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
330 | 00E356F21AD99517003FC87E /* ModalDemoTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ModalDemoTests.m; sourceTree = ""; };
331 | 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = "../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj"; sourceTree = ""; };
332 | 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWebSocket.xcodeproj; path = "../node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj"; sourceTree = ""; };
333 | 13B07F961A680F5B00A75B9A /* ModalDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = ModalDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
334 | 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = ModalDemo/AppDelegate.h; sourceTree = ""; };
335 | 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = ModalDemo/AppDelegate.m; sourceTree = ""; };
336 | 13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; };
337 | 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = ModalDemo/Images.xcassets; sourceTree = ""; };
338 | 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = ModalDemo/Info.plist; sourceTree = ""; };
339 | 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = ModalDemo/main.m; sourceTree = ""; };
340 | 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = ""; };
341 | 2D02E47B1E0B4A5D006451C7 /* ModalDemo-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "ModalDemo-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
342 | 2D02E4901E0B4A5D006451C7 /* ModalDemo-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "ModalDemo-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
343 | 2D16E6891FA4F8E400B85C8A /* libReact.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libReact.a; sourceTree = BUILT_PRODUCTS_DIR; };
344 | 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = "../node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj"; sourceTree = ""; };
345 | 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; };
346 | 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; };
347 | ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTBlob.xcodeproj; path = "../node_modules/react-native/Libraries/Blob/RCTBlob.xcodeproj"; sourceTree = ""; };
348 | ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
349 | ED2971642150620600B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS12.0.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; };
350 | /* End PBXFileReference section */
351 |
352 | /* Begin PBXFrameworksBuildPhase section */
353 | 00E356EB1AD99517003FC87E /* Frameworks */ = {
354 | isa = PBXFrameworksBuildPhase;
355 | buildActionMask = 2147483647;
356 | files = (
357 | 140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */,
358 | );
359 | runOnlyForDeploymentPostprocessing = 0;
360 | };
361 | 13B07F8C1A680F5B00A75B9A /* Frameworks */ = {
362 | isa = PBXFrameworksBuildPhase;
363 | buildActionMask = 2147483647;
364 | files = (
365 | ED297163215061F000B7C4FE /* JavaScriptCore.framework in Frameworks */,
366 | ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */,
367 | 11D1A2F320CAFA9E000508D9 /* libRCTAnimation.a in Frameworks */,
368 | 146834051AC3E58100842450 /* libReact.a in Frameworks */,
369 | 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */,
370 | 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */,
371 | 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */,
372 | 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */,
373 | 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */,
374 | 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */,
375 | 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */,
376 | 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */,
377 | 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */,
378 | );
379 | runOnlyForDeploymentPostprocessing = 0;
380 | };
381 | 2D02E4781E0B4A5D006451C7 /* Frameworks */ = {
382 | isa = PBXFrameworksBuildPhase;
383 | buildActionMask = 2147483647;
384 | files = (
385 | ED2971652150620600B7C4FE /* JavaScriptCore.framework in Frameworks */,
386 | 2D16E6881FA4F8E400B85C8A /* libReact.a in Frameworks */,
387 | 2D02E4C21E0B4AEC006451C7 /* libRCTAnimation.a in Frameworks */,
388 | 2D02E4C31E0B4AEC006451C7 /* libRCTImage-tvOS.a in Frameworks */,
389 | 2D02E4C41E0B4AEC006451C7 /* libRCTLinking-tvOS.a in Frameworks */,
390 | 2D02E4C51E0B4AEC006451C7 /* libRCTNetwork-tvOS.a in Frameworks */,
391 | 2D02E4C61E0B4AEC006451C7 /* libRCTSettings-tvOS.a in Frameworks */,
392 | 2D02E4C71E0B4AEC006451C7 /* libRCTText-tvOS.a in Frameworks */,
393 | 2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */,
394 | );
395 | runOnlyForDeploymentPostprocessing = 0;
396 | };
397 | 2D02E48D1E0B4A5D006451C7 /* Frameworks */ = {
398 | isa = PBXFrameworksBuildPhase;
399 | buildActionMask = 2147483647;
400 | files = (
401 | 2DF0FFEE2056DD460020B375 /* libReact.a in Frameworks */,
402 | );
403 | runOnlyForDeploymentPostprocessing = 0;
404 | };
405 | /* End PBXFrameworksBuildPhase section */
406 |
407 | /* Begin PBXGroup section */
408 | 00C302A81ABCB8CE00DB3ED1 /* Products */ = {
409 | isa = PBXGroup;
410 | children = (
411 | 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */,
412 | );
413 | name = Products;
414 | sourceTree = "";
415 | };
416 | 00C302B61ABCB90400DB3ED1 /* Products */ = {
417 | isa = PBXGroup;
418 | children = (
419 | 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */,
420 | );
421 | name = Products;
422 | sourceTree = "";
423 | };
424 | 00C302BC1ABCB91800DB3ED1 /* Products */ = {
425 | isa = PBXGroup;
426 | children = (
427 | 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */,
428 | 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */,
429 | );
430 | name = Products;
431 | sourceTree = "";
432 | };
433 | 00C302D41ABCB9D200DB3ED1 /* Products */ = {
434 | isa = PBXGroup;
435 | children = (
436 | 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */,
437 | 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */,
438 | );
439 | name = Products;
440 | sourceTree = "";
441 | };
442 | 00C302E01ABCB9EE00DB3ED1 /* Products */ = {
443 | isa = PBXGroup;
444 | children = (
445 | 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */,
446 | );
447 | name = Products;
448 | sourceTree = "";
449 | };
450 | 00E356EF1AD99517003FC87E /* ModalDemoTests */ = {
451 | isa = PBXGroup;
452 | children = (
453 | 00E356F21AD99517003FC87E /* ModalDemoTests.m */,
454 | 00E356F01AD99517003FC87E /* Supporting Files */,
455 | );
456 | path = ModalDemoTests;
457 | sourceTree = "";
458 | };
459 | 00E356F01AD99517003FC87E /* Supporting Files */ = {
460 | isa = PBXGroup;
461 | children = (
462 | 00E356F11AD99517003FC87E /* Info.plist */,
463 | );
464 | name = "Supporting Files";
465 | sourceTree = "";
466 | };
467 | 139105B71AF99BAD00B5F7CC /* Products */ = {
468 | isa = PBXGroup;
469 | children = (
470 | 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */,
471 | 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */,
472 | );
473 | name = Products;
474 | sourceTree = "";
475 | };
476 | 139FDEE71B06529A00C62182 /* Products */ = {
477 | isa = PBXGroup;
478 | children = (
479 | 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */,
480 | 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */,
481 | 2D16E6841FA4F8DC00B85C8A /* libfishhook.a */,
482 | 2D16E6861FA4F8DC00B85C8A /* libfishhook-tvOS.a */,
483 | );
484 | name = Products;
485 | sourceTree = "";
486 | };
487 | 13B07FAE1A68108700A75B9A /* ModalDemo */ = {
488 | isa = PBXGroup;
489 | children = (
490 | 008F07F21AC5B25A0029DE68 /* main.jsbundle */,
491 | 13B07FAF1A68108700A75B9A /* AppDelegate.h */,
492 | 13B07FB01A68108700A75B9A /* AppDelegate.m */,
493 | 13B07FB51A68108700A75B9A /* Images.xcassets */,
494 | 13B07FB61A68108700A75B9A /* Info.plist */,
495 | 13B07FB11A68108700A75B9A /* LaunchScreen.xib */,
496 | 13B07FB71A68108700A75B9A /* main.m */,
497 | );
498 | name = ModalDemo;
499 | sourceTree = "";
500 | };
501 | 146834001AC3E56700842450 /* Products */ = {
502 | isa = PBXGroup;
503 | children = (
504 | 146834041AC3E56700842450 /* libReact.a */,
505 | 3DAD3EA31DF850E9000B6D8A /* libReact.a */,
506 | 3DAD3EA51DF850E9000B6D8A /* libyoga.a */,
507 | 3DAD3EA71DF850E9000B6D8A /* libyoga.a */,
508 | 3DAD3EA91DF850E9000B6D8A /* libcxxreact.a */,
509 | 3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */,
510 | 3DAD3EAD1DF850E9000B6D8A /* libjschelpers.a */,
511 | 3DAD3EAF1DF850E9000B6D8A /* libjschelpers.a */,
512 | 2DF0FFDF2056DD460020B375 /* libjsinspector.a */,
513 | 2DF0FFE12056DD460020B375 /* libjsinspector-tvOS.a */,
514 | 2DF0FFE32056DD460020B375 /* libthird-party.a */,
515 | 2DF0FFE52056DD460020B375 /* libthird-party.a */,
516 | 2DF0FFE72056DD460020B375 /* libdouble-conversion.a */,
517 | 2DF0FFE92056DD460020B375 /* libdouble-conversion.a */,
518 | 2DF0FFEB2056DD460020B375 /* libprivatedata.a */,
519 | 2DF0FFED2056DD460020B375 /* libprivatedata-tvOS.a */,
520 | );
521 | name = Products;
522 | sourceTree = "";
523 | };
524 | 2D16E6871FA4F8E400B85C8A /* Frameworks */ = {
525 | isa = PBXGroup;
526 | children = (
527 | ED297162215061F000B7C4FE /* JavaScriptCore.framework */,
528 | ED2971642150620600B7C4FE /* JavaScriptCore.framework */,
529 | 2D16E6891FA4F8E400B85C8A /* libReact.a */,
530 | );
531 | name = Frameworks;
532 | sourceTree = "";
533 | };
534 | 5E91572E1DD0AC6500FF2AA8 /* Products */ = {
535 | isa = PBXGroup;
536 | children = (
537 | 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */,
538 | 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */,
539 | );
540 | name = Products;
541 | sourceTree = "";
542 | };
543 | 78C398B11ACF4ADC00677621 /* Products */ = {
544 | isa = PBXGroup;
545 | children = (
546 | 78C398B91ACF4ADC00677621 /* libRCTLinking.a */,
547 | 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */,
548 | );
549 | name = Products;
550 | sourceTree = "";
551 | };
552 | 832341AE1AAA6A7D00B99B32 /* Libraries */ = {
553 | isa = PBXGroup;
554 | children = (
555 | 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */,
556 | 146833FF1AC3E56700842450 /* React.xcodeproj */,
557 | 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */,
558 | ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */,
559 | 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */,
560 | 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */,
561 | 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */,
562 | 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */,
563 | 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */,
564 | 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */,
565 | 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */,
566 | 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */,
567 | );
568 | name = Libraries;
569 | sourceTree = "";
570 | };
571 | 832341B11AAA6A8300B99B32 /* Products */ = {
572 | isa = PBXGroup;
573 | children = (
574 | 832341B51AAA6A8300B99B32 /* libRCTText.a */,
575 | 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */,
576 | );
577 | name = Products;
578 | sourceTree = "";
579 | };
580 | 83CBB9F61A601CBA00E9B192 = {
581 | isa = PBXGroup;
582 | children = (
583 | 13B07FAE1A68108700A75B9A /* ModalDemo */,
584 | 832341AE1AAA6A7D00B99B32 /* Libraries */,
585 | 00E356EF1AD99517003FC87E /* ModalDemoTests */,
586 | 83CBBA001A601CBA00E9B192 /* Products */,
587 | 2D16E6871FA4F8E400B85C8A /* Frameworks */,
588 | );
589 | indentWidth = 2;
590 | sourceTree = "";
591 | tabWidth = 2;
592 | usesTabs = 0;
593 | };
594 | 83CBBA001A601CBA00E9B192 /* Products */ = {
595 | isa = PBXGroup;
596 | children = (
597 | 13B07F961A680F5B00A75B9A /* ModalDemo.app */,
598 | 00E356EE1AD99517003FC87E /* ModalDemoTests.xctest */,
599 | 2D02E47B1E0B4A5D006451C7 /* ModalDemo-tvOS.app */,
600 | 2D02E4901E0B4A5D006451C7 /* ModalDemo-tvOSTests.xctest */,
601 | );
602 | name = Products;
603 | sourceTree = "";
604 | };
605 | ADBDB9201DFEBF0600ED6528 /* Products */ = {
606 | isa = PBXGroup;
607 | children = (
608 | ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */,
609 | 2D16E6721FA4F8DC00B85C8A /* libRCTBlob-tvOS.a */,
610 | );
611 | name = Products;
612 | sourceTree = "";
613 | };
614 | /* End PBXGroup section */
615 |
616 | /* Begin PBXNativeTarget section */
617 | 00E356ED1AD99517003FC87E /* ModalDemoTests */ = {
618 | isa = PBXNativeTarget;
619 | buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "ModalDemoTests" */;
620 | buildPhases = (
621 | 00E356EA1AD99517003FC87E /* Sources */,
622 | 00E356EB1AD99517003FC87E /* Frameworks */,
623 | 00E356EC1AD99517003FC87E /* Resources */,
624 | );
625 | buildRules = (
626 | );
627 | dependencies = (
628 | 00E356F51AD99517003FC87E /* PBXTargetDependency */,
629 | );
630 | name = ModalDemoTests;
631 | productName = ModalDemoTests;
632 | productReference = 00E356EE1AD99517003FC87E /* ModalDemoTests.xctest */;
633 | productType = "com.apple.product-type.bundle.unit-test";
634 | };
635 | 13B07F861A680F5B00A75B9A /* ModalDemo */ = {
636 | isa = PBXNativeTarget;
637 | buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "ModalDemo" */;
638 | buildPhases = (
639 | 13B07F871A680F5B00A75B9A /* Sources */,
640 | 13B07F8C1A680F5B00A75B9A /* Frameworks */,
641 | 13B07F8E1A680F5B00A75B9A /* Resources */,
642 | 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */,
643 | );
644 | buildRules = (
645 | );
646 | dependencies = (
647 | );
648 | name = ModalDemo;
649 | productName = "Hello World";
650 | productReference = 13B07F961A680F5B00A75B9A /* ModalDemo.app */;
651 | productType = "com.apple.product-type.application";
652 | };
653 | 2D02E47A1E0B4A5D006451C7 /* ModalDemo-tvOS */ = {
654 | isa = PBXNativeTarget;
655 | buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "ModalDemo-tvOS" */;
656 | buildPhases = (
657 | 2D02E4771E0B4A5D006451C7 /* Sources */,
658 | 2D02E4781E0B4A5D006451C7 /* Frameworks */,
659 | 2D02E4791E0B4A5D006451C7 /* Resources */,
660 | 2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */,
661 | );
662 | buildRules = (
663 | );
664 | dependencies = (
665 | );
666 | name = "ModalDemo-tvOS";
667 | productName = "ModalDemo-tvOS";
668 | productReference = 2D02E47B1E0B4A5D006451C7 /* ModalDemo-tvOS.app */;
669 | productType = "com.apple.product-type.application";
670 | };
671 | 2D02E48F1E0B4A5D006451C7 /* ModalDemo-tvOSTests */ = {
672 | isa = PBXNativeTarget;
673 | buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "ModalDemo-tvOSTests" */;
674 | buildPhases = (
675 | 2D02E48C1E0B4A5D006451C7 /* Sources */,
676 | 2D02E48D1E0B4A5D006451C7 /* Frameworks */,
677 | 2D02E48E1E0B4A5D006451C7 /* Resources */,
678 | );
679 | buildRules = (
680 | );
681 | dependencies = (
682 | 2D02E4921E0B4A5D006451C7 /* PBXTargetDependency */,
683 | );
684 | name = "ModalDemo-tvOSTests";
685 | productName = "ModalDemo-tvOSTests";
686 | productReference = 2D02E4901E0B4A5D006451C7 /* ModalDemo-tvOSTests.xctest */;
687 | productType = "com.apple.product-type.bundle.unit-test";
688 | };
689 | /* End PBXNativeTarget section */
690 |
691 | /* Begin PBXProject section */
692 | 83CBB9F71A601CBA00E9B192 /* Project object */ = {
693 | isa = PBXProject;
694 | attributes = {
695 | LastUpgradeCheck = 0940;
696 | ORGANIZATIONNAME = Facebook;
697 | TargetAttributes = {
698 | 00E356ED1AD99517003FC87E = {
699 | CreatedOnToolsVersion = 6.2;
700 | TestTargetID = 13B07F861A680F5B00A75B9A;
701 | };
702 | 2D02E47A1E0B4A5D006451C7 = {
703 | CreatedOnToolsVersion = 8.2.1;
704 | ProvisioningStyle = Automatic;
705 | };
706 | 2D02E48F1E0B4A5D006451C7 = {
707 | CreatedOnToolsVersion = 8.2.1;
708 | ProvisioningStyle = Automatic;
709 | TestTargetID = 2D02E47A1E0B4A5D006451C7;
710 | };
711 | };
712 | };
713 | buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "ModalDemo" */;
714 | compatibilityVersion = "Xcode 3.2";
715 | developmentRegion = English;
716 | hasScannedForEncodings = 0;
717 | knownRegions = (
718 | en,
719 | Base,
720 | );
721 | mainGroup = 83CBB9F61A601CBA00E9B192;
722 | productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */;
723 | projectDirPath = "";
724 | projectReferences = (
725 | {
726 | ProductGroup = 00C302A81ABCB8CE00DB3ED1 /* Products */;
727 | ProjectRef = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */;
728 | },
729 | {
730 | ProductGroup = 5E91572E1DD0AC6500FF2AA8 /* Products */;
731 | ProjectRef = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */;
732 | },
733 | {
734 | ProductGroup = ADBDB9201DFEBF0600ED6528 /* Products */;
735 | ProjectRef = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */;
736 | },
737 | {
738 | ProductGroup = 00C302B61ABCB90400DB3ED1 /* Products */;
739 | ProjectRef = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */;
740 | },
741 | {
742 | ProductGroup = 00C302BC1ABCB91800DB3ED1 /* Products */;
743 | ProjectRef = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */;
744 | },
745 | {
746 | ProductGroup = 78C398B11ACF4ADC00677621 /* Products */;
747 | ProjectRef = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */;
748 | },
749 | {
750 | ProductGroup = 00C302D41ABCB9D200DB3ED1 /* Products */;
751 | ProjectRef = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */;
752 | },
753 | {
754 | ProductGroup = 139105B71AF99BAD00B5F7CC /* Products */;
755 | ProjectRef = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */;
756 | },
757 | {
758 | ProductGroup = 832341B11AAA6A8300B99B32 /* Products */;
759 | ProjectRef = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */;
760 | },
761 | {
762 | ProductGroup = 00C302E01ABCB9EE00DB3ED1 /* Products */;
763 | ProjectRef = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */;
764 | },
765 | {
766 | ProductGroup = 139FDEE71B06529A00C62182 /* Products */;
767 | ProjectRef = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */;
768 | },
769 | {
770 | ProductGroup = 146834001AC3E56700842450 /* Products */;
771 | ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */;
772 | },
773 | );
774 | projectRoot = "";
775 | targets = (
776 | 13B07F861A680F5B00A75B9A /* ModalDemo */,
777 | 00E356ED1AD99517003FC87E /* ModalDemoTests */,
778 | 2D02E47A1E0B4A5D006451C7 /* ModalDemo-tvOS */,
779 | 2D02E48F1E0B4A5D006451C7 /* ModalDemo-tvOSTests */,
780 | );
781 | };
782 | /* End PBXProject section */
783 |
784 | /* Begin PBXReferenceProxy section */
785 | 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */ = {
786 | isa = PBXReferenceProxy;
787 | fileType = archive.ar;
788 | path = libRCTActionSheet.a;
789 | remoteRef = 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */;
790 | sourceTree = BUILT_PRODUCTS_DIR;
791 | };
792 | 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */ = {
793 | isa = PBXReferenceProxy;
794 | fileType = archive.ar;
795 | path = libRCTGeolocation.a;
796 | remoteRef = 00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */;
797 | sourceTree = BUILT_PRODUCTS_DIR;
798 | };
799 | 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */ = {
800 | isa = PBXReferenceProxy;
801 | fileType = archive.ar;
802 | path = libRCTImage.a;
803 | remoteRef = 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */;
804 | sourceTree = BUILT_PRODUCTS_DIR;
805 | };
806 | 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */ = {
807 | isa = PBXReferenceProxy;
808 | fileType = archive.ar;
809 | path = libRCTNetwork.a;
810 | remoteRef = 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */;
811 | sourceTree = BUILT_PRODUCTS_DIR;
812 | };
813 | 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */ = {
814 | isa = PBXReferenceProxy;
815 | fileType = archive.ar;
816 | path = libRCTVibration.a;
817 | remoteRef = 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */;
818 | sourceTree = BUILT_PRODUCTS_DIR;
819 | };
820 | 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */ = {
821 | isa = PBXReferenceProxy;
822 | fileType = archive.ar;
823 | path = libRCTSettings.a;
824 | remoteRef = 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */;
825 | sourceTree = BUILT_PRODUCTS_DIR;
826 | };
827 | 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */ = {
828 | isa = PBXReferenceProxy;
829 | fileType = archive.ar;
830 | path = libRCTWebSocket.a;
831 | remoteRef = 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */;
832 | sourceTree = BUILT_PRODUCTS_DIR;
833 | };
834 | 146834041AC3E56700842450 /* libReact.a */ = {
835 | isa = PBXReferenceProxy;
836 | fileType = archive.ar;
837 | path = libReact.a;
838 | remoteRef = 146834031AC3E56700842450 /* PBXContainerItemProxy */;
839 | sourceTree = BUILT_PRODUCTS_DIR;
840 | };
841 | 2D16E6721FA4F8DC00B85C8A /* libRCTBlob-tvOS.a */ = {
842 | isa = PBXReferenceProxy;
843 | fileType = archive.ar;
844 | path = "libRCTBlob-tvOS.a";
845 | remoteRef = 2D16E6711FA4F8DC00B85C8A /* PBXContainerItemProxy */;
846 | sourceTree = BUILT_PRODUCTS_DIR;
847 | };
848 | 2D16E6841FA4F8DC00B85C8A /* libfishhook.a */ = {
849 | isa = PBXReferenceProxy;
850 | fileType = archive.ar;
851 | path = libfishhook.a;
852 | remoteRef = 2D16E6831FA4F8DC00B85C8A /* PBXContainerItemProxy */;
853 | sourceTree = BUILT_PRODUCTS_DIR;
854 | };
855 | 2D16E6861FA4F8DC00B85C8A /* libfishhook-tvOS.a */ = {
856 | isa = PBXReferenceProxy;
857 | fileType = archive.ar;
858 | path = "libfishhook-tvOS.a";
859 | remoteRef = 2D16E6851FA4F8DC00B85C8A /* PBXContainerItemProxy */;
860 | sourceTree = BUILT_PRODUCTS_DIR;
861 | };
862 | 2DF0FFDF2056DD460020B375 /* libjsinspector.a */ = {
863 | isa = PBXReferenceProxy;
864 | fileType = archive.ar;
865 | path = libjsinspector.a;
866 | remoteRef = 2DF0FFDE2056DD460020B375 /* PBXContainerItemProxy */;
867 | sourceTree = BUILT_PRODUCTS_DIR;
868 | };
869 | 2DF0FFE12056DD460020B375 /* libjsinspector-tvOS.a */ = {
870 | isa = PBXReferenceProxy;
871 | fileType = archive.ar;
872 | path = "libjsinspector-tvOS.a";
873 | remoteRef = 2DF0FFE02056DD460020B375 /* PBXContainerItemProxy */;
874 | sourceTree = BUILT_PRODUCTS_DIR;
875 | };
876 | 2DF0FFE32056DD460020B375 /* libthird-party.a */ = {
877 | isa = PBXReferenceProxy;
878 | fileType = archive.ar;
879 | path = "libthird-party.a";
880 | remoteRef = 2DF0FFE22056DD460020B375 /* PBXContainerItemProxy */;
881 | sourceTree = BUILT_PRODUCTS_DIR;
882 | };
883 | 2DF0FFE52056DD460020B375 /* libthird-party.a */ = {
884 | isa = PBXReferenceProxy;
885 | fileType = archive.ar;
886 | path = "libthird-party.a";
887 | remoteRef = 2DF0FFE42056DD460020B375 /* PBXContainerItemProxy */;
888 | sourceTree = BUILT_PRODUCTS_DIR;
889 | };
890 | 2DF0FFE72056DD460020B375 /* libdouble-conversion.a */ = {
891 | isa = PBXReferenceProxy;
892 | fileType = archive.ar;
893 | path = "libdouble-conversion.a";
894 | remoteRef = 2DF0FFE62056DD460020B375 /* PBXContainerItemProxy */;
895 | sourceTree = BUILT_PRODUCTS_DIR;
896 | };
897 | 2DF0FFE92056DD460020B375 /* libdouble-conversion.a */ = {
898 | isa = PBXReferenceProxy;
899 | fileType = archive.ar;
900 | path = "libdouble-conversion.a";
901 | remoteRef = 2DF0FFE82056DD460020B375 /* PBXContainerItemProxy */;
902 | sourceTree = BUILT_PRODUCTS_DIR;
903 | };
904 | 2DF0FFEB2056DD460020B375 /* libprivatedata.a */ = {
905 | isa = PBXReferenceProxy;
906 | fileType = archive.ar;
907 | path = libprivatedata.a;
908 | remoteRef = 2DF0FFEA2056DD460020B375 /* PBXContainerItemProxy */;
909 | sourceTree = BUILT_PRODUCTS_DIR;
910 | };
911 | 2DF0FFED2056DD460020B375 /* libprivatedata-tvOS.a */ = {
912 | isa = PBXReferenceProxy;
913 | fileType = archive.ar;
914 | path = "libprivatedata-tvOS.a";
915 | remoteRef = 2DF0FFEC2056DD460020B375 /* PBXContainerItemProxy */;
916 | sourceTree = BUILT_PRODUCTS_DIR;
917 | };
918 | 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */ = {
919 | isa = PBXReferenceProxy;
920 | fileType = archive.ar;
921 | path = "libRCTImage-tvOS.a";
922 | remoteRef = 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */;
923 | sourceTree = BUILT_PRODUCTS_DIR;
924 | };
925 | 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */ = {
926 | isa = PBXReferenceProxy;
927 | fileType = archive.ar;
928 | path = "libRCTLinking-tvOS.a";
929 | remoteRef = 3DAD3E871DF850E9000B6D8A /* PBXContainerItemProxy */;
930 | sourceTree = BUILT_PRODUCTS_DIR;
931 | };
932 | 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */ = {
933 | isa = PBXReferenceProxy;
934 | fileType = archive.ar;
935 | path = "libRCTNetwork-tvOS.a";
936 | remoteRef = 3DAD3E8B1DF850E9000B6D8A /* PBXContainerItemProxy */;
937 | sourceTree = BUILT_PRODUCTS_DIR;
938 | };
939 | 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */ = {
940 | isa = PBXReferenceProxy;
941 | fileType = archive.ar;
942 | path = "libRCTSettings-tvOS.a";
943 | remoteRef = 3DAD3E8F1DF850E9000B6D8A /* PBXContainerItemProxy */;
944 | sourceTree = BUILT_PRODUCTS_DIR;
945 | };
946 | 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */ = {
947 | isa = PBXReferenceProxy;
948 | fileType = archive.ar;
949 | path = "libRCTText-tvOS.a";
950 | remoteRef = 3DAD3E931DF850E9000B6D8A /* PBXContainerItemProxy */;
951 | sourceTree = BUILT_PRODUCTS_DIR;
952 | };
953 | 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */ = {
954 | isa = PBXReferenceProxy;
955 | fileType = archive.ar;
956 | path = "libRCTWebSocket-tvOS.a";
957 | remoteRef = 3DAD3E981DF850E9000B6D8A /* PBXContainerItemProxy */;
958 | sourceTree = BUILT_PRODUCTS_DIR;
959 | };
960 | 3DAD3EA31DF850E9000B6D8A /* libReact.a */ = {
961 | isa = PBXReferenceProxy;
962 | fileType = archive.ar;
963 | path = libReact.a;
964 | remoteRef = 3DAD3EA21DF850E9000B6D8A /* PBXContainerItemProxy */;
965 | sourceTree = BUILT_PRODUCTS_DIR;
966 | };
967 | 3DAD3EA51DF850E9000B6D8A /* libyoga.a */ = {
968 | isa = PBXReferenceProxy;
969 | fileType = archive.ar;
970 | path = libyoga.a;
971 | remoteRef = 3DAD3EA41DF850E9000B6D8A /* PBXContainerItemProxy */;
972 | sourceTree = BUILT_PRODUCTS_DIR;
973 | };
974 | 3DAD3EA71DF850E9000B6D8A /* libyoga.a */ = {
975 | isa = PBXReferenceProxy;
976 | fileType = archive.ar;
977 | path = libyoga.a;
978 | remoteRef = 3DAD3EA61DF850E9000B6D8A /* PBXContainerItemProxy */;
979 | sourceTree = BUILT_PRODUCTS_DIR;
980 | };
981 | 3DAD3EA91DF850E9000B6D8A /* libcxxreact.a */ = {
982 | isa = PBXReferenceProxy;
983 | fileType = archive.ar;
984 | path = libcxxreact.a;
985 | remoteRef = 3DAD3EA81DF850E9000B6D8A /* PBXContainerItemProxy */;
986 | sourceTree = BUILT_PRODUCTS_DIR;
987 | };
988 | 3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */ = {
989 | isa = PBXReferenceProxy;
990 | fileType = archive.ar;
991 | path = libcxxreact.a;
992 | remoteRef = 3DAD3EAA1DF850E9000B6D8A /* PBXContainerItemProxy */;
993 | sourceTree = BUILT_PRODUCTS_DIR;
994 | };
995 | 3DAD3EAD1DF850E9000B6D8A /* libjschelpers.a */ = {
996 | isa = PBXReferenceProxy;
997 | fileType = archive.ar;
998 | path = libjschelpers.a;
999 | remoteRef = 3DAD3EAC1DF850E9000B6D8A /* PBXContainerItemProxy */;
1000 | sourceTree = BUILT_PRODUCTS_DIR;
1001 | };
1002 | 3DAD3EAF1DF850E9000B6D8A /* libjschelpers.a */ = {
1003 | isa = PBXReferenceProxy;
1004 | fileType = archive.ar;
1005 | path = libjschelpers.a;
1006 | remoteRef = 3DAD3EAE1DF850E9000B6D8A /* PBXContainerItemProxy */;
1007 | sourceTree = BUILT_PRODUCTS_DIR;
1008 | };
1009 | 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */ = {
1010 | isa = PBXReferenceProxy;
1011 | fileType = archive.ar;
1012 | path = libRCTAnimation.a;
1013 | remoteRef = 5E9157321DD0AC6500FF2AA8 /* PBXContainerItemProxy */;
1014 | sourceTree = BUILT_PRODUCTS_DIR;
1015 | };
1016 | 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */ = {
1017 | isa = PBXReferenceProxy;
1018 | fileType = archive.ar;
1019 | path = libRCTAnimation.a;
1020 | remoteRef = 5E9157341DD0AC6500FF2AA8 /* PBXContainerItemProxy */;
1021 | sourceTree = BUILT_PRODUCTS_DIR;
1022 | };
1023 | 78C398B91ACF4ADC00677621 /* libRCTLinking.a */ = {
1024 | isa = PBXReferenceProxy;
1025 | fileType = archive.ar;
1026 | path = libRCTLinking.a;
1027 | remoteRef = 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */;
1028 | sourceTree = BUILT_PRODUCTS_DIR;
1029 | };
1030 | 832341B51AAA6A8300B99B32 /* libRCTText.a */ = {
1031 | isa = PBXReferenceProxy;
1032 | fileType = archive.ar;
1033 | path = libRCTText.a;
1034 | remoteRef = 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */;
1035 | sourceTree = BUILT_PRODUCTS_DIR;
1036 | };
1037 | ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */ = {
1038 | isa = PBXReferenceProxy;
1039 | fileType = archive.ar;
1040 | path = libRCTBlob.a;
1041 | remoteRef = ADBDB9261DFEBF0700ED6528 /* PBXContainerItemProxy */;
1042 | sourceTree = BUILT_PRODUCTS_DIR;
1043 | };
1044 | /* End PBXReferenceProxy section */
1045 |
1046 | /* Begin PBXResourcesBuildPhase section */
1047 | 00E356EC1AD99517003FC87E /* Resources */ = {
1048 | isa = PBXResourcesBuildPhase;
1049 | buildActionMask = 2147483647;
1050 | files = (
1051 | );
1052 | runOnlyForDeploymentPostprocessing = 0;
1053 | };
1054 | 13B07F8E1A680F5B00A75B9A /* Resources */ = {
1055 | isa = PBXResourcesBuildPhase;
1056 | buildActionMask = 2147483647;
1057 | files = (
1058 | 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
1059 | 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */,
1060 | );
1061 | runOnlyForDeploymentPostprocessing = 0;
1062 | };
1063 | 2D02E4791E0B4A5D006451C7 /* Resources */ = {
1064 | isa = PBXResourcesBuildPhase;
1065 | buildActionMask = 2147483647;
1066 | files = (
1067 | 2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */,
1068 | );
1069 | runOnlyForDeploymentPostprocessing = 0;
1070 | };
1071 | 2D02E48E1E0B4A5D006451C7 /* Resources */ = {
1072 | isa = PBXResourcesBuildPhase;
1073 | buildActionMask = 2147483647;
1074 | files = (
1075 | );
1076 | runOnlyForDeploymentPostprocessing = 0;
1077 | };
1078 | /* End PBXResourcesBuildPhase section */
1079 |
1080 | /* Begin PBXShellScriptBuildPhase section */
1081 | 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = {
1082 | isa = PBXShellScriptBuildPhase;
1083 | buildActionMask = 2147483647;
1084 | files = (
1085 | );
1086 | inputPaths = (
1087 | );
1088 | name = "Bundle React Native code and images";
1089 | outputPaths = (
1090 | );
1091 | runOnlyForDeploymentPostprocessing = 0;
1092 | shellPath = /bin/sh;
1093 | shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
1094 | };
1095 | 2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */ = {
1096 | isa = PBXShellScriptBuildPhase;
1097 | buildActionMask = 2147483647;
1098 | files = (
1099 | );
1100 | inputPaths = (
1101 | );
1102 | name = "Bundle React Native Code And Images";
1103 | outputPaths = (
1104 | );
1105 | runOnlyForDeploymentPostprocessing = 0;
1106 | shellPath = /bin/sh;
1107 | shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh";
1108 | };
1109 | /* End PBXShellScriptBuildPhase section */
1110 |
1111 | /* Begin PBXSourcesBuildPhase section */
1112 | 00E356EA1AD99517003FC87E /* Sources */ = {
1113 | isa = PBXSourcesBuildPhase;
1114 | buildActionMask = 2147483647;
1115 | files = (
1116 | 00E356F31AD99517003FC87E /* ModalDemoTests.m in Sources */,
1117 | );
1118 | runOnlyForDeploymentPostprocessing = 0;
1119 | };
1120 | 13B07F871A680F5B00A75B9A /* Sources */ = {
1121 | isa = PBXSourcesBuildPhase;
1122 | buildActionMask = 2147483647;
1123 | files = (
1124 | 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */,
1125 | 13B07FC11A68108700A75B9A /* main.m in Sources */,
1126 | );
1127 | runOnlyForDeploymentPostprocessing = 0;
1128 | };
1129 | 2D02E4771E0B4A5D006451C7 /* Sources */ = {
1130 | isa = PBXSourcesBuildPhase;
1131 | buildActionMask = 2147483647;
1132 | files = (
1133 | 2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */,
1134 | 2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */,
1135 | );
1136 | runOnlyForDeploymentPostprocessing = 0;
1137 | };
1138 | 2D02E48C1E0B4A5D006451C7 /* Sources */ = {
1139 | isa = PBXSourcesBuildPhase;
1140 | buildActionMask = 2147483647;
1141 | files = (
1142 | 2DCD954D1E0B4F2C00145EB5 /* ModalDemoTests.m in Sources */,
1143 | );
1144 | runOnlyForDeploymentPostprocessing = 0;
1145 | };
1146 | /* End PBXSourcesBuildPhase section */
1147 |
1148 | /* Begin PBXTargetDependency section */
1149 | 00E356F51AD99517003FC87E /* PBXTargetDependency */ = {
1150 | isa = PBXTargetDependency;
1151 | target = 13B07F861A680F5B00A75B9A /* ModalDemo */;
1152 | targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */;
1153 | };
1154 | 2D02E4921E0B4A5D006451C7 /* PBXTargetDependency */ = {
1155 | isa = PBXTargetDependency;
1156 | target = 2D02E47A1E0B4A5D006451C7 /* ModalDemo-tvOS */;
1157 | targetProxy = 2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */;
1158 | };
1159 | /* End PBXTargetDependency section */
1160 |
1161 | /* Begin PBXVariantGroup section */
1162 | 13B07FB11A68108700A75B9A /* LaunchScreen.xib */ = {
1163 | isa = PBXVariantGroup;
1164 | children = (
1165 | 13B07FB21A68108700A75B9A /* Base */,
1166 | );
1167 | name = LaunchScreen.xib;
1168 | path = ModalDemo;
1169 | sourceTree = "";
1170 | };
1171 | /* End PBXVariantGroup section */
1172 |
1173 | /* Begin XCBuildConfiguration section */
1174 | 00E356F61AD99517003FC87E /* Debug */ = {
1175 | isa = XCBuildConfiguration;
1176 | buildSettings = {
1177 | BUNDLE_LOADER = "$(TEST_HOST)";
1178 | GCC_PREPROCESSOR_DEFINITIONS = (
1179 | "DEBUG=1",
1180 | "$(inherited)",
1181 | );
1182 | INFOPLIST_FILE = ModalDemoTests/Info.plist;
1183 | IPHONEOS_DEPLOYMENT_TARGET = 9.0;
1184 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
1185 | OTHER_LDFLAGS = (
1186 | "-ObjC",
1187 | "-lc++",
1188 | );
1189 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
1190 | PRODUCT_NAME = "$(TARGET_NAME)";
1191 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ModalDemo.app/ModalDemo";
1192 | };
1193 | name = Debug;
1194 | };
1195 | 00E356F71AD99517003FC87E /* Release */ = {
1196 | isa = XCBuildConfiguration;
1197 | buildSettings = {
1198 | BUNDLE_LOADER = "$(TEST_HOST)";
1199 | COPY_PHASE_STRIP = NO;
1200 | INFOPLIST_FILE = ModalDemoTests/Info.plist;
1201 | IPHONEOS_DEPLOYMENT_TARGET = 9.0;
1202 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
1203 | OTHER_LDFLAGS = (
1204 | "-ObjC",
1205 | "-lc++",
1206 | );
1207 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
1208 | PRODUCT_NAME = "$(TARGET_NAME)";
1209 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ModalDemo.app/ModalDemo";
1210 | };
1211 | name = Release;
1212 | };
1213 | 13B07F941A680F5B00A75B9A /* Debug */ = {
1214 | isa = XCBuildConfiguration;
1215 | buildSettings = {
1216 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
1217 | CURRENT_PROJECT_VERSION = 1;
1218 | DEAD_CODE_STRIPPING = NO;
1219 | INFOPLIST_FILE = ModalDemo/Info.plist;
1220 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
1221 | OTHER_LDFLAGS = (
1222 | "$(inherited)",
1223 | "-ObjC",
1224 | "-lc++",
1225 | );
1226 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
1227 | PRODUCT_NAME = ModalDemo;
1228 | VERSIONING_SYSTEM = "apple-generic";
1229 | };
1230 | name = Debug;
1231 | };
1232 | 13B07F951A680F5B00A75B9A /* Release */ = {
1233 | isa = XCBuildConfiguration;
1234 | buildSettings = {
1235 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
1236 | CURRENT_PROJECT_VERSION = 1;
1237 | INFOPLIST_FILE = ModalDemo/Info.plist;
1238 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
1239 | OTHER_LDFLAGS = (
1240 | "$(inherited)",
1241 | "-ObjC",
1242 | "-lc++",
1243 | );
1244 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)";
1245 | PRODUCT_NAME = ModalDemo;
1246 | VERSIONING_SYSTEM = "apple-generic";
1247 | };
1248 | name = Release;
1249 | };
1250 | 2D02E4971E0B4A5E006451C7 /* Debug */ = {
1251 | isa = XCBuildConfiguration;
1252 | buildSettings = {
1253 | ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
1254 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
1255 | CLANG_ANALYZER_NONNULL = YES;
1256 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
1257 | CLANG_WARN_INFINITE_RECURSION = YES;
1258 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
1259 | DEBUG_INFORMATION_FORMAT = dwarf;
1260 | ENABLE_TESTABILITY = YES;
1261 | GCC_NO_COMMON_BLOCKS = YES;
1262 | INFOPLIST_FILE = "ModalDemo-tvOS/Info.plist";
1263 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
1264 | OTHER_LDFLAGS = (
1265 | "-ObjC",
1266 | "-lc++",
1267 | );
1268 | PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.ModalDemo-tvOS";
1269 | PRODUCT_NAME = "$(TARGET_NAME)";
1270 | SDKROOT = appletvos;
1271 | TARGETED_DEVICE_FAMILY = 3;
1272 | TVOS_DEPLOYMENT_TARGET = 9.2;
1273 | };
1274 | name = Debug;
1275 | };
1276 | 2D02E4981E0B4A5E006451C7 /* Release */ = {
1277 | isa = XCBuildConfiguration;
1278 | buildSettings = {
1279 | ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image";
1280 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
1281 | CLANG_ANALYZER_NONNULL = YES;
1282 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
1283 | CLANG_WARN_INFINITE_RECURSION = YES;
1284 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
1285 | COPY_PHASE_STRIP = NO;
1286 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
1287 | GCC_NO_COMMON_BLOCKS = YES;
1288 | INFOPLIST_FILE = "ModalDemo-tvOS/Info.plist";
1289 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
1290 | OTHER_LDFLAGS = (
1291 | "-ObjC",
1292 | "-lc++",
1293 | );
1294 | PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.ModalDemo-tvOS";
1295 | PRODUCT_NAME = "$(TARGET_NAME)";
1296 | SDKROOT = appletvos;
1297 | TARGETED_DEVICE_FAMILY = 3;
1298 | TVOS_DEPLOYMENT_TARGET = 9.2;
1299 | };
1300 | name = Release;
1301 | };
1302 | 2D02E4991E0B4A5E006451C7 /* Debug */ = {
1303 | isa = XCBuildConfiguration;
1304 | buildSettings = {
1305 | BUNDLE_LOADER = "$(TEST_HOST)";
1306 | CLANG_ANALYZER_NONNULL = YES;
1307 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
1308 | CLANG_WARN_INFINITE_RECURSION = YES;
1309 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
1310 | DEBUG_INFORMATION_FORMAT = dwarf;
1311 | ENABLE_TESTABILITY = YES;
1312 | GCC_NO_COMMON_BLOCKS = YES;
1313 | INFOPLIST_FILE = "ModalDemo-tvOSTests/Info.plist";
1314 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
1315 | OTHER_LDFLAGS = (
1316 | "-ObjC",
1317 | "-lc++",
1318 | );
1319 | PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.ModalDemo-tvOSTests";
1320 | PRODUCT_NAME = "$(TARGET_NAME)";
1321 | SDKROOT = appletvos;
1322 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ModalDemo-tvOS.app/ModalDemo-tvOS";
1323 | TVOS_DEPLOYMENT_TARGET = 10.1;
1324 | };
1325 | name = Debug;
1326 | };
1327 | 2D02E49A1E0B4A5E006451C7 /* Release */ = {
1328 | isa = XCBuildConfiguration;
1329 | buildSettings = {
1330 | BUNDLE_LOADER = "$(TEST_HOST)";
1331 | CLANG_ANALYZER_NONNULL = YES;
1332 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
1333 | CLANG_WARN_INFINITE_RECURSION = YES;
1334 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
1335 | COPY_PHASE_STRIP = NO;
1336 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
1337 | GCC_NO_COMMON_BLOCKS = YES;
1338 | INFOPLIST_FILE = "ModalDemo-tvOSTests/Info.plist";
1339 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
1340 | OTHER_LDFLAGS = (
1341 | "-ObjC",
1342 | "-lc++",
1343 | );
1344 | PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.ModalDemo-tvOSTests";
1345 | PRODUCT_NAME = "$(TARGET_NAME)";
1346 | SDKROOT = appletvos;
1347 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/ModalDemo-tvOS.app/ModalDemo-tvOS";
1348 | TVOS_DEPLOYMENT_TARGET = 10.1;
1349 | };
1350 | name = Release;
1351 | };
1352 | 83CBBA201A601CBA00E9B192 /* Debug */ = {
1353 | isa = XCBuildConfiguration;
1354 | buildSettings = {
1355 | ALWAYS_SEARCH_USER_PATHS = NO;
1356 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
1357 | CLANG_CXX_LIBRARY = "libc++";
1358 | CLANG_ENABLE_MODULES = YES;
1359 | CLANG_ENABLE_OBJC_ARC = YES;
1360 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
1361 | CLANG_WARN_BOOL_CONVERSION = YES;
1362 | CLANG_WARN_COMMA = YES;
1363 | CLANG_WARN_CONSTANT_CONVERSION = YES;
1364 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
1365 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
1366 | CLANG_WARN_EMPTY_BODY = YES;
1367 | CLANG_WARN_ENUM_CONVERSION = YES;
1368 | CLANG_WARN_INFINITE_RECURSION = YES;
1369 | CLANG_WARN_INT_CONVERSION = YES;
1370 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
1371 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
1372 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
1373 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
1374 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
1375 | CLANG_WARN_STRICT_PROTOTYPES = YES;
1376 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
1377 | CLANG_WARN_UNREACHABLE_CODE = YES;
1378 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
1379 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
1380 | COPY_PHASE_STRIP = NO;
1381 | ENABLE_STRICT_OBJC_MSGSEND = YES;
1382 | ENABLE_TESTABILITY = YES;
1383 | GCC_C_LANGUAGE_STANDARD = gnu99;
1384 | GCC_DYNAMIC_NO_PIC = NO;
1385 | GCC_NO_COMMON_BLOCKS = YES;
1386 | GCC_OPTIMIZATION_LEVEL = 0;
1387 | GCC_PREPROCESSOR_DEFINITIONS = (
1388 | "DEBUG=1",
1389 | "$(inherited)",
1390 | );
1391 | GCC_SYMBOLS_PRIVATE_EXTERN = NO;
1392 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
1393 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
1394 | GCC_WARN_UNDECLARED_SELECTOR = YES;
1395 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
1396 | GCC_WARN_UNUSED_FUNCTION = YES;
1397 | GCC_WARN_UNUSED_VARIABLE = YES;
1398 | IPHONEOS_DEPLOYMENT_TARGET = 9.0;
1399 | MTL_ENABLE_DEBUG_INFO = YES;
1400 | ONLY_ACTIVE_ARCH = YES;
1401 | SDKROOT = iphoneos;
1402 | };
1403 | name = Debug;
1404 | };
1405 | 83CBBA211A601CBA00E9B192 /* Release */ = {
1406 | isa = XCBuildConfiguration;
1407 | buildSettings = {
1408 | ALWAYS_SEARCH_USER_PATHS = NO;
1409 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
1410 | CLANG_CXX_LIBRARY = "libc++";
1411 | CLANG_ENABLE_MODULES = YES;
1412 | CLANG_ENABLE_OBJC_ARC = YES;
1413 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
1414 | CLANG_WARN_BOOL_CONVERSION = YES;
1415 | CLANG_WARN_COMMA = YES;
1416 | CLANG_WARN_CONSTANT_CONVERSION = YES;
1417 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
1418 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
1419 | CLANG_WARN_EMPTY_BODY = YES;
1420 | CLANG_WARN_ENUM_CONVERSION = YES;
1421 | CLANG_WARN_INFINITE_RECURSION = YES;
1422 | CLANG_WARN_INT_CONVERSION = YES;
1423 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
1424 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
1425 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
1426 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
1427 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
1428 | CLANG_WARN_STRICT_PROTOTYPES = YES;
1429 | CLANG_WARN_SUSPICIOUS_MOVE = YES;
1430 | CLANG_WARN_UNREACHABLE_CODE = YES;
1431 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
1432 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
1433 | COPY_PHASE_STRIP = YES;
1434 | ENABLE_NS_ASSERTIONS = NO;
1435 | ENABLE_STRICT_OBJC_MSGSEND = YES;
1436 | GCC_C_LANGUAGE_STANDARD = gnu99;
1437 | GCC_NO_COMMON_BLOCKS = YES;
1438 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
1439 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
1440 | GCC_WARN_UNDECLARED_SELECTOR = YES;
1441 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
1442 | GCC_WARN_UNUSED_FUNCTION = YES;
1443 | GCC_WARN_UNUSED_VARIABLE = YES;
1444 | IPHONEOS_DEPLOYMENT_TARGET = 9.0;
1445 | MTL_ENABLE_DEBUG_INFO = NO;
1446 | SDKROOT = iphoneos;
1447 | VALIDATE_PRODUCT = YES;
1448 | };
1449 | name = Release;
1450 | };
1451 | /* End XCBuildConfiguration section */
1452 |
1453 | /* Begin XCConfigurationList section */
1454 | 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "ModalDemoTests" */ = {
1455 | isa = XCConfigurationList;
1456 | buildConfigurations = (
1457 | 00E356F61AD99517003FC87E /* Debug */,
1458 | 00E356F71AD99517003FC87E /* Release */,
1459 | );
1460 | defaultConfigurationIsVisible = 0;
1461 | defaultConfigurationName = Release;
1462 | };
1463 | 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "ModalDemo" */ = {
1464 | isa = XCConfigurationList;
1465 | buildConfigurations = (
1466 | 13B07F941A680F5B00A75B9A /* Debug */,
1467 | 13B07F951A680F5B00A75B9A /* Release */,
1468 | );
1469 | defaultConfigurationIsVisible = 0;
1470 | defaultConfigurationName = Release;
1471 | };
1472 | 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "ModalDemo-tvOS" */ = {
1473 | isa = XCConfigurationList;
1474 | buildConfigurations = (
1475 | 2D02E4971E0B4A5E006451C7 /* Debug */,
1476 | 2D02E4981E0B4A5E006451C7 /* Release */,
1477 | );
1478 | defaultConfigurationIsVisible = 0;
1479 | defaultConfigurationName = Release;
1480 | };
1481 | 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "ModalDemo-tvOSTests" */ = {
1482 | isa = XCConfigurationList;
1483 | buildConfigurations = (
1484 | 2D02E4991E0B4A5E006451C7 /* Debug */,
1485 | 2D02E49A1E0B4A5E006451C7 /* Release */,
1486 | );
1487 | defaultConfigurationIsVisible = 0;
1488 | defaultConfigurationName = Release;
1489 | };
1490 | 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "ModalDemo" */ = {
1491 | isa = XCConfigurationList;
1492 | buildConfigurations = (
1493 | 83CBBA201A601CBA00E9B192 /* Debug */,
1494 | 83CBBA211A601CBA00E9B192 /* Release */,
1495 | );
1496 | defaultConfigurationIsVisible = 0;
1497 | defaultConfigurationName = Release;
1498 | };
1499 | /* End XCConfigurationList section */
1500 | };
1501 | rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */;
1502 | }
1503 |
--------------------------------------------------------------------------------