diff --git a/.gitignore b/.gitignore --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ lib/node_modules native/cpp/CommonCpp/CryptoTools/opaque-ke-cxx/target +native/cpp/CommonCpp/grpc/grpc_client/target web/node_modules web/dist diff --git a/native/cpp/CommonCpp/grpc/grpc_client/build.rs b/native/cpp/CommonCpp/grpc/grpc_client/build.rs --- a/native/cpp/CommonCpp/grpc/grpc_client/build.rs +++ b/native/cpp/CommonCpp/grpc/grpc_client/build.rs @@ -1,5 +1,5 @@ fn main() { - tonic_build::compile_protos("../protos/identity.proto") + tonic_build::compile_protos("../../../../../shared/protos/identity.proto") .unwrap_or_else(|e| panic!("Failed to compile protos {:?}", e)); let _cxx_build = cxx_build::bridge("src/lib.rs").flag_if_supported("-std=c++11"); diff --git a/native/ios/Comm.xcodeproj/project.pbxproj b/native/ios/Comm.xcodeproj/project.pbxproj --- a/native/ios/Comm.xcodeproj/project.pbxproj +++ b/native/ios/Comm.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -39,6 +39,8 @@ 7F8D602326535E060053CB29 /* OpenSans-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7F8D602026535E060053CB29 /* OpenSans-Regular.ttf */; }; 7F8D602826535F240053CB29 /* IBMPlexSans-Bold.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7F8D602726535EEE0053CB29 /* IBMPlexSans-Bold.ttf */; }; 7F8D602926535F2A0053CB29 /* IBMPlexSans-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7F8D602626535EEE0053CB29 /* IBMPlexSans-Regular.ttf */; }; + 8B3EE8BE28C7C3AA00C8303A /* lib.rs.cc in Sources */ = {isa = PBXBuildFile; fileRef = 8B3EE8BD28C7C3AA00C8303A /* lib.rs.cc */; }; + 8BF9F24D28B7943000E20C13 /* libgrpc_client.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BF9F24C28B7943000E20C13 /* libgrpc_client.a */; }; B7162ABD28AAD461006588D3 /* CommIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B7162ABC28AAD461006588D3 /* CommIcons.ttf */; }; B71AFF1F265EDD8600B22352 /* IBMPlexSans-Medium.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B71AFF1E265EDD8600B22352 /* IBMPlexSans-Medium.ttf */; }; B734D11028ADD55200570D04 /* SWMansionIcons.ttf in Resources */ = {isa = PBXBuildFile; fileRef = B734D10F28ADD55200570D04 /* SWMansionIcons.ttf */; }; @@ -174,6 +176,8 @@ 7FCEA2DC2444010B004017B1 /* Comm-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Comm-Bridging-Header.h"; sourceTree = ""; }; 7FCFD8BD1E81B8DF00629B0E /* Comm.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = Comm.entitlements; path = Comm/Comm.entitlements; sourceTree = ""; }; 891D1495EE1F375F3AF6C7ED /* Pods-NotificationService.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NotificationService.debug.xcconfig"; path = "Target Support Files/Pods-NotificationService/Pods-NotificationService.debug.xcconfig"; sourceTree = ""; }; + 8B3EE8BD28C7C3AA00C8303A /* lib.rs.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = lib.rs.cc; path = grpc_client/lib.rs.cc; sourceTree = ""; }; + 8BF9F24C28B7943000E20C13 /* libgrpc_client.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libgrpc_client.a; path = ../cpp/CommonCpp/grpc/grpc_client/target/universal/release/libgrpc_client.a; sourceTree = ""; }; 913E5A7BDECB327E3DE11053 /* Pods-NotificationService.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-NotificationService.release.xcconfig"; path = "Target Support Files/Pods-NotificationService/Pods-NotificationService.release.xcconfig"; sourceTree = ""; }; 994BEBDD4E4959F69CEA0BC3 /* libPods-Comm.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Comm.a"; sourceTree = BUILT_PRODUCTS_DIR; }; B7055C6B26E477CF00BE0548 /* MessageStoreOperations.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MessageStoreOperations.h; sourceTree = ""; }; @@ -230,6 +234,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 8BF9F24D28B7943000E20C13 /* libgrpc_client.a in Frameworks */, 7F761E602201141E001B6FB7 /* JavaScriptCore.framework in Frameworks */, D7DB6E0F85B2DBE15B01EC21 /* libPods-Comm.a in Frameworks */, ); @@ -308,6 +313,7 @@ 718A3C0426F22BD100F04A8D /* grpc */ = { isa = PBXGroup; children = ( + 8B3EE8BD28C7C3AA00C8303A /* lib.rs.cc */, 71009A7926FDCD71002C8453 /* Client.cpp */, 71009A7A26FDCD71002C8453 /* Client.h */, B7BEE744279B3E20009CCA35 /* GRPCStreamHostObject.cpp */, @@ -472,6 +478,7 @@ 7FF0870B1E833C3F000A1ACF /* Frameworks */ = { isa = PBXGroup; children = ( + 8BF9F24C28B7943000E20C13 /* libgrpc_client.a */, CB3C621327CE66540054F24C /* libEXSecureStore.a */, 724995FA27BA9E8C00323FCE /* UserNotifications.framework */, 711CF80E25DC096000A00FBD /* libFolly.a */, @@ -637,6 +644,7 @@ buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "Comm" */; buildPhases = ( 02DE093B3C1DDF10C1FA3E9C /* [CP] Check Pods Manifest.lock */, + 8BF9F24E28B795E200E20C13 /* Build Rust library */, 13B07F871A680F5B00A75B9A /* Sources */, 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, @@ -644,6 +652,7 @@ DB38BFA0686C805CE44F051F /* [CP] Copy Pods Resources */, EA2E8897D838D7F3E680EACE /* [CP] Embed Pods Frameworks */, 724995DA27B4103A00323FCE /* Embed App Extensions */, + 8BFD334828CBC1910091411F /* Clean up generated CXX files */, ); buildRules = ( ); @@ -852,6 +861,45 @@ 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; }; + 8BF9F24E28B795E200E20C13 /* Build Rust library */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Build Rust library"; + outputFileListPaths = ( + ); + outputPaths = ( + "${SRCROOT}/../cpp/CommonCpp/grpc/grpc_client/lib.rs.cc", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "#!/bin/bash\nset -x\n# The $PATH used by Xcode likely won't contain Cargo, fix that.\n# In addition, the $PATH used by XCode has lots of Apple-specific\n# developer tools that your Cargo isn't expecting to use, fix that.\n# Note: This assumes a default `rustup` setup and default path.\nbuild_path=\"$HOME/.cargo/bin:/usr/local/bin:/usr/bin:/bin\"\n# cd to Cargo project\ncd ${SRCROOT}/../cpp/CommonCpp/grpc/grpc_client\n# Add iOS targets for cross-compilation\nenv PATH=\"${build_path}\" rustup target add aarch64-apple-ios\nenv PATH=\"${build_path}\" rustup target add x86_64-apple-ios\n# Install cargo lipo\nenv PATH=\"${build_path}\" cargo install cargo-lipo\n# Build cxx bridge\nenv PATH=\"${build_path}\" cargo build\n# Build universal static library (works on simulator and iOS)\nenv PATH=\"${build_path}\" cargo lipo --release \"${build_args[@]}\"\n# Copy the .cc file to the cargo project root to make it available\n# to XCode\ncp $(readlink target/cxxbridge/grpc_client/src/lib.rs.cc) .\n"; + }; + 8BFD334828CBC1910091411F /* Clean up generated CXX files */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Clean up generated CXX files"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "#!/bin/bash\nset -x\n# cd to Cargo project\ncd ${SRCROOT}/../cpp/CommonCpp/grpc/grpc_client\n# Remove the generated files from root of Cargo project\nrm lib.rs.cc\n"; + }; DB38BFA0686C805CE44F051F /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -962,6 +1010,7 @@ CB38B48228771C7A00171182 /* NonBlockingLock.mm in Sources */, B7BEE749279B3FB6009CCA35 /* GRPCStreamHostObject.cpp in Sources */, 718DE99E2653D41C00365824 /* WorkerThread.cpp in Sources */, + 8B3EE8BE28C7C3AA00C8303A /* lib.rs.cc in Sources */, 71CA4AEC262F236100835C89 /* Tools.mm in Sources */, 71009A7B26FDCD72002C8453 /* Client.cpp in Sources */, 71762A75270D8AAE00F565ED /* PlatformSpecificTools.mm in Sources */, @@ -1065,10 +1114,106 @@ "$(inherited)", "$(SRCROOT)/../node_modules/react-native/Libraries/LinkingIOS", "$(PODS_ROOT)/boost-for-react-native", + "$(SRCROOT)/../cpp/CommonCpp/grpc/grpc_client/target/cxxbridge/**", ); INFOPLIST_FILE = Comm/Info.debug.plist; IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/DVAssetLoaderDelegate\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/DoubleConversion\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/EXApplication\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/EXConstants\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/EXFont\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/EXHaptics\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/EXImageLoader\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/EXImageManipulator\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/EXKeepAwake\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/EXSecureStore\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/ExpoModulesCore\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FBReactNativeSpec\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Flipper\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Flipper-Boost-iOSX\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Flipper-DoubleConversion\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Flipper-Fmt\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Flipper-Folly\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Flipper-Glog\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Flipper-PeerTalk\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Flipper-RSocket\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FlipperKit\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/OLMKit\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Protobuf-C++\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RCT-Folly\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RCTTypeSafety\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNCAsyncStorage\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNCClipboard\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNCMaskedView\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNDeviceInfo\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNExitApp\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNFS\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNFastImage\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNGestureHandler\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNKeychain\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNReanimated\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNSVG\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNScreens\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNVectorIcons\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Core\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-CoreModules\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTAnimation\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTBlob\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTImage\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTLinking\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTNetwork\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTSettings\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTText\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTVibration\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-hermes\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsi\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsiexecutor\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsinspector\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-logger\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-perflogger\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeART\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeDarkMode\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeKeyboardInput\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeKeyboardTrackingView\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/SDWebImageWebPCoder\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/SPTPersistentCache\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher-Amalgamation\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Yoga\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/YogaKit\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/abseil\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/fmt\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/gRPC-C++\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/gRPC-Core\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/glog\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/libevent\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/libwebp\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/lottie-react-native\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-background-upload\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-camera\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-ffmpeg\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-flipper\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-in-app-message\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-netinfo\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-notifications\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-orientation-locker\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-safe-area-context\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-video\"", + /usr/lib/swift, + "$(SRCROOT)/../cpp/CommonCpp/grpc/grpc_client/target/universal/release", + ); OTHER_CPLUSPLUSFLAGS = ( "-DFOLLY_MOBILE=1", "-DFOLLY_NO_CONFIG", @@ -1114,10 +1259,97 @@ "$(inherited)", "$(SRCROOT)/../node_modules/react-native/Libraries/LinkingIOS", "$(PODS_ROOT)/boost-for-react-native", + "$(SRCROOT)/../cpp/CommonCpp/grpc/grpc_client/target/cxxbridge/**", ); INFOPLIST_FILE = Comm/Info.release.plist; IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "\"${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/CocoaAsyncSocket\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/DVAssetLoaderDelegate\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/DoubleConversion\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/EXApplication\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/EXConstants\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/EXFont\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/EXHaptics\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/EXImageLoader\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/EXImageManipulator\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/EXKeepAwake\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/EXSecureStore\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/ExpoModulesCore\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/FBReactNativeSpec\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/OLMKit\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Protobuf-C++\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RCT-Folly\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RCTTypeSafety\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNCAsyncStorage\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNCClipboard\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNCMaskedView\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNDeviceInfo\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNExitApp\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNFS\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNFastImage\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNGestureHandler\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNKeychain\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNReanimated\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNSVG\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNScreens\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/RNVectorIcons\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-Core\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-CoreModules\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTAnimation\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTBlob\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTImage\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTLinking\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTNetwork\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTSettings\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTText\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-RCTVibration\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-cxxreact\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-hermes\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsi\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsiexecutor\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-jsinspector\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-logger\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/React-perflogger\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/ReactCommon\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeART\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeDarkMode\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeKeyboardInput\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/ReactNativeKeyboardTrackingView\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/SDWebImageWebPCoder\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/SPTPersistentCache\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/SQLCipher-Amalgamation\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/Yoga\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/YogaKit\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/abseil\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/fmt\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/gRPC-C++\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/gRPC-Core\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/glog\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/libevent\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/libwebp\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/lottie-react-native\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-background-upload\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-camera\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-ffmpeg\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-flipper\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-in-app-message\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-netinfo\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-notifications\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-orientation-locker\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-safe-area-context\"", + "\"${PODS_CONFIGURATION_BUILD_DIR}/react-native-video\"", + /usr/lib/swift, + "$(SRCROOT)/../cpp/CommonCpp/grpc/grpc_client/target/universal/release", + ); ONLY_ACTIVE_ARCH = YES; OTHER_CPLUSPLUSFLAGS = ( "-DFOLLY_MOBILE=1", @@ -1165,14 +1397,23 @@ ); INFOPLIST_FILE = CommTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 14.5; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = swm.CommTests; PRODUCT_NAME = "$(TARGET_NAME)"; TARGETED_DEVICE_FAMILY = "1,2"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Comm.app/Comm"; - USER_HEADER_SEARCH_PATHS = "../../node_modules/olm/include ../../node_modules/olm/lib ${PODS_ROOT}/OLMKit/include ${PODS_ROOT}/OLMKit/lib"; + USER_HEADER_SEARCH_PATHS = ( + ../../node_modules/olm/include, + ../../node_modules/olm/lib, + "${PODS_ROOT}/OLMKit/include", + "${PODS_ROOT}/OLMKit/lib", + ); }; name = Debug; }; @@ -1195,13 +1436,22 @@ GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = CommTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 14.5; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = swm.CommTests; PRODUCT_NAME = "$(TARGET_NAME)"; TARGETED_DEVICE_FAMILY = "1,2"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Comm.app/Comm"; - USER_HEADER_SEARCH_PATHS = "../../node_modules/olm/include ../../node_modules/olm/lib ${PODS_ROOT}/OLMKit/include ${PODS_ROOT}/OLMKit/lib"; + USER_HEADER_SEARCH_PATHS = ( + ../../node_modules/olm/include, + ../../node_modules/olm/lib, + "${PODS_ROOT}/OLMKit/include", + "${PODS_ROOT}/OLMKit/lib", + ); }; name = Release; };