diff options
author | polwex <polwex@sortug.com> | 2025-07-16 14:54:44 +0700 |
---|---|---|
committer | polwex <polwex@sortug.com> | 2025-07-16 14:54:44 +0700 |
commit | aadfe206f3233032d8742a17c1f21d4750946a41 (patch) | |
tree | a63a95381ff99af1226ef096ce94cc32d8153ca5 /ios/client | |
parent | 1c81a70b0349a7f7577d0124b4b67ab5ea01e68d (diff) |
aaaarggh!!!
Diffstat (limited to 'ios/client')
-rw-r--r-- | ios/client/AppDelegate.swift | 70 | ||||
-rw-r--r-- | ios/client/Images.xcassets/AppIcon.appiconset/App-Icon-1024x1024@1x.png | bin | 0 -> 59468 bytes | |||
-rw-r--r-- | ios/client/Images.xcassets/AppIcon.appiconset/Contents.json | 14 | ||||
-rw-r--r-- | ios/client/Images.xcassets/Contents.json | 6 | ||||
-rw-r--r-- | ios/client/Images.xcassets/SplashScreenBackground.colorset/Contents.json | 20 | ||||
-rw-r--r-- | ios/client/Images.xcassets/SplashScreenLogo.imageset/Contents.json | 23 | ||||
-rw-r--r-- | ios/client/Images.xcassets/SplashScreenLogo.imageset/image.png | bin | 0 -> 14711 bytes | |||
-rw-r--r-- | ios/client/Images.xcassets/SplashScreenLogo.imageset/image@2x.png | bin | 0 -> 32766 bytes | |||
-rw-r--r-- | ios/client/Images.xcassets/SplashScreenLogo.imageset/image@3x.png | bin | 0 -> 52602 bytes | |||
-rw-r--r-- | ios/client/Info.plist | 79 | ||||
-rw-r--r-- | ios/client/SplashScreen.storyboard | 42 | ||||
-rw-r--r-- | ios/client/Supporting/Expo.plist | 12 | ||||
-rw-r--r-- | ios/client/client-Bridging-Header.h | 3 | ||||
-rw-r--r-- | ios/client/client.entitlements | 5 |
14 files changed, 274 insertions, 0 deletions
diff --git a/ios/client/AppDelegate.swift b/ios/client/AppDelegate.swift new file mode 100644 index 0000000..a7887e1 --- /dev/null +++ b/ios/client/AppDelegate.swift @@ -0,0 +1,70 @@ +import Expo +import React +import ReactAppDependencyProvider + +@UIApplicationMain +public class AppDelegate: ExpoAppDelegate { + var window: UIWindow? + + var reactNativeDelegate: ExpoReactNativeFactoryDelegate? + var reactNativeFactory: RCTReactNativeFactory? + + public override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil + ) -> Bool { + let delegate = ReactNativeDelegate() + let factory = ExpoReactNativeFactory(delegate: delegate) + delegate.dependencyProvider = RCTAppDependencyProvider() + + reactNativeDelegate = delegate + reactNativeFactory = factory + bindReactNativeFactory(factory) + +#if os(iOS) || os(tvOS) + window = UIWindow(frame: UIScreen.main.bounds) + factory.startReactNative( + withModuleName: "main", + in: window, + launchOptions: launchOptions) +#endif + + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } + + // Linking API + public override func application( + _ app: UIApplication, + open url: URL, + options: [UIApplication.OpenURLOptionsKey: Any] = [:] + ) -> Bool { + return super.application(app, open: url, options: options) || RCTLinkingManager.application(app, open: url, options: options) + } + + // Universal Links + public override func application( + _ application: UIApplication, + continue userActivity: NSUserActivity, + restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void + ) -> Bool { + let result = RCTLinkingManager.application(application, continue: userActivity, restorationHandler: restorationHandler) + return super.application(application, continue: userActivity, restorationHandler: restorationHandler) || result + } +} + +class ReactNativeDelegate: ExpoReactNativeFactoryDelegate { + // Extension point for config-plugins + + override func sourceURL(for bridge: RCTBridge) -> URL? { + // needed to return the correct URL for expo-dev-client. + bridge.bundleURL ?? bundleURL() + } + + override func bundleURL() -> URL? { +#if DEBUG + return RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: ".expo/.virtual-metro-entry") +#else + return Bundle.main.url(forResource: "main", withExtension: "jsbundle") +#endif + } +} diff --git a/ios/client/Images.xcassets/AppIcon.appiconset/App-Icon-1024x1024@1x.png b/ios/client/Images.xcassets/AppIcon.appiconset/App-Icon-1024x1024@1x.png Binary files differnew file mode 100644 index 0000000..2732229 --- /dev/null +++ b/ios/client/Images.xcassets/AppIcon.appiconset/App-Icon-1024x1024@1x.png diff --git a/ios/client/Images.xcassets/AppIcon.appiconset/Contents.json b/ios/client/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..90d8d4c --- /dev/null +++ b/ios/client/Images.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,14 @@ +{ + "images": [ + { + "filename": "App-Icon-1024x1024@1x.png", + "idiom": "universal", + "platform": "ios", + "size": "1024x1024" + } + ], + "info": { + "version": 1, + "author": "expo" + } +}
\ No newline at end of file diff --git a/ios/client/Images.xcassets/Contents.json b/ios/client/Images.xcassets/Contents.json new file mode 100644 index 0000000..ed285c2 --- /dev/null +++ b/ios/client/Images.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "expo" + } +} diff --git a/ios/client/Images.xcassets/SplashScreenBackground.colorset/Contents.json b/ios/client/Images.xcassets/SplashScreenBackground.colorset/Contents.json new file mode 100644 index 0000000..15f02ab --- /dev/null +++ b/ios/client/Images.xcassets/SplashScreenBackground.colorset/Contents.json @@ -0,0 +1,20 @@ +{ + "colors": [ + { + "color": { + "components": { + "alpha": "1.000", + "blue": "1.00000000000000", + "green": "1.00000000000000", + "red": "1.00000000000000" + }, + "color-space": "srgb" + }, + "idiom": "universal" + } + ], + "info": { + "version": 1, + "author": "expo" + } +}
\ No newline at end of file diff --git a/ios/client/Images.xcassets/SplashScreenLogo.imageset/Contents.json b/ios/client/Images.xcassets/SplashScreenLogo.imageset/Contents.json new file mode 100644 index 0000000..f65c008 --- /dev/null +++ b/ios/client/Images.xcassets/SplashScreenLogo.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images": [ + { + "idiom": "universal", + "filename": "image.png", + "scale": "1x" + }, + { + "idiom": "universal", + "filename": "image@2x.png", + "scale": "2x" + }, + { + "idiom": "universal", + "filename": "image@3x.png", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "expo" + } +}
\ No newline at end of file diff --git a/ios/client/Images.xcassets/SplashScreenLogo.imageset/image.png b/ios/client/Images.xcassets/SplashScreenLogo.imageset/image.png Binary files differnew file mode 100644 index 0000000..635530a --- /dev/null +++ b/ios/client/Images.xcassets/SplashScreenLogo.imageset/image.png diff --git a/ios/client/Images.xcassets/SplashScreenLogo.imageset/image@2x.png b/ios/client/Images.xcassets/SplashScreenLogo.imageset/image@2x.png Binary files differnew file mode 100644 index 0000000..d4e41ea --- /dev/null +++ b/ios/client/Images.xcassets/SplashScreenLogo.imageset/image@2x.png diff --git a/ios/client/Images.xcassets/SplashScreenLogo.imageset/image@3x.png b/ios/client/Images.xcassets/SplashScreenLogo.imageset/image@3x.png Binary files differnew file mode 100644 index 0000000..67ee127 --- /dev/null +++ b/ios/client/Images.xcassets/SplashScreenLogo.imageset/image@3x.png diff --git a/ios/client/Info.plist b/ios/client/Info.plist new file mode 100644 index 0000000..e4d4c1b --- /dev/null +++ b/ios/client/Info.plist @@ -0,0 +1,79 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> + <dict> + <key>CADisableMinimumFrameDurationOnPhone</key> + <true/> + <key>CFBundleDevelopmentRegion</key> + <string>$(DEVELOPMENT_LANGUAGE)</string> + <key>CFBundleDisplayName</key> + <string>client</string> + <key>CFBundleExecutable</key> + <string>$(EXECUTABLE_NAME)</string> + <key>CFBundleIdentifier</key> + <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>$(PRODUCT_NAME)</string> + <key>CFBundlePackageType</key> + <string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string> + <key>CFBundleShortVersionString</key> + <string>1.0.0</string> + <key>CFBundleSignature</key> + <string>????</string> + <key>CFBundleURLTypes</key> + <array> + <dict> + <key>CFBundleURLSchemes</key> + <array> + <string>client</string> + <string>com.tugsor.client</string> + </array> + </dict> + </array> + <key>CFBundleVersion</key> + <string>1</string> + <key>LSMinimumSystemVersion</key> + <string>12.0</string> + <key>LSRequiresIPhoneOS</key> + <true/> + <key>NSAppTransportSecurity</key> + <dict> + <key>NSAllowsArbitraryLoads</key> + <false/> + <key>NSAllowsLocalNetworking</key> + <true/> + </dict> + <key>NSUserActivityTypes</key> + <array> + <string>$(PRODUCT_BUNDLE_IDENTIFIER).expo.index_route</string> + </array> + <key>UILaunchStoryboardName</key> + <string>SplashScreen</string> + <key>UIRequiredDeviceCapabilities</key> + <array> + <string>arm64</string> + </array> + <key>UIRequiresFullScreen</key> + <false/> + <key>UIStatusBarStyle</key> + <string>UIStatusBarStyleDefault</string> + <key>UISupportedInterfaceOrientations</key> + <array> + <string>UIInterfaceOrientationPortrait</string> + <string>UIInterfaceOrientationPortraitUpsideDown</string> + </array> + <key>UISupportedInterfaceOrientations~ipad</key> + <array> + <string>UIInterfaceOrientationPortrait</string> + <string>UIInterfaceOrientationPortraitUpsideDown</string> + <string>UIInterfaceOrientationLandscapeLeft</string> + <string>UIInterfaceOrientationLandscapeRight</string> + </array> + <key>UIUserInterfaceStyle</key> + <string>Automatic</string> + <key>UIViewControllerBasedStatusBarAppearance</key> + <false/> + </dict> +</plist>
\ No newline at end of file diff --git a/ios/client/SplashScreen.storyboard b/ios/client/SplashScreen.storyboard new file mode 100644 index 0000000..158767f --- /dev/null +++ b/ios/client/SplashScreen.storyboard @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="EXPO-VIEWCONTROLLER-1"> + <device id="retina6_12" orientation="portrait" appearance="light"/> + <dependencies> + <deployment identifier="iOS"/> + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22685"/> + <capability name="Named colors" minToolsVersion="9.0"/> + <capability name="Safe area layout guides" minToolsVersion="9.0"/> + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> + </dependencies> + <scenes> + <scene sceneID="EXPO-SCENE-1"> + <objects> + <viewController storyboardIdentifier="SplashScreenViewController" id="EXPO-VIEWCONTROLLER-1" sceneMemberID="viewController"> + <view key="view" userInteractionEnabled="NO" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="EXPO-ContainerView" userLabel="ContainerView"> + <rect key="frame" x="0.0" y="0.0" width="393" height="852"/> + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> + <subviews> + <imageView id="EXPO-SplashScreen" userLabel="SplashScreenLogo" image="SplashScreenLogo" contentMode="scaleAspectFit" clipsSubviews="true" userInteractionEnabled="false" translatesAutoresizingMaskIntoConstraints="false"> + <rect key="frame" x="96.5" y="326" width="200" height="200"/> + </imageView> + </subviews> + <viewLayoutGuide key="safeArea" id="Rmq-lb-GrQ"/> + <constraints> + <constraint firstItem="EXPO-SplashScreen" firstAttribute="centerX" secondItem="EXPO-ContainerView" secondAttribute="centerX" id="cad2ab56f97c5429bf29decf850647a4216861d4"/> + <constraint firstItem="EXPO-SplashScreen" firstAttribute="centerY" secondItem="EXPO-ContainerView" secondAttribute="centerY" id="1a145271b085b6ce89b1405a310f5b1bb7656595"/> + </constraints> + <color key="backgroundColor" name="SplashScreenBackground"/> + </view> + </viewController> + <placeholder placeholderIdentifier="IBFirstResponder" id="EXPO-PLACEHOLDER-1" userLabel="First Responder" sceneMemberID="firstResponder"/> + </objects> + <point key="canvasLocation" x="0.0" y="0.0"/> + </scene> + </scenes> + <resources> + <image name="SplashScreenLogo" width="200" height="200"/> + <namedColor name="SplashScreenBackground"> + <color alpha="1.000" blue="1.00000000000000" green="1.00000000000000" red="1.00000000000000" customColorSpace="sRGB" colorSpace="custom"/> + </namedColor> + </resources> +</document>
\ No newline at end of file diff --git a/ios/client/Supporting/Expo.plist b/ios/client/Supporting/Expo.plist new file mode 100644 index 0000000..750be02 --- /dev/null +++ b/ios/client/Supporting/Expo.plist @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> + <dict> + <key>EXUpdatesCheckOnLaunch</key> + <string>ALWAYS</string> + <key>EXUpdatesEnabled</key> + <false/> + <key>EXUpdatesLaunchWaitMs</key> + <integer>0</integer> + </dict> +</plist>
\ No newline at end of file diff --git a/ios/client/client-Bridging-Header.h b/ios/client/client-Bridging-Header.h new file mode 100644 index 0000000..8361941 --- /dev/null +++ b/ios/client/client-Bridging-Header.h @@ -0,0 +1,3 @@ +// +// Use this file to import your target's public headers that you would like to expose to Swift. +// diff --git a/ios/client/client.entitlements b/ios/client/client.entitlements new file mode 100644 index 0000000..f683276 --- /dev/null +++ b/ios/client/client.entitlements @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> + <dict/> +</plist>
\ No newline at end of file |