From 5a421edb45639c4eaaca1c7c7768346bf83d8a69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Fri, 3 Apr 2020 16:57:19 +0200 Subject: [PATCH 1/9] [generator-macos] Import upstream v0.62 template and add macOS target --- local-cli/generator-common/index.js | 35 +- local-cli/generator-macos/index.js | 91 +- .../AppDelegate.h | 0 .../AppDelegate.m | 23 + .../Base.lproj/LaunchScreen.xib | 0 .../AppIcon.appiconset/Contents.json | 15 - .../Images.xcassets/Contents.json | 0 .../{HelloWorld => HelloWorld-iOS}/Info.plist | 2 +- .../{HelloWorld => HelloWorld-iOS}/main.m | 0 .../AppIcon.appiconset/Contents.json | 58 + .../Assets.xcassets/Contents.json | 6 + .../{ => Base.lproj}/Main.storyboard | 42 +- .../HelloWorld.entitlements} | 8 +- .../macos/HelloWorld-macOS/Info.plist | 19 +- .../templates/macos/HelloWorld-macOS/main.m | 2 +- .../HelloWorld.xcodeproj/project.pbxproj | 1197 ++--------------- .../xcschemes/HelloWorld-iOS.xcscheme} | 24 +- .../xcschemes/HelloWorld-macOS.xcscheme | 30 +- .../generator-macos/templates/macos/Podfile | 81 ++ 19 files changed, 434 insertions(+), 1199 deletions(-) rename local-cli/generator-macos/templates/macos/{HelloWorld => HelloWorld-iOS}/AppDelegate.h (100%) rename local-cli/generator-macos/templates/macos/{HelloWorld => HelloWorld-iOS}/AppDelegate.m (55%) rename local-cli/generator-macos/templates/macos/{HelloWorld => HelloWorld-iOS}/Base.lproj/LaunchScreen.xib (100%) rename local-cli/generator-macos/templates/macos/{HelloWorld => HelloWorld-iOS}/Images.xcassets/AppIcon.appiconset/Contents.json (68%) rename local-cli/generator-macos/templates/macos/{HelloWorld => HelloWorld-iOS}/Images.xcassets/Contents.json (100%) rename local-cli/generator-macos/templates/macos/{HelloWorld => HelloWorld-iOS}/Info.plist (97%) rename local-cli/generator-macos/templates/macos/{HelloWorld => HelloWorld-iOS}/main.m (100%) create mode 100644 local-cli/generator-macos/templates/macos/HelloWorld-macOS/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 local-cli/generator-macos/templates/macos/HelloWorld-macOS/Assets.xcassets/Contents.json rename local-cli/generator-macos/templates/macos/HelloWorld-macOS/{ => Base.lproj}/Main.storyboard (97%) rename local-cli/generator-macos/templates/macos/{HelloWorld.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings => HelloWorld-macOS/HelloWorld.entitlements} (58%) rename local-cli/generator-macos/templates/macos/{xcschemes/HelloWorld.xcscheme => HelloWorld.xcodeproj/xcshareddata/xcschemes/HelloWorld-iOS.xcscheme} (76%) rename local-cli/generator-macos/templates/macos/{ => HelloWorld.xcodeproj/xcshareddata}/xcschemes/HelloWorld-macOS.xcscheme (70%) create mode 100644 local-cli/generator-macos/templates/macos/Podfile diff --git a/local-cli/generator-common/index.js b/local-cli/generator-common/index.js index 1349e42e2d2368..d2aa85f8fe5a0f 100644 --- a/local-cli/generator-common/index.js +++ b/local-cli/generator-common/index.js @@ -1,16 +1,35 @@ +// @ts-check + const fs = require('fs'); -const chalk = require('chalk'); +const chalk = require('chalk').default; const path = require('path'); const copyAndReplace = require('@react-native-community/cli/build/tools/copyAndReplace').default; const walk = require('@react-native-community/cli/build/tools/walk').default; const prompt = require('@react-native-community/cli/build/tools/generator/promptSync').default(); +/** + * @param {string} destPath + */ function createDir(destPath) { if (!fs.existsSync(destPath)) { - fs.mkdirSync(destPath); + fs.mkdirSync(destPath, { recursive: true }); } } +/** + * @todo Move this upstream to @react-native-community/cli + * + * @param {string} templatePath + * @param {Record} replacements + */ +function replaceInPath(templatePath, replacements) { + let result = templatePath; + Object.keys(replacements).forEach(key => { + result = result.replace(key, replacements[key]); + }); + return result; +} + function copyAndReplaceWithChangedCallback(srcPath, destRoot, relativeDestPath, replacements, alwaysOverwrite) { if (!replacements) { replacements = {}; @@ -35,15 +54,23 @@ function copyAndReplaceWithChangedCallback(srcPath, destRoot, relativeDestPath, ); } +/** + * @param {string} srcPath + * @param {string} destPath + * @param {string} relativeDestDir + * @param {Record} replacements + * @param {boolean} alwaysOverwrite + */ function copyAndReplaceAll(srcPath, destPath, relativeDestDir, replacements, alwaysOverwrite) { walk(srcPath).forEach(absoluteSrcFilePath => { const filename = path.relative(srcPath, absoluteSrcFilePath); - const relativeDestPath = path.join(relativeDestDir, filename); + const relativeDestPath = path.join(relativeDestDir, replaceInPath(filename, replacements)); copyAndReplaceWithChangedCallback(absoluteSrcFilePath, destPath, relativeDestPath, replacements, alwaysOverwrite); }); } -function alwaysOverwriteContentChangedCallback( absoluteSrcFilePath, +function alwaysOverwriteContentChangedCallback( + absoluteSrcFilePath, relativeDestPath, contentChanged ) { diff --git a/local-cli/generator-macos/index.js b/local-cli/generator-macos/index.js index de97222c78db09..216465fb6e51ce 100644 --- a/local-cli/generator-macos/index.js +++ b/local-cli/generator-macos/index.js @@ -1,5 +1,8 @@ +// @ts-check + 'use strict'; -const chalk = require('chalk'); + +const chalk = require('chalk').default; const path = require('path'); const childProcess = require('child_process'); const fs = require('fs'); @@ -10,7 +13,14 @@ const { } = require('../generator-common'); const macOSDir = 'macos'; +const oldProjectName = 'HelloWorld'; +/** + * @param {string} srcRootPath + * @param {string} destPath + * @param {string} newProjectName + * @param {{ overwrite?: boolean }} options + */ function copyProjectTemplateAndReplace( srcRootPath, destPath, @@ -29,29 +39,22 @@ function copyProjectTemplateAndReplace( throw new Error('Need a project name'); } - const projectNameMacOS = newProjectName + '-macOS'; - const projectNameIOS = newProjectName; - const xcodeProjName = newProjectName + '.xcodeproj'; - const schemeNameMacOS = newProjectName + '-macOS.xcscheme'; - const schemeNameIOS = newProjectName + '.xcscheme'; - createDir(path.join(destPath, macOSDir)); - createDir(path.join(destPath, macOSDir, projectNameIOS)); - createDir(path.join(destPath, macOSDir, projectNameMacOS)); - createDir(path.join(destPath, macOSDir, xcodeProjName)); - createDir(path.join(destPath, macOSDir, xcodeProjName, 'xcshareddata')); - createDir(path.join(destPath, macOSDir, xcodeProjName, 'xcshareddata/xcschemes')); + createDir(path.join(destPath, srcDirPath(newProjectName, 'iOS'))); + createDir(path.join(destPath, srcDirPath(newProjectName, 'macOS'))); + createDir(path.join(destPath, xcodeprojPath(newProjectName))); + createDir(path.join(destPath, schemesPath(newProjectName))); const templateVars = { - 'HelloWorld': newProjectName, + [oldProjectName]: newProjectName, }; [ - { from: path.join(srcRootPath, 'macos/HelloWorld'), to: path.join(macOSDir, projectNameIOS) }, - { from: path.join(srcRootPath, 'macos/HelloWorld-macOS'), to: path.join(macOSDir, projectNameMacOS) }, - { from: path.join(srcRootPath, 'macos/HelloWorld.xcodeproj'), to: path.join(macOSDir, xcodeProjName) }, - { from: path.join(srcRootPath, 'macos/xcschemes/HelloWorld-macOS.xcscheme'), to: path.join(macOSDir, xcodeProjName, 'xcshareddata/xcschemes', schemeNameMacOS) }, - { from: path.join(srcRootPath, 'macos/xcschemes/HelloWorld.xcscheme'), to: path.join(macOSDir, xcodeProjName, 'xcshareddata/xcschemes', schemeNameIOS) }, + { from: path.join(srcRootPath, srcDirPath(oldProjectName, 'iOS')), to: srcDirPath(newProjectName, 'iOS') }, + { from: path.join(srcRootPath, srcDirPath(oldProjectName, 'macOS')), to: srcDirPath(newProjectName, 'macOS') }, + { from: path.join(srcRootPath, pbxprojPath(oldProjectName)), to: pbxprojPath(newProjectName) }, + { from: path.join(srcRootPath, schemePath(oldProjectName, 'iOS')), to: schemePath(newProjectName, 'iOS') }, + { from: path.join(srcRootPath, schemePath(oldProjectName, 'macOS')), to: schemePath(newProjectName, 'macOS') }, ].forEach((mapping) => copyAndReplaceAll(mapping.from, destPath, mapping.to, templateVars, options.overwrite)); [ @@ -63,12 +66,60 @@ function copyProjectTemplateAndReplace( ${chalk.blue(`Run instructions for ${chalk.bold('macOS')}`)}: • npx react-native run-macos ${chalk.dim('- or -')} - • Open ${macOSDir}/${xcodeProjName} in Xcode or run "xed -b ${macOSDir}" + • Open ${xcodeprojPath(newProjectName)} in Xcode or run "xed -b ${macOSDir}" • yarn start:macos • Hit the Run button `); } +/** + * @param {string} basename + * @param {"iOS" | "macOS"} platform + */ +function projectName(basename, platform) { + return basename + '-' + platform; +} + +/** + * @param {string} basename + * @param {"iOS" | "macOS"} platform + */ +function srcDirPath(basename, platform) { + return path.join(macOSDir, projectName(basename, platform)); +} + +/** + * @param {string} basename + */ +function xcodeprojPath(basename) { + return path.join(macOSDir, basename + '.xcodeproj'); +} + +/** + * @param {string} basename + */ +function pbxprojPath(basename) { + return path.join(xcodeprojPath(basename), 'project.pbxproj'); +} + +/** + * @param {string} basename + */ +function schemesPath(basename) { + return path.join(xcodeprojPath(basename), 'xcshareddata', 'xcschemes'); +} + +/** + * @param {string} basename + * @param {"iOS" | "macOS"} platform + */ +function schemePath(basename, platform) { + return path.join(schemesPath(basename), projectName(basename, platform) + '.xcscheme'); +} + +/** + * @param {{ verbose?: boolean }=} options + */ function installDependencies(options) { const cwd = process.cwd(); @@ -80,6 +131,8 @@ function installDependencies(options) { // Install dependencies using correct package manager const isYarn = fs.existsSync(path.join(cwd, 'yarn.lock')); + + /** @type {{ stdio?: 'inherit' }} */ const execOptions = options && options.verbose ? { stdio: 'inherit' } : {}; childProcess.execSync(isYarn ? 'yarn' : 'npm i', execOptions); } diff --git a/local-cli/generator-macos/templates/macos/HelloWorld/AppDelegate.h b/local-cli/generator-macos/templates/macos/HelloWorld-iOS/AppDelegate.h similarity index 100% rename from local-cli/generator-macos/templates/macos/HelloWorld/AppDelegate.h rename to local-cli/generator-macos/templates/macos/HelloWorld-iOS/AppDelegate.h diff --git a/local-cli/generator-macos/templates/macos/HelloWorld/AppDelegate.m b/local-cli/generator-macos/templates/macos/HelloWorld-iOS/AppDelegate.m similarity index 55% rename from local-cli/generator-macos/templates/macos/HelloWorld/AppDelegate.m rename to local-cli/generator-macos/templates/macos/HelloWorld-iOS/AppDelegate.m index e5f1fac421b602..c680572d44cce3 100644 --- a/local-cli/generator-macos/templates/macos/HelloWorld/AppDelegate.m +++ b/local-cli/generator-macos/templates/macos/HelloWorld-iOS/AppDelegate.m @@ -4,10 +4,33 @@ #import #import +#if DEBUG +#import +#import +#import +#import +#import +#import + +static void InitializeFlipper(UIApplication *application) { + FlipperClient *client = [FlipperClient sharedClient]; + SKDescriptorMapper *layoutDescriptorMapper = [[SKDescriptorMapper alloc] initWithDefaults]; + [client addPlugin:[[FlipperKitLayoutPlugin alloc] initWithRootNode:application withDescriptorMapper:layoutDescriptorMapper]]; + [client addPlugin:[[FKUserDefaultsPlugin alloc] initWithSuiteName:nil]]; + [client addPlugin:[FlipperKitReactPlugin new]]; + [client addPlugin:[[FlipperKitNetworkPlugin alloc] initWithNetworkAdapter:[SKIOSNetworkAdapter new]]]; + [client start]; +} +#endif + @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { +#if DEBUG + InitializeFlipper(application); +#endif + RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions]; RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge moduleName:@"HelloWorld" diff --git a/local-cli/generator-macos/templates/macos/HelloWorld/Base.lproj/LaunchScreen.xib b/local-cli/generator-macos/templates/macos/HelloWorld-iOS/Base.lproj/LaunchScreen.xib similarity index 100% rename from local-cli/generator-macos/templates/macos/HelloWorld/Base.lproj/LaunchScreen.xib rename to local-cli/generator-macos/templates/macos/HelloWorld-iOS/Base.lproj/LaunchScreen.xib diff --git a/local-cli/generator-macos/templates/macos/HelloWorld/Images.xcassets/AppIcon.appiconset/Contents.json b/local-cli/generator-macos/templates/macos/HelloWorld-iOS/Images.xcassets/AppIcon.appiconset/Contents.json similarity index 68% rename from local-cli/generator-macos/templates/macos/HelloWorld/Images.xcassets/AppIcon.appiconset/Contents.json rename to local-cli/generator-macos/templates/macos/HelloWorld-iOS/Images.xcassets/AppIcon.appiconset/Contents.json index 19882d568afa3d..118c98f7461bf9 100644 --- a/local-cli/generator-macos/templates/macos/HelloWorld/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/local-cli/generator-macos/templates/macos/HelloWorld-iOS/Images.xcassets/AppIcon.appiconset/Contents.json @@ -1,15 +1,5 @@ { "images" : [ - { - "idiom" : "iphone", - "size" : "20x20", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "20x20", - "scale" : "3x" - }, { "idiom" : "iphone", "size" : "29x29", @@ -39,11 +29,6 @@ "idiom" : "iphone", "size" : "60x60", "scale" : "3x" - }, - { - "idiom" : "ios-marketing", - "size" : "1024x1024", - "scale" : "1x" } ], "info" : { diff --git a/local-cli/generator-macos/templates/macos/HelloWorld/Images.xcassets/Contents.json b/local-cli/generator-macos/templates/macos/HelloWorld-iOS/Images.xcassets/Contents.json similarity index 100% rename from local-cli/generator-macos/templates/macos/HelloWorld/Images.xcassets/Contents.json rename to local-cli/generator-macos/templates/macos/HelloWorld-iOS/Images.xcassets/Contents.json diff --git a/local-cli/generator-macos/templates/macos/HelloWorld/Info.plist b/local-cli/generator-macos/templates/macos/HelloWorld-iOS/Info.plist similarity index 97% rename from local-cli/generator-macos/templates/macos/HelloWorld/Info.plist rename to local-cli/generator-macos/templates/macos/HelloWorld-iOS/Info.plist index 83485c636da92e..20f7dd5114c9c5 100644 --- a/local-cli/generator-macos/templates/macos/HelloWorld/Info.plist +++ b/local-cli/generator-macos/templates/macos/HelloWorld-iOS/Info.plist @@ -5,7 +5,7 @@ CFBundleDevelopmentRegion en CFBundleDisplayName - HelloWorld + Hello App Display Name CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier diff --git a/local-cli/generator-macos/templates/macos/HelloWorld/main.m b/local-cli/generator-macos/templates/macos/HelloWorld-iOS/main.m similarity index 100% rename from local-cli/generator-macos/templates/macos/HelloWorld/main.m rename to local-cli/generator-macos/templates/macos/HelloWorld-iOS/main.m diff --git a/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Assets.xcassets/AppIcon.appiconset/Contents.json b/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000000000..3f00db43ec3c8b --- /dev/null +++ b/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,58 @@ +{ + "images" : [ + { + "idiom" : "mac", + "scale" : "1x", + "size" : "16x16" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "16x16" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "32x32" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "32x32" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "128x128" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "128x128" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "256x256" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "256x256" + }, + { + "idiom" : "mac", + "scale" : "1x", + "size" : "512x512" + }, + { + "idiom" : "mac", + "scale" : "2x", + "size" : "512x512" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Assets.xcassets/Contents.json b/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Assets.xcassets/Contents.json new file mode 100644 index 00000000000000..73c00596a7fca3 --- /dev/null +++ b/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Main.storyboard b/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Base.lproj/Main.storyboard similarity index 97% rename from local-cli/generator-macos/templates/macos/HelloWorld-macOS/Main.storyboard rename to local-cli/generator-macos/templates/macos/HelloWorld-macOS/Base.lproj/Main.storyboard index c4eb83f109c8fd..5d1fc777e3c217 100644 --- a/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Main.storyboard +++ b/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Base.lproj/Main.storyboard @@ -1,9 +1,7 @@ - - + + - - - + @@ -526,19 +524,22 @@ - + + Default - + + Left to Right - + + Right to Left @@ -548,19 +549,22 @@ - + + Default - + + Left to Right - + + Right to Left @@ -669,7 +673,7 @@ - + @@ -679,10 +683,10 @@ - + - + @@ -694,20 +698,20 @@ - + - - - + + + - + diff --git a/local-cli/generator-macos/templates/macos/HelloWorld.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/local-cli/generator-macos/templates/macos/HelloWorld-macOS/HelloWorld.entitlements similarity index 58% rename from local-cli/generator-macos/templates/macos/HelloWorld.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings rename to local-cli/generator-macos/templates/macos/HelloWorld-macOS/HelloWorld.entitlements index 6b30c7459cb23d..f2ef3ae0265b40 100644 --- a/local-cli/generator-macos/templates/macos/HelloWorld.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ b/local-cli/generator-macos/templates/macos/HelloWorld-macOS/HelloWorld.entitlements @@ -2,9 +2,9 @@ - BuildSystemType - Original - PreviewsEnabled - + com.apple.security.app-sandbox + + com.apple.security.files.user-selected.read-only + diff --git a/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Info.plist b/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Info.plist index 663b58a1495e45..e87993de178447 100644 --- a/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Info.plist +++ b/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Info.plist @@ -15,29 +15,20 @@ CFBundleName $(PRODUCT_NAME) CFBundlePackageType - APPL + $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString 1.0 CFBundleVersion 1 LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) - NSAppTransportSecurity - - NSAllowsArbitraryLoads - - NSExceptionDomains - - localhost - - NSExceptionAllowsInsecureHTTPLoads - - - - NSMainStoryboardFile Main NSPrincipalClass NSApplication + NSSupportsAutomaticTermination + + NSSupportsSuddenTermination + diff --git a/local-cli/generator-macos/templates/macos/HelloWorld-macOS/main.m b/local-cli/generator-macos/templates/macos/HelloWorld-macOS/main.m index 1f154fcf69b005..8b56870cecaeee 100644 --- a/local-cli/generator-macos/templates/macos/HelloWorld-macOS/main.m +++ b/local-cli/generator-macos/templates/macos/HelloWorld-macOS/main.m @@ -1,5 +1,5 @@ #import -int main(int argc, const char *argv[]) { +int main(int argc, const char * argv[]) { return NSApplicationMain(argc, argv); } diff --git a/local-cli/generator-macos/templates/macos/HelloWorld.xcodeproj/project.pbxproj b/local-cli/generator-macos/templates/macos/HelloWorld.xcodeproj/project.pbxproj index 67304bf2f9abf4..20c247a0c947c3 100644 --- a/local-cli/generator-macos/templates/macos/HelloWorld.xcodeproj/project.pbxproj +++ b/local-cli/generator-macos/templates/macos/HelloWorld.xcodeproj/project.pbxproj @@ -7,449 +7,36 @@ objects = { /* Begin PBXBuildFile section */ - 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; }; - 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */; }; - 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */; }; - 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */; }; - 11D1A2F320CAFA9E000508D9 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */; }; - 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C398B91ACF4ADC00677621 /* libRCTLinking.a */; }; - 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */; }; - 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */; }; 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; 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 */; }; - 146834051AC3E58100842450 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; - 383C5138243414A700CCBC30 /* libRCTImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 38C1418523BBE33000902604 /* libRCTImage.a */; }; - 38A297E124350EDF003A4F76 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 38C1417623BBE33000902604 /* libRCTActionSheet.a */; }; - 38A2981624350EE7003A4F76 /* libRCTBlob-macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 38C1418023BBE33000902604 /* libRCTBlob-macOS.a */; }; - 38A2981724350EF9003A4F76 /* libRCTLinking-macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 38C1418A23BBE33000902604 /* libRCTLinking-macOS.a */; }; - 38A2981824350F0F003A4F76 /* libRCTSettings-macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 38C1419423BBE33000902604 /* libRCTSettings-macOS.a */; }; - 38C1421623BBE5B500902604 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 38C1421523BBE5B500902604 /* main.m */; }; - 38C1421823BBE65C00902604 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 38C1421723BBE65C00902604 /* AppDelegate.m */; }; - 38C1421C23BBE70D00902604 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 38C1421B23BBE70D00902604 /* ViewController.m */; }; - 38C1421D23BBE79300902604 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 38C141C223BBE33000902604 /* libReact.a */; }; - 38C1421F23BBE7A000902604 /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 38C1421E23BBE7A000902604 /* JavaScriptCore.framework */; }; - 38C1422023BBE8E500902604 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 38C141A223BBE33000902604 /* libRCTWebSocket.a */; }; - 38C1422223BBE98D00902604 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 38C1422123BBE98D00902604 /* Main.storyboard */; }; - 38C1422323BBEB6400902604 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 38C1418F23BBE33000902604 /* libRCTNetwork.a */; }; - 38C1422423BBEB8300902604 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 38C1419923BBE33000902604 /* libRCTText.a */; }; - 38C1422523BBEC1D00902604 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 38C1417B23BBE33000902604 /* libRCTAnimation.a */; }; - 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; - ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; }; - ED297163215061F000B7C4FE /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ED297162215061F000B7C4FE /* JavaScriptCore.framework */; }; + 5142014D2437B4B30078DB4F /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 5142014C2437B4B30078DB4F /* AppDelegate.m */; }; + 514201502437B4B30078DB4F /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5142014F2437B4B30078DB4F /* ViewController.m */; }; + 514201522437B4B40078DB4F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 514201512437B4B40078DB4F /* Assets.xcassets */; }; + 514201552437B4B40078DB4F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 514201532437B4B40078DB4F /* Main.storyboard */; }; + 514201582437B4B40078DB4F /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 514201572437B4B40078DB4F /* main.m */; }; /* End PBXBuildFile section */ -/* Begin PBXContainerItemProxy section */ - 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTActionSheet; - }; - 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 58B5115D1A9E6B3D00147676; - remoteInfo = RCTImage; - }; - 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 58B511DB1A9E6C8500147676; - remoteInfo = RCTNetwork; - }; - 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 832C81801AAF6DEF007FA2F7; - remoteInfo = RCTVibration; - }; - 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTSettings; - }; - 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3C86DF461ADF2C930047B81A; - remoteInfo = RCTWebSocket; - }; - 146834031AC3E56700842450 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192; - remoteInfo = React; - }; - 2D16E6711FA4F8DC00B85C8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = ADD01A681E09402E00F6D226; - remoteInfo = "RCTBlob-tvOS"; - }; - 2DF0FFDE2056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = EBF21BDC1FC498900052F4D5; - remoteInfo = jsinspector; - }; - 2DF0FFE02056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = EBF21BFA1FC4989A0052F4D5; - remoteInfo = "jsinspector-tvOS"; - }; - 2DF0FFE22056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 139D7ECE1E25DB7D00323FB7; - remoteInfo = "third-party"; - }; - 2DF0FFE42056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D383D3C1EBD27B6005632C8; - remoteInfo = "third-party-tvOS"; - }; - 2DF0FFE62056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 139D7E881E25C6D100323FB7; - remoteInfo = "double-conversion"; - }; - 2DF0FFE82056DD460020B375 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D383D621EBD27B9005632C8; - remoteInfo = "double-conversion-tvOS"; - }; - 38C1417523BBE33000902604 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 649D87D21F69D9BC0005AF18; - remoteInfo = "RCTActionSheet-macOS"; - }; - 38C1417A23BBE33000902604 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 647647C51F0BC7F200C2D89B; - remoteInfo = "RCTAnimation-macOS"; - }; - 38C1417F23BBE33000902604 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 6484CE57201A74FA004275A4; - remoteInfo = "RCTBlob-macOS"; - }; - 38C1418423BBE33000902604 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 6BDE7AEB1ECB9C4400CC951F; - remoteInfo = "RCTImage-macOS"; - }; - 38C1418923BBE33000902604 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = D4C812E71F1CC42300FFA059; - remoteInfo = "RCTLinking-macOS"; - }; - 38C1418E23BBE33000902604 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 6BDE7A901ECB6E8400CC951F; - remoteInfo = "RCTNetwork-macOS"; - }; - 38C1419323BBE33000902604 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 6448A5CD1F292E63006FF1F5; - remoteInfo = "RCTSettings-macOS"; - }; - 38C1419823BBE33000902604 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 58B5119B1A9E6C1200147675; - remoteInfo = "RCTText-macos"; - }; - 38C141A123BBE33000902604 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 6BDE7A581ECB6B8200CC951F; - remoteInfo = "RCTWebSocket-macOS"; - }; - 38C141A323BBE33000902604 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3DBE0D001F3B181A0099AA32; - remoteInfo = fishhook; - }; - 38C141A523BBE33000902604 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3DBE0D0D1F3B181C0099AA32; - remoteInfo = "fishhook-tvOS"; - }; - 38C141A723BBE33000902604 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 18C3A9BF1FE1D41600DEC48A; - remoteInfo = "fishhook-macOS"; - }; - 38C141C123BBE33000902604 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 9F2AC95D2239D788005C9C14; - remoteInfo = "React-macOS"; - }; - 38C141C323BBE33000902604 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 9F5C195B230F4CB300E3E5A7; - remoteInfo = "yoga-macOS"; - }; - 38C141C523BBE33000902604 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 6B857F421EC51FCF00A9D063; - remoteInfo = "cxxreact-macOS"; - }; - 38C141C723BBE33000902604 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 9F2AC95E2239D788005C9C14; - remoteInfo = "jsinspector-macOS"; - }; - 38C141C923BBE33000902604 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 188202A21EF48CF700C9B354; - remoteInfo = "third-party-macOS"; - }; - 38C141CB23BBE33000902604 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 1882027C1EF48B7E00C9B354; - remoteInfo = "double-conversion-macOS"; - }; - 38C141CD23BBE33000902604 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 9FD21D78224303D900E7F88E; - remoteInfo = "jsi-macOS"; - }; - 38C141CF23BBE33000902604 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 9FD21D94224305AA00E7F88E; - remoteInfo = "jsiexecutor-macOS"; - }; - 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A283A1D9B042B00D4039D; - remoteInfo = "RCTImage-tvOS"; - }; - 3DAD3E871DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28471D9B043800D4039D; - remoteInfo = "RCTLinking-tvOS"; - }; - 3DAD3E8B1DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28541D9B044C00D4039D; - remoteInfo = "RCTNetwork-tvOS"; - }; - 3DAD3E8F1DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28611D9B046600D4039D; - remoteInfo = "RCTSettings-tvOS"; - }; - 3DAD3E931DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A287B1D9B048500D4039D; - remoteInfo = "RCTText-tvOS"; - }; - 3DAD3E981DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28881D9B049200D4039D; - remoteInfo = "RCTWebSocket-tvOS"; - }; - 3DAD3EA21DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28131D9B038B00D4039D; - remoteInfo = "React-tvOS"; - }; - 3DAD3EA41DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3C059A1DE3340900C268FA; - remoteInfo = yoga; - }; - 3DAD3EA61DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3C06751DE3340C00C268FA; - remoteInfo = "yoga-tvOS"; - }; - 3DAD3EA81DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3CD9251DE5FBEC00167DC4; - remoteInfo = cxxreact; - }; - 3DAD3EAA1DF850E9000B6D8A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 3D3CD9321DE5FBEE00167DC4; - remoteInfo = "cxxreact-tvOS"; - }; - 3DC53982220F2C940035D3A3 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = EDEBC6D6214B3E7000DD5AC8; - remoteInfo = jsi; - }; - 3DC53984220F2C940035D3A3 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = EDEBC73B214B45A300DD5AC8; - remoteInfo = jsiexecutor; - }; - 3DC53986220F2C940035D3A3 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = ED296FB6214C9A0900B7C4FE; - remoteInfo = "jsi-tvOS"; - }; - 3DC53988220F2C940035D3A3 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = ED296FEE214C9CF800B7C4FE; - remoteInfo = "jsiexecutor-tvOS"; - }; - 5E9157321DD0AC6500FF2AA8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTAnimation; - }; - 5E9157341DD0AC6500FF2AA8 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 2D2A28201D9B03D100D4039D; - remoteInfo = "RCTAnimation-tvOS"; - }; - 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 134814201AA4EA6300B7C361; - remoteInfo = RCTLinking; - }; - 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 58B5119B1A9E6C1200147676; - remoteInfo = RCTText; - }; - ADBDB9261DFEBF0700ED6528 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 358F4ED71D1E81A9004DF814; - remoteInfo = RCTBlob; - }; -/* End PBXContainerItemProxy section */ - /* Begin PBXFileReference section */ 008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = ""; }; - 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTActionSheet.xcodeproj; path = "../node_modules/react-native-macos/Libraries/ActionSheetIOS/RCTActionSheet.xcodeproj"; sourceTree = ""; }; - 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTImage.xcodeproj; path = "../node_modules/react-native-macos/Libraries/Image/RCTImage.xcodeproj"; sourceTree = ""; }; - 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTNetwork.xcodeproj; path = "../node_modules/react-native-macos/Libraries/Network/RCTNetwork.xcodeproj"; sourceTree = ""; }; - 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTVibration.xcodeproj; path = "../node_modules/react-native-macos/Libraries/Vibration/RCTVibration.xcodeproj"; sourceTree = ""; }; - 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = "../node_modules/react-native-macos/Libraries/Settings/RCTSettings.xcodeproj"; sourceTree = ""; }; - 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWebSocket.xcodeproj; path = "../node_modules/react-native-macos/Libraries/WebSocket/RCTWebSocket.xcodeproj"; sourceTree = ""; }; 13B07F961A680F5B00A75B9A /* HelloWorld.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HelloWorld.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = HelloWorld/AppDelegate.h; sourceTree = ""; }; - 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = HelloWorld/AppDelegate.m; sourceTree = ""; }; + 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; 13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; - 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = HelloWorld/Images.xcassets; sourceTree = ""; }; + 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = HelloWorld/Info.plist; sourceTree = ""; }; - 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = HelloWorld/main.m; sourceTree = ""; }; - 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native-macos/React/React.xcodeproj"; sourceTree = ""; }; - 38C1417223BBE33000902604 /* HelloWorld.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HelloWorld.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 38C141D123BBE33000902604 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = "HelloWorld-macOS/Info.plist"; sourceTree = ""; }; - 38C1421523BBE5B500902604 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 38C1421723BBE65C00902604 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - 38C1421923BBE66C00902604 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - 38C1421A23BBE70D00902604 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; - 38C1421B23BBE70D00902604 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; - 38C1421E23BBE7A000902604 /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/JavaScriptCore.framework; sourceTree = DEVELOPER_DIR; }; - 38C1422123BBE98D00902604 /* Main.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = ""; }; - 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = "../node_modules/react-native-macos/Libraries/NativeAnimation/RCTAnimation.xcodeproj"; sourceTree = ""; }; - 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native-macos/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; }; - 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native-macos/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; }; - ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTBlob.xcodeproj; path = "../node_modules/react-native-macos/Libraries/Blob/RCTBlob.xcodeproj"; sourceTree = ""; }; + 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 514201492437B4B30078DB4F /* HelloWorld.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HelloWorld.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 5142014B2437B4B30078DB4F /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + 5142014C2437B4B30078DB4F /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + 5142014E2437B4B30078DB4F /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; + 5142014F2437B4B30078DB4F /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; + 514201512437B4B40078DB4F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 514201542437B4B40078DB4F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 514201562437B4B40078DB4F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 514201572437B4B40078DB4F /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 514201592437B4B40078DB4F /* HelloWorld.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = HelloWorld.entitlements; sourceTree = ""; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; 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; }; /* End PBXFileReference section */ @@ -459,103 +46,20 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */, - 11D1A2F320CAFA9E000508D9 /* libRCTAnimation.a in Frameworks */, - ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */, - 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */, - 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */, - 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */, - 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */, - 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */, - 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */, - 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */, - 146834051AC3E58100842450 /* libReact.a in Frameworks */, - ED297163215061F000B7C4FE /* JavaScriptCore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 38C1415D23BBE33000902604 /* Frameworks */ = { + 514201462437B4B30078DB4F /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 38A297E124350EDF003A4F76 /* libRCTActionSheet.a in Frameworks */, - 38C1422523BBEC1D00902604 /* libRCTAnimation.a in Frameworks */, - 38A2981624350EE7003A4F76 /* libRCTBlob-macOS.a in Frameworks */, - 383C5138243414A700CCBC30 /* libRCTImage.a in Frameworks */, - 38A2981724350EF9003A4F76 /* libRCTLinking-macOS.a in Frameworks */, - 38C1422323BBEB6400902604 /* libRCTNetwork.a in Frameworks */, - 38A2981824350F0F003A4F76 /* libRCTSettings-macOS.a in Frameworks */, - 38C1422423BBEB8300902604 /* libRCTText.a in Frameworks */, - 38C1422023BBE8E500902604 /* libRCTWebSocket.a in Frameworks */, - 38C1421D23BBE79300902604 /* libReact.a in Frameworks */, - 38C1421F23BBE7A000902604 /* JavaScriptCore.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 00C302A81ABCB8CE00DB3ED1 /* Products */ = { - isa = PBXGroup; - children = ( - 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */, - 38C1417623BBE33000902604 /* libRCTActionSheet.a */, - ); - name = Products; - sourceTree = ""; - }; - 00C302BC1ABCB91800DB3ED1 /* Products */ = { - isa = PBXGroup; - children = ( - 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */, - 38C1418523BBE33000902604 /* libRCTImage.a */, - 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 00C302D41ABCB9D200DB3ED1 /* Products */ = { - isa = PBXGroup; - children = ( - 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */, - 38C1418F23BBE33000902604 /* libRCTNetwork.a */, - 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 00C302E01ABCB9EE00DB3ED1 /* Products */ = { - isa = PBXGroup; - children = ( - 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */, - ); - name = Products; - sourceTree = ""; - }; - 139105B71AF99BAD00B5F7CC /* Products */ = { - isa = PBXGroup; - children = ( - 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */, - 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */, - 38C1419423BBE33000902604 /* libRCTSettings-macOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 139FDEE71B06529A00C62182 /* Products */ = { - isa = PBXGroup; - children = ( - 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */, - 38C141A223BBE33000902604 /* libRCTWebSocket.a */, - 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */, - 38C141A423BBE33000902604 /* libfishhook.a */, - 38C141A623BBE33000902604 /* libfishhook-tvOS.a */, - 38C141A823BBE33000902604 /* libfishhook-macOS.a */, - ); - name = Products; - sourceTree = ""; - }; - 13B07FAE1A68108700A75B9A /* HelloWorld */ = { + 13B07FAE1A68108700A75B9A /* HelloWorld-iOS */ = { isa = PBXGroup; children = ( 008F07F21AC5B25A0029DE68 /* main.jsbundle */, @@ -566,38 +70,7 @@ 13B07FB11A68108700A75B9A /* LaunchScreen.xib */, 13B07FB71A68108700A75B9A /* main.m */, ); - name = HelloWorld; - sourceTree = ""; - }; - 146834001AC3E56700842450 /* Products */ = { - isa = PBXGroup; - children = ( - 146834041AC3E56700842450 /* libReact.a */, - 38C141C223BBE33000902604 /* libReact.a */, - 3DAD3EA31DF850E9000B6D8A /* libReact.a */, - 3DAD3EA51DF850E9000B6D8A /* libyoga.a */, - 38C141C423BBE33000902604 /* libyoga.a */, - 3DAD3EA71DF850E9000B6D8A /* libyoga.a */, - 3DAD3EA91DF850E9000B6D8A /* libcxxreact.a */, - 38C141C623BBE33000902604 /* libcxxreact.a */, - 3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */, - 2DF0FFDF2056DD460020B375 /* libjsinspector.a */, - 38C141C823BBE33000902604 /* libjsinspector-macOS.a */, - 2DF0FFE12056DD460020B375 /* libjsinspector-tvOS.a */, - 2DF0FFE32056DD460020B375 /* libthird-party.a */, - 38C141CA23BBE33000902604 /* libthird-party.a */, - 2DF0FFE52056DD460020B375 /* libthird-party.a */, - 2DF0FFE72056DD460020B375 /* libdouble-conversion.a */, - 38C141CC23BBE33000902604 /* libdouble-conversion.a */, - 2DF0FFE92056DD460020B375 /* libdouble-conversion.a */, - 3DC53983220F2C940035D3A3 /* libjsi.a */, - 3DC53987220F2C940035D3A3 /* libjsi-tvOS.a */, - 38C141CE23BBE33000902604 /* libjsi-macOS.a */, - 3DC53985220F2C940035D3A3 /* libjsiexecutor.a */, - 38C141D023BBE33000902604 /* libjsiexecutor-macOS.a */, - 3DC53989220F2C940035D3A3 /* libjsiexecutor-tvOS.a */, - ); - name = Products; + path = "HelloWorld-iOS"; sourceTree = ""; }; 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { @@ -605,78 +78,38 @@ children = ( ED297162215061F000B7C4FE /* JavaScriptCore.framework */, ED2971642150620600B7C4FE /* JavaScriptCore.framework */, - 38C1421E23BBE7A000902604 /* JavaScriptCore.framework */, ); name = Frameworks; sourceTree = ""; }; - 38C141D223BBE3E600902604 /* HelloWorld-macOS */ = { + 5142014A2437B4B30078DB4F /* HelloWorld-macOS */ = { isa = PBXGroup; children = ( - 38C1421923BBE66C00902604 /* AppDelegate.h */, - 38C1421723BBE65C00902604 /* AppDelegate.m */, - 38C141D123BBE33000902604 /* Info.plist */, - 38C1421523BBE5B500902604 /* main.m */, - 38C1422123BBE98D00902604 /* Main.storyboard */, - 38C1421A23BBE70D00902604 /* ViewController.h */, - 38C1421B23BBE70D00902604 /* ViewController.m */, + 5142014B2437B4B30078DB4F /* AppDelegate.h */, + 5142014C2437B4B30078DB4F /* AppDelegate.m */, + 5142014E2437B4B30078DB4F /* ViewController.h */, + 5142014F2437B4B30078DB4F /* ViewController.m */, + 514201512437B4B40078DB4F /* Assets.xcassets */, + 514201532437B4B40078DB4F /* Main.storyboard */, + 514201562437B4B40078DB4F /* Info.plist */, + 514201572437B4B40078DB4F /* main.m */, + 514201592437B4B40078DB4F /* HelloWorld.entitlements */, ); path = "HelloWorld-macOS"; sourceTree = ""; }; - 5E91572E1DD0AC6500FF2AA8 /* Products */ = { - isa = PBXGroup; - children = ( - 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */, - 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */, - 38C1417B23BBE33000902604 /* libRCTAnimation.a */, - ); - name = Products; - sourceTree = ""; - }; - 78C398B11ACF4ADC00677621 /* Products */ = { - isa = PBXGroup; - children = ( - 78C398B91ACF4ADC00677621 /* libRCTLinking.a */, - 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */, - 38C1418A23BBE33000902604 /* libRCTLinking-macOS.a */, - ); - name = Products; - sourceTree = ""; - }; 832341AE1AAA6A7D00B99B32 /* Libraries */ = { isa = PBXGroup; children = ( - 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */, - 146833FF1AC3E56700842450 /* React.xcodeproj */, - 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */, - ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */, - 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */, - 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */, - 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */, - 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */, - 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */, - 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */, - 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */, ); name = Libraries; sourceTree = ""; }; - 832341B11AAA6A8300B99B32 /* Products */ = { - isa = PBXGroup; - children = ( - 832341B51AAA6A8300B99B32 /* libRCTText.a */, - 38C1419923BBE33000902604 /* libRCTText.a */, - 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */, - ); - name = Products; - sourceTree = ""; - }; 83CBB9F61A601CBA00E9B192 = { isa = PBXGroup; children = ( - 13B07FAE1A68108700A75B9A /* HelloWorld */, - 38C141D223BBE3E600902604 /* HelloWorld-macOS */, + 5142014A2437B4B30078DB4F /* HelloWorld-macOS */, + 13B07FAE1A68108700A75B9A /* HelloWorld-iOS */, 832341AE1AAA6A7D00B99B32 /* Libraries */, 83CBBA001A601CBA00E9B192 /* Products */, 2D16E6871FA4F8E400B85C8A /* Frameworks */, @@ -690,17 +123,7 @@ isa = PBXGroup; children = ( 13B07F961A680F5B00A75B9A /* HelloWorld.app */, - 38C1417223BBE33000902604 /* HelloWorld.app */, - ); - name = Products; - sourceTree = ""; - }; - ADBDB9201DFEBF0600ED6528 /* Products */ = { - isa = PBXGroup; - children = ( - ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */, - 2D16E6721FA4F8DC00B85C8A /* libRCTBlob-tvOS.a */, - 38C1418023BBE33000902604 /* libRCTBlob-macOS.a */, + 514201492437B4B30078DB4F /* HelloWorld.app */, ); name = Products; sourceTree = ""; @@ -708,10 +131,11 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 13B07F861A680F5B00A75B9A /* HelloWorld */ = { + 13B07F861A680F5B00A75B9A /* HelloWorld-iOS */ = { isa = PBXNativeTarget; - buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "HelloWorld" */; + buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "HelloWorld-iOS" */; buildPhases = ( + FD10A7F022414F080027D42C /* Start Packager */, 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, @@ -721,27 +145,26 @@ ); dependencies = ( ); - name = HelloWorld; - productName = "Hello World"; + name = "HelloWorld-iOS"; + productName = HelloWorld; productReference = 13B07F961A680F5B00A75B9A /* HelloWorld.app */; productType = "com.apple.product-type.application"; }; - 38C1415723BBE33000902604 /* HelloWorld-macOS */ = { + 514201482437B4B30078DB4F /* HelloWorld-macOS */ = { isa = PBXNativeTarget; - buildConfigurationList = 38C1416F23BBE33000902604 /* Build configuration list for PBXNativeTarget "HelloWorld-macOS" */; + buildConfigurationList = 5142015A2437B4B40078DB4F /* Build configuration list for PBXNativeTarget "HelloWorld-macOS" */; buildPhases = ( - 38C1415A23BBE33000902604 /* Sources */, - 38C1415D23BBE33000902604 /* Frameworks */, - 38C1416B23BBE33000902604 /* Resources */, - 38C1416E23BBE33000902604 /* Bundle React Native code and images */, + 514201452437B4B30078DB4F /* Sources */, + 514201462437B4B30078DB4F /* Frameworks */, + 514201472437B4B30078DB4F /* Resources */, ); buildRules = ( ); dependencies = ( ); name = "HelloWorld-macOS"; - productName = "Hello World"; - productReference = 38C1417223BBE33000902604 /* HelloWorld.app */; + productName = HelloWorld; + productReference = 514201492437B4B30078DB4F /* HelloWorld.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ @@ -750,456 +173,36 @@ 83CBB9F71A601CBA00E9B192 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0940; - ORGANIZATIONNAME = ""; + LastUpgradeCheck = 1130; + TargetAttributes = { + 13B07F861A680F5B00A75B9A = { + LastSwiftMigration = 1120; + }; + 514201482437B4B30078DB4F = { + CreatedOnToolsVersion = 11.4; + ProvisioningStyle = Automatic; + }; + }; }; buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "HelloWorld" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - English, en, Base, ); mainGroup = 83CBB9F61A601CBA00E9B192; productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; projectDirPath = ""; - projectReferences = ( - { - ProductGroup = 00C302A81ABCB8CE00DB3ED1 /* Products */; - ProjectRef = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; - }, - { - ProductGroup = 5E91572E1DD0AC6500FF2AA8 /* Products */; - ProjectRef = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; - }, - { - ProductGroup = ADBDB9201DFEBF0600ED6528 /* Products */; - ProjectRef = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */; - }, - { - ProductGroup = 00C302BC1ABCB91800DB3ED1 /* Products */; - ProjectRef = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; - }, - { - ProductGroup = 78C398B11ACF4ADC00677621 /* Products */; - ProjectRef = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; - }, - { - ProductGroup = 00C302D41ABCB9D200DB3ED1 /* Products */; - ProjectRef = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; - }, - { - ProductGroup = 139105B71AF99BAD00B5F7CC /* Products */; - ProjectRef = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; - }, - { - ProductGroup = 832341B11AAA6A8300B99B32 /* Products */; - ProjectRef = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; - }, - { - ProductGroup = 00C302E01ABCB9EE00DB3ED1 /* Products */; - ProjectRef = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */; - }, - { - ProductGroup = 139FDEE71B06529A00C62182 /* Products */; - ProjectRef = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; - }, - { - ProductGroup = 146834001AC3E56700842450 /* Products */; - ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */; - }, - ); projectRoot = ""; targets = ( - 13B07F861A680F5B00A75B9A /* HelloWorld */, - 38C1415723BBE33000902604 /* HelloWorld-macOS */, + 13B07F861A680F5B00A75B9A /* HelloWorld-iOS */, + 514201482437B4B30078DB4F /* HelloWorld-macOS */, ); }; /* End PBXProject section */ -/* Begin PBXReferenceProxy section */ - 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTActionSheet.a; - remoteRef = 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTImage.a; - remoteRef = 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTNetwork.a; - remoteRef = 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTVibration.a; - remoteRef = 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTSettings.a; - remoteRef = 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTWebSocket.a; - remoteRef = 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 146834041AC3E56700842450 /* libReact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libReact.a; - remoteRef = 146834031AC3E56700842450 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2D16E6721FA4F8DC00B85C8A /* libRCTBlob-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTBlob-tvOS.a"; - remoteRef = 2D16E6711FA4F8DC00B85C8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DF0FFDF2056DD460020B375 /* libjsinspector.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libjsinspector.a; - remoteRef = 2DF0FFDE2056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DF0FFE12056DD460020B375 /* libjsinspector-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libjsinspector-tvOS.a"; - remoteRef = 2DF0FFE02056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DF0FFE32056DD460020B375 /* libthird-party.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libthird-party.a"; - remoteRef = 2DF0FFE22056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DF0FFE52056DD460020B375 /* libthird-party.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libthird-party.a"; - remoteRef = 2DF0FFE42056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DF0FFE72056DD460020B375 /* libdouble-conversion.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libdouble-conversion.a"; - remoteRef = 2DF0FFE62056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 2DF0FFE92056DD460020B375 /* libdouble-conversion.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libdouble-conversion.a"; - remoteRef = 2DF0FFE82056DD460020B375 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 38C1417623BBE33000902604 /* libRCTActionSheet.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTActionSheet.a; - remoteRef = 38C1417523BBE33000902604 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 38C1417B23BBE33000902604 /* libRCTAnimation.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTAnimation.a; - remoteRef = 38C1417A23BBE33000902604 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 38C1418023BBE33000902604 /* libRCTBlob-macOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTBlob-macOS.a"; - remoteRef = 38C1417F23BBE33000902604 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 38C1418523BBE33000902604 /* libRCTImage.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTImage.a; - remoteRef = 38C1418423BBE33000902604 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 38C1418A23BBE33000902604 /* libRCTLinking-macOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTLinking-macOS.a"; - remoteRef = 38C1418923BBE33000902604 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 38C1418F23BBE33000902604 /* libRCTNetwork.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTNetwork.a; - remoteRef = 38C1418E23BBE33000902604 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 38C1419423BBE33000902604 /* libRCTSettings-macOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTSettings-macOS.a"; - remoteRef = 38C1419323BBE33000902604 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 38C1419923BBE33000902604 /* libRCTText.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTText.a; - remoteRef = 38C1419823BBE33000902604 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 38C141A223BBE33000902604 /* libRCTWebSocket.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTWebSocket.a; - remoteRef = 38C141A123BBE33000902604 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 38C141A423BBE33000902604 /* libfishhook.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libfishhook.a; - remoteRef = 38C141A323BBE33000902604 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 38C141A623BBE33000902604 /* libfishhook-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libfishhook-tvOS.a"; - remoteRef = 38C141A523BBE33000902604 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 38C141A823BBE33000902604 /* libfishhook-macOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libfishhook-macOS.a"; - remoteRef = 38C141A723BBE33000902604 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 38C141C223BBE33000902604 /* libReact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libReact.a; - remoteRef = 38C141C123BBE33000902604 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 38C141C423BBE33000902604 /* libyoga.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libyoga.a; - remoteRef = 38C141C323BBE33000902604 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 38C141C623BBE33000902604 /* libcxxreact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libcxxreact.a; - remoteRef = 38C141C523BBE33000902604 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 38C141C823BBE33000902604 /* libjsinspector-macOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libjsinspector-macOS.a"; - remoteRef = 38C141C723BBE33000902604 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 38C141CA23BBE33000902604 /* libthird-party.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libthird-party.a"; - remoteRef = 38C141C923BBE33000902604 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 38C141CC23BBE33000902604 /* libdouble-conversion.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libdouble-conversion.a"; - remoteRef = 38C141CB23BBE33000902604 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 38C141CE23BBE33000902604 /* libjsi-macOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libjsi-macOS.a"; - remoteRef = 38C141CD23BBE33000902604 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 38C141D023BBE33000902604 /* libjsiexecutor-macOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libjsiexecutor-macOS.a"; - remoteRef = 38C141CF23BBE33000902604 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTImage-tvOS.a"; - remoteRef = 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTLinking-tvOS.a"; - remoteRef = 3DAD3E871DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTNetwork-tvOS.a"; - remoteRef = 3DAD3E8B1DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTSettings-tvOS.a"; - remoteRef = 3DAD3E8F1DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTText-tvOS.a"; - remoteRef = 3DAD3E931DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libRCTWebSocket-tvOS.a"; - remoteRef = 3DAD3E981DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3EA31DF850E9000B6D8A /* libReact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libReact.a; - remoteRef = 3DAD3EA21DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3EA51DF850E9000B6D8A /* libyoga.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libyoga.a; - remoteRef = 3DAD3EA41DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3EA71DF850E9000B6D8A /* libyoga.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libyoga.a; - remoteRef = 3DAD3EA61DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3EA91DF850E9000B6D8A /* libcxxreact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libcxxreact.a; - remoteRef = 3DAD3EA81DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libcxxreact.a; - remoteRef = 3DAD3EAA1DF850E9000B6D8A /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DC53983220F2C940035D3A3 /* libjsi.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libjsi.a; - remoteRef = 3DC53982220F2C940035D3A3 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DC53985220F2C940035D3A3 /* libjsiexecutor.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libjsiexecutor.a; - remoteRef = 3DC53984220F2C940035D3A3 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DC53987220F2C940035D3A3 /* libjsi-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libjsi-tvOS.a"; - remoteRef = 3DC53986220F2C940035D3A3 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3DC53989220F2C940035D3A3 /* libjsiexecutor-tvOS.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = "libjsiexecutor-tvOS.a"; - remoteRef = 3DC53988220F2C940035D3A3 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTAnimation.a; - remoteRef = 5E9157321DD0AC6500FF2AA8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTAnimation.a; - remoteRef = 5E9157341DD0AC6500FF2AA8 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 78C398B91ACF4ADC00677621 /* libRCTLinking.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTLinking.a; - remoteRef = 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 832341B51AAA6A8300B99B32 /* libRCTText.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTText.a; - remoteRef = 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libRCTBlob.a; - remoteRef = ADBDB9261DFEBF0700ED6528 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - /* Begin PBXResourcesBuildPhase section */ 13B07F8E1A680F5B00A75B9A /* Resources */ = { isa = PBXResourcesBuildPhase; @@ -1210,11 +213,12 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 38C1416B23BBE33000902604 /* Resources */ = { + 514201472437B4B30078DB4F /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 38C1422223BBE98D00902604 /* Main.storyboard in Resources */, + 514201522437B4B40078DB4F /* Assets.xcassets in Resources */, + 514201552437B4B40078DB4F /* Main.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1233,21 +237,26 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "export NODE_BINARY=node\n../node_modules/react-native-macos/scripts/react-native-xcode.sh\n"; + shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; }; - 38C1416E23BBE33000902604 /* Bundle React Native code and images */ = { + FD10A7F022414F080027D42C /* Start Packager */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( ); - name = "Bundle React Native code and images"; + name = "Start Packager"; + outputFileListPaths = ( + ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "export NODE_BINARY=node\n../node_modules/react-native-macos/scripts/react-native-xcode.sh\n"; + shellScript = "export RCT_METRO_PORT=\"${RCT_METRO_PORT:=8081}\"\necho \"export RCT_METRO_PORT=${RCT_METRO_PORT}\" > \"${SRCROOT}/../node_modules/react-native/scripts/.packager.env\"\nif [ -z \"${RCT_NO_LAUNCH_PACKAGER+xxx}\" ] ; then\n if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then\n if ! curl -s \"http://localhost:${RCT_METRO_PORT}/status\" | grep -q \"packager-status:running\" ; then\n echo \"Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly\"\n exit 2\n fi\n else\n open \"$SRCROOT/../node_modules/react-native/scripts/launchPackager.command\" || echo \"Can't start packager automatically\"\n fi\nfi\n"; + showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -1261,13 +270,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 38C1415A23BBE33000902604 /* Sources */ = { + 514201452437B4B30078DB4F /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 38C1421C23BBE70D00902604 /* ViewController.m in Sources */, - 38C1421823BBE65C00902604 /* AppDelegate.m in Sources */, - 38C1421623BBE5B500902604 /* main.m in Sources */, + 514201502437B4B30078DB4F /* ViewController.m in Sources */, + 514201582437B4B40078DB4F /* main.m in Sources */, + 5142014D2437B4B30078DB4F /* AppDelegate.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1280,7 +289,14 @@ 13B07FB21A68108700A75B9A /* Base */, ); name = LaunchScreen.xib; - path = HelloWorld; + sourceTree = ""; + }; + 514201532437B4B40078DB4F /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 514201542437B4B40078DB4F /* Base */, + ); + name = Main.storyboard; sourceTree = ""; }; /* End PBXVariantGroup section */ @@ -1290,9 +306,14 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = 1; - DEAD_CODE_STRIPPING = NO; - INFOPLIST_FILE = HelloWorld/Info.plist; + ENABLE_BITCODE = NO; + GCC_PREPROCESSOR_DEFINITIONS = ( + "$(inherited)", + "FB_SONARKIT_ENABLED=1", + ); + INFOPLIST_FILE = "HelloWorld-iOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = ( "$(inherited)", @@ -1301,6 +322,8 @@ ); PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = HelloWorld; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; }; name = Debug; @@ -1309,8 +332,9 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = 1; - INFOPLIST_FILE = HelloWorld/Info.plist; + INFOPLIST_FILE = "HelloWorld-iOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = ( "$(inherited)", @@ -1319,11 +343,12 @@ ); PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = HelloWorld; + SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; }; name = Release; }; - 38C1417023BBE33000902604 /* Debug */ = { + 5142015B2437B4B40078DB4F /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; @@ -1340,12 +365,10 @@ PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = HelloWorld; SDKROOT = macosx; - TARGETED_DEVICE_FAMILY = 1; - VERSIONING_SYSTEM = "apple-generic"; }; name = Debug; }; - 38C1417123BBE33000902604 /* Release */ = { + 5142015C2437B4B40078DB4F /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; @@ -1361,8 +384,6 @@ PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = HelloWorld; SDKROOT = macosx; - TARGETED_DEVICE_FAMILY = 1; - VERSIONING_SYSTEM = "apple-generic"; }; name = Release; }; @@ -1370,6 +391,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -1413,6 +435,12 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)"; + LIBRARY_SEARCH_PATHS = ( + "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", + "\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\"", + "\"$(inherited)\"", + ); MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -1423,6 +451,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -1459,6 +488,12 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "/usr/lib/swift $(inherited)"; + LIBRARY_SEARCH_PATHS = ( + "\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"", + "\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.0/$(PLATFORM_NAME)\"", + "\"$(inherited)\"", + ); MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; VALIDATE_PRODUCT = YES; @@ -1468,7 +503,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "HelloWorld" */ = { + 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "HelloWorld-iOS" */ = { isa = XCConfigurationList; buildConfigurations = ( 13B07F941A680F5B00A75B9A /* Debug */, @@ -1477,11 +512,11 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 38C1416F23BBE33000902604 /* Build configuration list for PBXNativeTarget "HelloWorld-macOS" */ = { + 5142015A2437B4B40078DB4F /* Build configuration list for PBXNativeTarget "HelloWorld-macOS" */ = { isa = XCConfigurationList; buildConfigurations = ( - 38C1417023BBE33000902604 /* Debug */, - 38C1417123BBE33000902604 /* Release */, + 5142015B2437B4B40078DB4F /* Debug */, + 5142015C2437B4B40078DB4F /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/local-cli/generator-macos/templates/macos/xcschemes/HelloWorld.xcscheme b/local-cli/generator-macos/templates/macos/HelloWorld.xcodeproj/xcshareddata/xcschemes/HelloWorld-iOS.xcscheme similarity index 76% rename from local-cli/generator-macos/templates/macos/xcschemes/HelloWorld.xcscheme rename to local-cli/generator-macos/templates/macos/HelloWorld.xcodeproj/xcshareddata/xcschemes/HelloWorld-iOS.xcscheme index 3122aec0f38b60..317c45b2b85362 100644 --- a/local-cli/generator-macos/templates/macos/xcschemes/HelloWorld.xcscheme +++ b/local-cli/generator-macos/templates/macos/HelloWorld.xcodeproj/xcshareddata/xcschemes/HelloWorld-iOS.xcscheme @@ -1,25 +1,11 @@ - - - - @@ -60,7 +46,7 @@ BuildableIdentifier = "primary" BlueprintIdentifier = "13B07F861A680F5B00A75B9A" BuildableName = "HelloWorld.app" - BlueprintName = "HelloWorld" + BlueprintName = "HelloWorld-iOS" ReferencedContainer = "container:HelloWorld.xcodeproj"> @@ -77,7 +63,7 @@ BuildableIdentifier = "primary" BlueprintIdentifier = "13B07F861A680F5B00A75B9A" BuildableName = "HelloWorld.app" - BlueprintName = "HelloWorld" + BlueprintName = "HelloWorld-iOS" ReferencedContainer = "container:HelloWorld.xcodeproj"> diff --git a/local-cli/generator-macos/templates/macos/xcschemes/HelloWorld-macOS.xcscheme b/local-cli/generator-macos/templates/macos/HelloWorld.xcodeproj/xcshareddata/xcschemes/HelloWorld-macOS.xcscheme similarity index 70% rename from local-cli/generator-macos/templates/macos/xcschemes/HelloWorld-macOS.xcscheme rename to local-cli/generator-macos/templates/macos/HelloWorld.xcodeproj/xcshareddata/xcschemes/HelloWorld-macOS.xcscheme index 007d86b985b78e..831daf1e283db6 100644 --- a/local-cli/generator-macos/templates/macos/xcschemes/HelloWorld-macOS.xcscheme +++ b/local-cli/generator-macos/templates/macos/HelloWorld.xcodeproj/xcshareddata/xcschemes/HelloWorld-macOS.xcscheme @@ -1,9 +1,9 @@ - - - - @@ -58,8 +44,8 @@ runnableDebuggingMode = "0"> @@ -75,8 +61,8 @@ runnableDebuggingMode = "0"> diff --git a/local-cli/generator-macos/templates/macos/Podfile b/local-cli/generator-macos/templates/macos/Podfile new file mode 100644 index 00000000000000..0a5868f3a81015 --- /dev/null +++ b/local-cli/generator-macos/templates/macos/Podfile @@ -0,0 +1,81 @@ +platform :ios, '9.0' +require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' + +def add_flipper_pods! + version = '~> 0.33.1' + pod 'FlipperKit', version, :configuration => 'Debug' + pod 'FlipperKit/FlipperKitLayoutPlugin', version, :configuration => 'Debug' + pod 'FlipperKit/SKIOSNetworkPlugin', version, :configuration => 'Debug' + pod 'FlipperKit/FlipperKitUserDefaultsPlugin', version, :configuration => 'Debug' + pod 'FlipperKit/FlipperKitReactPlugin', version, :configuration => 'Debug' +end + +# Post Install processing for Flipper +def flipper_post_install(installer) + installer.pods_project.targets.each do |target| + if target.name == 'YogaKit' + target.build_configurations.each do |config| + config.build_settings['SWIFT_VERSION'] = '4.1' + end + end + end +end + +target 'HelloWorld' do + # Pods for HelloWorld + pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector" + pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec" + pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired" + pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety" + pod 'React', :path => '../node_modules/react-native/' + pod 'React-Core', :path => '../node_modules/react-native/' + pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules' + pod 'React-Core/DevSupport', :path => '../node_modules/react-native/' + pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS' + pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation' + pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob' + pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image' + pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS' + pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network' + pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings' + pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text' + pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration' + pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/' + + pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact' + pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi' + pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor' + pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector' + pod 'ReactCommon/callinvoker', :path => "../node_modules/react-native/ReactCommon" + pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon" + pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga', :modular_headers => true + + pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec' + pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec' + pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec' + + target 'HelloWorldTests' do + inherit! :complete + # Pods for testing + end + + use_native_modules! + + # Enables Flipper. + # + # Note that if you have use_frameworks! enabled, Flipper will not work and + # you should disable these next few lines. + add_flipper_pods! + post_install do |installer| + flipper_post_install(installer) + end +end + +target 'HelloWorld-tvOS' do + # Pods for HelloWorld-tvOS + + target 'HelloWorld-tvOSTests' do + inherit! :search_paths + # Pods for testing + end +end From 91fd31dc1d0c7c8b21123178af49c4696f663382 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Tue, 7 Apr 2020 17:47:00 +0200 Subject: [PATCH 2/9] [generator-macos] Make targets build using CP --- React/Modules/RCTUIManager.m | 2 + React/React-Core.podspec | 4 +- local-cli/generator-macos/index.js | 10 +- .../generator-macos/templates/macos/Podfile | 113 ++++++------------ 4 files changed, 49 insertions(+), 80 deletions(-) diff --git a/React/Modules/RCTUIManager.m b/React/Modules/RCTUIManager.m index 359ced43c49e1c..46e6d0482ae5fb 100644 --- a/React/Modules/RCTUIManager.m +++ b/React/Modules/RCTUIManager.m @@ -37,8 +37,10 @@ #endif // TODO(macOS ISS#2323203) #import "RCTShadowView+Internal.h" #import "RCTShadowView.h" +#if !TARGET_OS_OSX // TODO(macOS ISS#2323203) #import "RCTSurfaceRootShadowView.h" #import "RCTSurfaceRootView.h" +#endif // TODO(macOS ISS#2323203) #import "RCTUIManagerObserverCoordinator.h" #import "RCTUIManagerUtils.h" #import "RCTUtils.h" diff --git a/React/React-Core.podspec b/React/React-Core.podspec index 03396f1dc41776..3ecb5f1faeb087 100644 --- a/React/React-Core.podspec +++ b/React/React-Core.podspec @@ -39,11 +39,11 @@ Pod::Spec.new do |s| # TODO(macOS GH#214) "**/MacOS/*" s.osx.exclude_files = "Modules/RCTRedBoxExtraDataViewController.{h,m}", - "Modules/RCTStatusBarManager.*", "UIUtils/*", "Profiler/{RCTFPSGraph,RCTPerfMonitor}.*", "Profiler/RCTProfileTrampoline-{arm,arm64,i386}.S", - "Base/{RCTPlatform,RCTKeyCommands}.*", + "Base/RCTKeyCommands.*", + "Base/RCTPlatform.m", "Base/Surface/SurfaceHostingView/*", "Base/Surface/RCTSurface{,Delegate,Root*}.*", "Base/RCTTV*.*", diff --git a/local-cli/generator-macos/index.js b/local-cli/generator-macos/index.js index 216465fb6e51ce..f39333eed2238b 100644 --- a/local-cli/generator-macos/index.js +++ b/local-cli/generator-macos/index.js @@ -50,6 +50,7 @@ function copyProjectTemplateAndReplace( }; [ + { from: path.join(srcRootPath, macOSDir, 'Podfile'), to: path.join(macOSDir, 'Podfile') }, { from: path.join(srcRootPath, srcDirPath(oldProjectName, 'iOS')), to: srcDirPath(newProjectName, 'iOS') }, { from: path.join(srcRootPath, srcDirPath(oldProjectName, 'macOS')), to: srcDirPath(newProjectName, 'macOS') }, { from: path.join(srcRootPath, pbxprojPath(oldProjectName)), to: pbxprojPath(newProjectName) }, @@ -66,7 +67,7 @@ function copyProjectTemplateAndReplace( ${chalk.blue(`Run instructions for ${chalk.bold('macOS')}`)}: • npx react-native run-macos ${chalk.dim('- or -')} - • Open ${xcodeprojPath(newProjectName)} in Xcode or run "xed -b ${macOSDir}" + • Open ${xcworkspacePath(newProjectName)} in Xcode or run "xed -b ${macOSDir}" • yarn start:macos • Hit the Run button `); @@ -95,6 +96,13 @@ function xcodeprojPath(basename) { return path.join(macOSDir, basename + '.xcodeproj'); } +/** + * @param {string} basename + */ +function xcworkspacePath(basename) { + return path.join(macOSDir, basename + '.xcworkspace'); +} + /** * @param {string} basename */ diff --git a/local-cli/generator-macos/templates/macos/Podfile b/local-cli/generator-macos/templates/macos/Podfile index 0a5868f3a81015..96b9e40c6d1d03 100644 --- a/local-cli/generator-macos/templates/macos/Podfile +++ b/local-cli/generator-macos/templates/macos/Podfile @@ -1,81 +1,40 @@ -platform :ios, '9.0' -require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' - -def add_flipper_pods! - version = '~> 0.33.1' - pod 'FlipperKit', version, :configuration => 'Debug' - pod 'FlipperKit/FlipperKitLayoutPlugin', version, :configuration => 'Debug' - pod 'FlipperKit/SKIOSNetworkPlugin', version, :configuration => 'Debug' - pod 'FlipperKit/FlipperKitUserDefaultsPlugin', version, :configuration => 'Debug' - pod 'FlipperKit/FlipperKitReactPlugin', version, :configuration => 'Debug' -end - -# Post Install processing for Flipper -def flipper_post_install(installer) - installer.pods_project.targets.each do |target| - if target.name == 'YogaKit' - target.build_configurations.each do |config| - config.build_settings['SWIFT_VERSION'] = '4.1' - end - end - end -end - -target 'HelloWorld' do - # Pods for HelloWorld - pod 'FBLazyVector', :path => "../node_modules/react-native/Libraries/FBLazyVector" - pod 'FBReactNativeSpec', :path => "../node_modules/react-native/Libraries/FBReactNativeSpec" - pod 'RCTRequired', :path => "../node_modules/react-native/Libraries/RCTRequired" - pod 'RCTTypeSafety', :path => "../node_modules/react-native/Libraries/TypeSafety" - pod 'React', :path => '../node_modules/react-native/' - pod 'React-Core', :path => '../node_modules/react-native/' - pod 'React-CoreModules', :path => '../node_modules/react-native/React/CoreModules' - pod 'React-Core/DevSupport', :path => '../node_modules/react-native/' - pod 'React-RCTActionSheet', :path => '../node_modules/react-native/Libraries/ActionSheetIOS' - pod 'React-RCTAnimation', :path => '../node_modules/react-native/Libraries/NativeAnimation' - pod 'React-RCTBlob', :path => '../node_modules/react-native/Libraries/Blob' - pod 'React-RCTImage', :path => '../node_modules/react-native/Libraries/Image' - pod 'React-RCTLinking', :path => '../node_modules/react-native/Libraries/LinkingIOS' - pod 'React-RCTNetwork', :path => '../node_modules/react-native/Libraries/Network' - pod 'React-RCTSettings', :path => '../node_modules/react-native/Libraries/Settings' - pod 'React-RCTText', :path => '../node_modules/react-native/Libraries/Text' - pod 'React-RCTVibration', :path => '../node_modules/react-native/Libraries/Vibration' - pod 'React-Core/RCTWebSocket', :path => '../node_modules/react-native/' - - pod 'React-cxxreact', :path => '../node_modules/react-native/ReactCommon/cxxreact' - pod 'React-jsi', :path => '../node_modules/react-native/ReactCommon/jsi' - pod 'React-jsiexecutor', :path => '../node_modules/react-native/ReactCommon/jsiexecutor' - pod 'React-jsinspector', :path => '../node_modules/react-native/ReactCommon/jsinspector' - pod 'ReactCommon/callinvoker', :path => "../node_modules/react-native/ReactCommon" - pod 'ReactCommon/turbomodule/core', :path => "../node_modules/react-native/ReactCommon" - pod 'Yoga', :path => '../node_modules/react-native/ReactCommon/yoga', :modular_headers => true - - pod 'DoubleConversion', :podspec => '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec' - pod 'glog', :podspec => '../node_modules/react-native/third-party-podspecs/glog.podspec' - pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec' - - target 'HelloWorldTests' do - inherit! :complete - # Pods for testing +# require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' + +abstract_target 'Shared' do + # use_native_modules! + + pod 'React', :path => "../node_modules/react-native-macos/" + pod 'React-Core', :path => "../node_modules/react-native-macos/React" + pod 'React-fishhook', :path => "../node_modules/react-native-macos/Libraries/fishhook" + pod 'React-RCTActionSheet', :path => "../node_modules/react-native-macos/Libraries/ActionSheetIOS" + pod 'React-RCTAnimation', :path => "../node_modules/react-native-macos/Libraries/NativeAnimation" + pod 'React-RCTBlob', :path => "../node_modules/react-native-macos/Libraries/Blob" + pod 'React-RCTImage', :path => "../node_modules/react-native-macos/Libraries/Image" + pod 'React-RCTLinking', :path => "../node_modules/react-native-macos/Libraries/LinkingIOS" + pod 'React-RCTNetwork', :path => "../node_modules/react-native-macos/Libraries/Network" + pod 'React-RCTSettings', :path => "../node_modules/react-native-macos/Libraries/Settings" + pod 'React-RCTText', :path => "../node_modules/react-native-macos/Libraries/Text" + pod 'React-RCTVibration', :path => "../node_modules/react-native-macos/Libraries/Vibration" + pod 'React-RCTWebSocket', :path => "../node_modules/react-native-macos/Libraries/WebSocket" + pod 'React-cxxreact', :path => "../node_modules/react-native-macos/ReactCommon/cxxreact" + pod 'React-jscallinvoker', :path => "../node_modules/react-native-macos/ReactCommon/jscallinvoker" + pod 'React-jsi', :path => "../node_modules/react-native-macos/ReactCommon/jsi" + pod 'React-jsiexecutor', :path => "../node_modules/react-native-macos/ReactCommon/jsiexecutor" + pod 'React-jsinspector', :path => "../node_modules/react-native-macos/ReactCommon/jsinspector" + pod 'yoga', :path => "../node_modules/react-native-macos/ReactCommon/yoga" + pod 'DoubleConversion', :podspec => "../node_modules/react-native-macos/third-party-podspecs/DoubleConversion.podspec" + pod 'glog', :podspec => "../node_modules/react-native-macos/third-party-podspecs/glog.podspec" + pod 'Folly', :podspec => "../node_modules/react-native-macos/third-party-podspecs/Folly.podspec" + pod 'boost-for-react-native', :podspec => "../node_modules/react-native-macos/third-party-podspecs/boost-for-react-native.podspec" + pod 'React-DevSupport', :path => "../node_modules/react-native-macos/React" + + target 'HelloWorld-macOS' do + platform :macos, '10.14' + # Pods specifically for macOS target end - use_native_modules! - - # Enables Flipper. - # - # Note that if you have use_frameworks! enabled, Flipper will not work and - # you should disable these next few lines. - add_flipper_pods! - post_install do |installer| - flipper_post_install(installer) - end -end - -target 'HelloWorld-tvOS' do - # Pods for HelloWorld-tvOS - - target 'HelloWorld-tvOSTests' do - inherit! :search_paths - # Pods for testing + target 'HelloWorld-iOS' do + platform :ios, '9' + # Pods specifically for iOS target end end From bb8f3d42ab49ee94e2932ac4451244c083916f19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Tue, 7 Apr 2020 17:48:44 +0200 Subject: [PATCH 3/9] [generator-macos] Give macOS app localhost access --- .../macos/HelloWorld-macOS/HelloWorld.entitlements | 10 ++++++---- .../templates/macos/HelloWorld-macOS/Info.plist | 5 +++++ 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/local-cli/generator-macos/templates/macos/HelloWorld-macOS/HelloWorld.entitlements b/local-cli/generator-macos/templates/macos/HelloWorld-macOS/HelloWorld.entitlements index f2ef3ae0265b40..625af03d99b2ea 100644 --- a/local-cli/generator-macos/templates/macos/HelloWorld-macOS/HelloWorld.entitlements +++ b/local-cli/generator-macos/templates/macos/HelloWorld-macOS/HelloWorld.entitlements @@ -2,9 +2,11 @@ - com.apple.security.app-sandbox - - com.apple.security.files.user-selected.read-only - + com.apple.security.app-sandbox + + com.apple.security.files.user-selected.read-only + + com.apple.security.network.client + diff --git a/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Info.plist b/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Info.plist index e87993de178447..307942c56fa6c6 100644 --- a/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Info.plist +++ b/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Info.plist @@ -2,6 +2,11 @@ + NSAppTransportSecurity + + NSAllowsLocalNetworking + + CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleExecutable From a296e60530a38beef22fe8c9bba497e950a07fb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Tue, 7 Apr 2020 20:23:19 +0200 Subject: [PATCH 4/9] [generator-macos] Update pbxproj after pod install --- .../HelloWorld.xcodeproj/project.pbxproj | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/local-cli/generator-macos/templates/macos/HelloWorld.xcodeproj/project.pbxproj b/local-cli/generator-macos/templates/macos/HelloWorld.xcodeproj/project.pbxproj index 20c247a0c947c3..a532e9160d7ab4 100644 --- a/local-cli/generator-macos/templates/macos/HelloWorld.xcodeproj/project.pbxproj +++ b/local-cli/generator-macos/templates/macos/HelloWorld.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 0496A360A6F874C295C73D4B /* libPods-Shared-HelloWorld-macOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C8DBC48FD7C3AEF576C57B21 /* libPods-Shared-HelloWorld-macOS.a */; }; 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; }; 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; @@ -16,10 +17,12 @@ 514201522437B4B40078DB4F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 514201512437B4B40078DB4F /* Assets.xcassets */; }; 514201552437B4B40078DB4F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 514201532437B4B40078DB4F /* Main.storyboard */; }; 514201582437B4B40078DB4F /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 514201572437B4B40078DB4F /* main.m */; }; + B5C72D9C27A1E1D711C050EF /* libPods-Shared-HelloWorld-iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = FB6EED1BDEABADF047CC5223 /* libPods-Shared-HelloWorld-iOS.a */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ 008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = ""; }; + 02422F9FB6FF5F34B4E63E6F /* Pods-Shared-HelloWorld-macOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Shared-HelloWorld-macOS.debug.xcconfig"; path = "Target Support Files/Pods-Shared-HelloWorld-macOS/Pods-Shared-HelloWorld-macOS.debug.xcconfig"; sourceTree = ""; }; 13B07F961A680F5B00A75B9A /* HelloWorld.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = HelloWorld.app; sourceTree = BUILT_PRODUCTS_DIR; }; 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; @@ -37,8 +40,13 @@ 514201562437B4B40078DB4F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 514201572437B4B40078DB4F /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 514201592437B4B40078DB4F /* HelloWorld.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = HelloWorld.entitlements; sourceTree = ""; }; + 9D32DFD059D5DB6DDEF38881 /* Pods-Shared-HelloWorld-iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Shared-HelloWorld-iOS.debug.xcconfig"; path = "Target Support Files/Pods-Shared-HelloWorld-iOS/Pods-Shared-HelloWorld-iOS.debug.xcconfig"; sourceTree = ""; }; + A82DFB63B157C65E5D698CA2 /* Pods-Shared-HelloWorld-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Shared-HelloWorld-iOS.release.xcconfig"; path = "Target Support Files/Pods-Shared-HelloWorld-iOS/Pods-Shared-HelloWorld-iOS.release.xcconfig"; sourceTree = ""; }; + C8DBC48FD7C3AEF576C57B21 /* libPods-Shared-HelloWorld-macOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Shared-HelloWorld-macOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; + CE0E74F571E1F48FF00A8324 /* Pods-Shared-HelloWorld-macOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Shared-HelloWorld-macOS.release.xcconfig"; path = "Target Support Files/Pods-Shared-HelloWorld-macOS/Pods-Shared-HelloWorld-macOS.release.xcconfig"; sourceTree = ""; }; ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; }; 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; }; + FB6EED1BDEABADF047CC5223 /* libPods-Shared-HelloWorld-iOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Shared-HelloWorld-iOS.a"; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -46,6 +54,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + B5C72D9C27A1E1D711C050EF /* libPods-Shared-HelloWorld-iOS.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -53,6 +62,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 0496A360A6F874C295C73D4B /* libPods-Shared-HelloWorld-macOS.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -73,11 +83,25 @@ path = "HelloWorld-iOS"; sourceTree = ""; }; + 1986A43FA6A91CFACDF0A798 /* Pods */ = { + isa = PBXGroup; + children = ( + 9D32DFD059D5DB6DDEF38881 /* Pods-Shared-HelloWorld-iOS.debug.xcconfig */, + A82DFB63B157C65E5D698CA2 /* Pods-Shared-HelloWorld-iOS.release.xcconfig */, + 02422F9FB6FF5F34B4E63E6F /* Pods-Shared-HelloWorld-macOS.debug.xcconfig */, + CE0E74F571E1F48FF00A8324 /* Pods-Shared-HelloWorld-macOS.release.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { isa = PBXGroup; children = ( ED297162215061F000B7C4FE /* JavaScriptCore.framework */, ED2971642150620600B7C4FE /* JavaScriptCore.framework */, + FB6EED1BDEABADF047CC5223 /* libPods-Shared-HelloWorld-iOS.a */, + C8DBC48FD7C3AEF576C57B21 /* libPods-Shared-HelloWorld-macOS.a */, ); name = Frameworks; sourceTree = ""; @@ -113,6 +137,7 @@ 832341AE1AAA6A7D00B99B32 /* Libraries */, 83CBBA001A601CBA00E9B192 /* Products */, 2D16E6871FA4F8E400B85C8A /* Frameworks */, + 1986A43FA6A91CFACDF0A798 /* Pods */, ); indentWidth = 2; sourceTree = ""; @@ -135,6 +160,7 @@ isa = PBXNativeTarget; buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "HelloWorld-iOS" */; buildPhases = ( + 7BC40D98CAD1562CFD247217 /* [CP] Check Pods Manifest.lock */, FD10A7F022414F080027D42C /* Start Packager */, 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, @@ -154,6 +180,7 @@ isa = PBXNativeTarget; buildConfigurationList = 5142015A2437B4B40078DB4F /* Build configuration list for PBXNativeTarget "HelloWorld-macOS" */; buildPhases = ( + 1A938104A937498D81B3BD3B /* [CP] Check Pods Manifest.lock */, 514201452437B4B30078DB4F /* Sources */, 514201462437B4B30078DB4F /* Frameworks */, 514201472437B4B30078DB4F /* Resources */, @@ -239,6 +266,50 @@ shellPath = /bin/sh; shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; }; + 1A938104A937498D81B3BD3B /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Shared-HelloWorld-macOS-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 7BC40D98CAD1562CFD247217 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Shared-HelloWorld-iOS-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; FD10A7F022414F080027D42C /* Start Packager */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -304,6 +375,7 @@ /* Begin XCBuildConfiguration section */ 13B07F941A680F5B00A75B9A /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 9D32DFD059D5DB6DDEF38881 /* Pods-Shared-HelloWorld-iOS.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; @@ -330,6 +402,7 @@ }; 13B07F951A680F5B00A75B9A /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = A82DFB63B157C65E5D698CA2 /* Pods-Shared-HelloWorld-iOS.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; @@ -350,6 +423,7 @@ }; 5142015B2437B4B40078DB4F /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 02422F9FB6FF5F34B4E63E6F /* Pods-Shared-HelloWorld-macOS.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CURRENT_PROJECT_VERSION = 1; @@ -370,6 +444,7 @@ }; 5142015C2437B4B40078DB4F /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = CE0E74F571E1F48FF00A8324 /* Pods-Shared-HelloWorld-macOS.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CURRENT_PROJECT_VERSION = 1; From 87d589d3962f6203a0bbdb2b37f45115c0cc4377 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Tue, 7 Apr 2020 20:47:28 +0200 Subject: [PATCH 5/9] [generator-macos] Remove last refs to Flipper --- .../macos/HelloWorld-iOS/AppDelegate.m | 23 ------------------- .../HelloWorld.xcodeproj/project.pbxproj | 5 ---- 2 files changed, 28 deletions(-) diff --git a/local-cli/generator-macos/templates/macos/HelloWorld-iOS/AppDelegate.m b/local-cli/generator-macos/templates/macos/HelloWorld-iOS/AppDelegate.m index c680572d44cce3..e5f1fac421b602 100644 --- a/local-cli/generator-macos/templates/macos/HelloWorld-iOS/AppDelegate.m +++ b/local-cli/generator-macos/templates/macos/HelloWorld-iOS/AppDelegate.m @@ -4,33 +4,10 @@ #import #import -#if DEBUG -#import -#import -#import -#import -#import -#import - -static void InitializeFlipper(UIApplication *application) { - FlipperClient *client = [FlipperClient sharedClient]; - SKDescriptorMapper *layoutDescriptorMapper = [[SKDescriptorMapper alloc] initWithDefaults]; - [client addPlugin:[[FlipperKitLayoutPlugin alloc] initWithRootNode:application withDescriptorMapper:layoutDescriptorMapper]]; - [client addPlugin:[[FKUserDefaultsPlugin alloc] initWithSuiteName:nil]]; - [client addPlugin:[FlipperKitReactPlugin new]]; - [client addPlugin:[[FlipperKitNetworkPlugin alloc] initWithNetworkAdapter:[SKIOSNetworkAdapter new]]]; - [client start]; -} -#endif - @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { -#if DEBUG - InitializeFlipper(application); -#endif - RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions]; RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge moduleName:@"HelloWorld" diff --git a/local-cli/generator-macos/templates/macos/HelloWorld.xcodeproj/project.pbxproj b/local-cli/generator-macos/templates/macos/HelloWorld.xcodeproj/project.pbxproj index a532e9160d7ab4..5f328783a8d20b 100644 --- a/local-cli/generator-macos/templates/macos/HelloWorld.xcodeproj/project.pbxproj +++ b/local-cli/generator-macos/templates/macos/HelloWorld.xcodeproj/project.pbxproj @@ -91,7 +91,6 @@ 02422F9FB6FF5F34B4E63E6F /* Pods-Shared-HelloWorld-macOS.debug.xcconfig */, CE0E74F571E1F48FF00A8324 /* Pods-Shared-HelloWorld-macOS.release.xcconfig */, ); - name = Pods; path = Pods; sourceTree = ""; }; @@ -381,10 +380,6 @@ CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = 1; ENABLE_BITCODE = NO; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(inherited)", - "FB_SONARKIT_ENABLED=1", - ); INFOPLIST_FILE = "HelloWorld-iOS/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = ( From 53ea1c5710e377d05de2958bebd4bf518ad8686a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Tue, 14 Apr 2020 20:12:04 +0200 Subject: [PATCH 6/9] [generator-macos] Revert some unneeded changes --- local-cli/generator-common/index.js | 2 +- local-cli/generator-macos/index.js | 3 ++- .../templates/macos/HelloWorld-iOS/Info.plist | 2 +- .../Base.lproj/Main.storyboard | 2 +- .../macos/HelloWorld-macOS/Info.plist | 18 +++++++++++++----- .../templates/macos/HelloWorld-macOS/main.m | 2 +- 6 files changed, 19 insertions(+), 10 deletions(-) diff --git a/local-cli/generator-common/index.js b/local-cli/generator-common/index.js index d2aa85f8fe5a0f..99d7b60b6ad7a5 100644 --- a/local-cli/generator-common/index.js +++ b/local-cli/generator-common/index.js @@ -1,7 +1,7 @@ // @ts-check const fs = require('fs'); -const chalk = require('chalk').default; +const chalk = require('chalk'); const path = require('path'); const copyAndReplace = require('@react-native-community/cli/build/tools/copyAndReplace').default; const walk = require('@react-native-community/cli/build/tools/walk').default; diff --git a/local-cli/generator-macos/index.js b/local-cli/generator-macos/index.js index f39333eed2238b..2c0eab2381c73f 100644 --- a/local-cli/generator-macos/index.js +++ b/local-cli/generator-macos/index.js @@ -2,7 +2,7 @@ 'use strict'; -const chalk = require('chalk').default; +const chalk = require('chalk'); const path = require('path'); const childProcess = require('child_process'); const fs = require('fs'); @@ -65,6 +65,7 @@ function copyProjectTemplateAndReplace( console.log(` ${chalk.blue(`Run instructions for ${chalk.bold('macOS')}`)}: + • cd macos && pod install && cd .. • npx react-native run-macos ${chalk.dim('- or -')} • Open ${xcworkspacePath(newProjectName)} in Xcode or run "xed -b ${macOSDir}" diff --git a/local-cli/generator-macos/templates/macos/HelloWorld-iOS/Info.plist b/local-cli/generator-macos/templates/macos/HelloWorld-iOS/Info.plist index 20f7dd5114c9c5..33abc1fa3b5bc3 100644 --- a/local-cli/generator-macos/templates/macos/HelloWorld-iOS/Info.plist +++ b/local-cli/generator-macos/templates/macos/HelloWorld-iOS/Info.plist @@ -5,7 +5,7 @@ CFBundleDevelopmentRegion en CFBundleDisplayName - Hello App Display Name + $(PRODUCT_NAME) CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier diff --git a/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Base.lproj/Main.storyboard b/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Base.lproj/Main.storyboard index 5d1fc777e3c217..d9368e32a40eae 100644 --- a/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Base.lproj/Main.storyboard +++ b/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Base.lproj/Main.storyboard @@ -683,7 +683,7 @@ - + diff --git a/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Info.plist b/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Info.plist index 307942c56fa6c6..5c7ebb7802012c 100644 --- a/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Info.plist +++ b/local-cli/generator-macos/templates/macos/HelloWorld-macOS/Info.plist @@ -2,11 +2,6 @@ - NSAppTransportSecurity - - NSAllowsLocalNetworking - - CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleExecutable @@ -27,6 +22,19 @@ 1 LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + NSExceptionDomains + + localhost + + NSExceptionAllowsInsecureHTTPLoads + + + + NSMainStoryboardFile Main NSPrincipalClass diff --git a/local-cli/generator-macos/templates/macos/HelloWorld-macOS/main.m b/local-cli/generator-macos/templates/macos/HelloWorld-macOS/main.m index 8b56870cecaeee..1f154fcf69b005 100644 --- a/local-cli/generator-macos/templates/macos/HelloWorld-macOS/main.m +++ b/local-cli/generator-macos/templates/macos/HelloWorld-macOS/main.m @@ -1,5 +1,5 @@ #import -int main(int argc, const char * argv[]) { +int main(int argc, const char *argv[]) { return NSApplicationMain(argc, argv); } From 7f1f035b834e8a8c4f76532a8740cb8d0682a42e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Tue, 14 Apr 2020 21:29:03 +0200 Subject: [PATCH 7/9] [CI] Run pod install before run-macos --- .ado/templates/react-native-macos-init.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.ado/templates/react-native-macos-init.yml b/.ado/templates/react-native-macos-init.yml index 73a00785bb1564..e028331058c035 100644 --- a/.ado/templates/react-native-macos-init.yml +++ b/.ado/templates/react-native-macos-init.yml @@ -96,6 +96,12 @@ steps: script: npx react-native-macos-init --version latest --overwrite --prerelease workingDirectory: $(Agent.BuildDirectory)/testcli + - task: CmdLine@2 + displayName: Install pods + inputs: + script: pod install + workingDirectory: $(Agent.BuildDirectory)/testcli/macos + - task: CmdLine@2 displayName: Run macos inputs: From 880787ae7974e812efb40b2b294fddd5c246c0e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Tue, 14 Apr 2020 22:17:12 +0200 Subject: [PATCH 8/9] [CLI] No longer use legacy build system --- local-cli/runMacOS/runMacOS.js | 1 - 1 file changed, 1 deletion(-) diff --git a/local-cli/runMacOS/runMacOS.js b/local-cli/runMacOS/runMacOS.js index eded6de85f7c87..b2685d9602ce50 100644 --- a/local-cli/runMacOS/runMacOS.js +++ b/local-cli/runMacOS/runMacOS.js @@ -109,7 +109,6 @@ function buildProject(xcodeProject, scheme, args) { args.configuration, '-scheme', scheme, - '-UseModernBuildSystem=NO', ]; logger.info( `Building ${chalk.dim( From 4e068db07b1f13ac9a3997d6ecc2fede2e1ed16f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eloy=20Dur=C3=A1n?= Date: Tue, 14 Apr 2020 23:37:12 +0200 Subject: [PATCH 9/9] [CLI] Don't try to parse build output --- local-cli/runMacOS/runMacOS.js | 96 ++++++++++++++-------------------- 1 file changed, 39 insertions(+), 57 deletions(-) diff --git a/local-cli/runMacOS/runMacOS.js b/local-cli/runMacOS/runMacOS.js index b2685d9602ce50..88504f6bedfa0b 100644 --- a/local-cli/runMacOS/runMacOS.js +++ b/local-cli/runMacOS/runMacOS.js @@ -58,23 +58,26 @@ function runMacOS(_, ctx, args) { * @param {{configuration: string, scheme?: string, projectPath: string, packager: boolean, verbose: boolean, port: number, terminal: string | undefined}} args */ async function run(xcodeProject, scheme, args) { - const appName = await buildProject(xcodeProject, scheme, args); + await buildProject(xcodeProject, scheme, args); - const appPath = getBuildPath( + const buildSettings = getBuildSettings( xcodeProject, args.configuration, - appName, scheme, ); + const appPath = path.join( + buildSettings.TARGET_BUILD_DIR, + buildSettings.FULL_PRODUCT_NAME, + ); + const infoPlistPath = path.join( + buildSettings.TARGET_BUILD_DIR, + buildSettings.INFOPLIST_PATH, + ); const bundleID = child_process .execFileSync( '/usr/libexec/PlistBuddy', - [ - '-c', - 'Print:CFBundleIdentifier', - path.join(appPath, 'Contents/Info.plist'), - ], + ['-c', 'Print:CFBundleIdentifier', infoPlistPath], {encoding: 'utf8'}, ) .trim(); @@ -167,67 +170,46 @@ function buildProject(xcodeProject, scheme, args) { ); return; } - resolve(getProductName(buildOutput) || scheme); + resolve(); }); }); } -/** - * @param {string} buildSettings - */ -function getTargetBuildDir(buildSettings) { - const settings = JSON.parse(buildSettings); - - // Find app in all building settings - look for WRAPPER_EXTENSION: 'app', - for (const i in settings) { - const wrapperExtension = settings[i].buildSettings.WRAPPER_EXTENSION; - if (wrapperExtension === 'app') { - return settings[i].buildSettings.TARGET_BUILD_DIR; - } - } - - return null; -} - /** * @param {{name: string, isWorkspace: boolean}} xcodeProject * @param {string} configuration - * @param {string} appName * @param {string} scheme + * @returns {{ FULL_PRODUCT_NAME: string, INFOPLIST_PATH: string, TARGET_BUILD_DIR: string }} */ -function getBuildPath(xcodeProject, configuration, appName, scheme) { - const buildSettings = child_process.execFileSync( - 'xcodebuild', - [ - xcodeProject.isWorkspace ? '-workspace' : '-project', - xcodeProject.name, - '-scheme', - scheme, - '-sdk', - 'macosx', - '-configuration', - configuration, - '-showBuildSettings', - '-json', - ], - {encoding: 'utf8'}, +function getBuildSettings(xcodeProject, configuration, scheme) { + const settings = JSON.parse( + child_process.execFileSync( + 'xcodebuild', + [ + xcodeProject.isWorkspace ? '-workspace' : '-project', + xcodeProject.name, + '-scheme', + scheme, + '-sdk', + 'macosx', + '-configuration', + configuration, + '-showBuildSettings', + '-json', + ], + {encoding: 'utf8'}, + ), ); - const targetBuildDir = getTargetBuildDir(buildSettings); - if (!targetBuildDir) { - throw new CLIError('Failed to get the target build directory.'); - } - return `${targetBuildDir}/${appName}.app`; -} + // Find app in all building settings - look for WRAPPER_EXTENSION: 'app', + for (const i in settings) { + const appSettings = settings[i].buildSettings; + if (appSettings.WRAPPER_EXTENSION === 'app') { + return appSettings; + } + } -/** - * @param {string} buildOutput - */ -function getProductName(buildOutput) { - const productNameMatch = /export FULL_PRODUCT_NAME="?(.+).app"?$/m.exec( - buildOutput, - ); - return productNameMatch ? productNameMatch[1] : null; + throw new CLIError('Failed to get the target build settings.'); } function xcprettyAvailable() {