diff options
Diffstat (limited to 'ios/bluesky')
31 files changed, 440 insertions, 0 deletions
diff --git a/ios/bluesky/AppDelegate.h b/ios/bluesky/AppDelegate.h new file mode 100644 index 000000000..eaba2fa40 --- /dev/null +++ b/ios/bluesky/AppDelegate.h @@ -0,0 +1,7 @@ +#import <RCTAppDelegate.h> +#import <UIKit/UIKit.h> +#import <Expo/Expo.h> + +@interface AppDelegate : EXAppDelegateWrapper + +@end \ No newline at end of file diff --git a/ios/bluesky/AppDelegate.mm b/ios/bluesky/AppDelegate.mm new file mode 100644 index 000000000..a358131c0 --- /dev/null +++ b/ios/bluesky/AppDelegate.mm @@ -0,0 +1,72 @@ +#import "AppDelegate.h" + +#import <React/RCTBundleURLProvider.h> +#import <React/RCTLinkingManager.h> + +#import <TSBackgroundFetch/TSBackgroundFetch.h> + +@implementation AppDelegate + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions +{ + self.moduleName = @"main"; + + // You can add your custom initial props in the dictionary below. + // They will be passed down to the ViewController used by React Native. + self.initialProps = @{}; + + // Register BackgroundFetch + [[TSBackgroundFetch sharedInstance] didFinishLaunching]; + + return [super application:application didFinishLaunchingWithOptions:launchOptions]; +} + +- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge +{ +#if DEBUG + return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; +#else + return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; +#endif +} + +/// This method controls whether the `concurrentRoot`feature of React18 is turned on or off. +/// +/// @see: https://reactjs.org/blog/2022/03/29/react-v18.html +/// @note: This requires to be rendering on Fabric (i.e. on the New Architecture). +/// @return: `true` if the `concurrentRoot` feature is enabled. Otherwise, it returns `false`. +- (BOOL)concurrentRootEnabled +{ + return true; +} + +// Linking API +- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options { + return [super application:application openURL:url options:options] || [RCTLinkingManager application:application openURL:url options:options]; +} + +// Universal Links +- (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler { + BOOL result = [RCTLinkingManager application:application continueUserActivity:userActivity restorationHandler:restorationHandler]; + return [super application:application continueUserActivity:userActivity restorationHandler:restorationHandler] || result; +} + +// Explicitly define remote notification delegates to ensure compatibility with some third-party libraries +- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken +{ + return [super application:application didRegisterForRemoteNotificationsWithDeviceToken:deviceToken]; +} + +// Explicitly define remote notification delegates to ensure compatibility with some third-party libraries +- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error +{ + return [super application:application didFailToRegisterForRemoteNotificationsWithError:error]; +} + +// Explicitly define remote notification delegates to ensure compatibility with some third-party libraries +- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler +{ + return [super application:application didReceiveRemoteNotification:userInfo fetchCompletionHandler:completionHandler]; +} + +@end \ No newline at end of file diff --git a/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-20x20@1x.png b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-20x20@1x.png new file mode 100644 index 000000000..fea9a3533 --- /dev/null +++ b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-20x20@1x.png Binary files differdiff --git a/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-20x20@2x.png b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-20x20@2x.png new file mode 100644 index 000000000..299b8c100 --- /dev/null +++ b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-20x20@2x.png Binary files differdiff --git a/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-20x20@3x.png b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-20x20@3x.png new file mode 100644 index 000000000..30fe7e1f0 --- /dev/null +++ b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-20x20@3x.png Binary files differdiff --git a/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-29x29@1x.png b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-29x29@1x.png new file mode 100644 index 000000000..ba88e1111 --- /dev/null +++ b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-29x29@1x.png Binary files differdiff --git a/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-29x29@2x.png b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-29x29@2x.png new file mode 100644 index 000000000..093b2f931 --- /dev/null +++ b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-29x29@2x.png Binary files differdiff --git a/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-29x29@3x.png b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-29x29@3x.png new file mode 100644 index 000000000..f391f3662 --- /dev/null +++ b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-29x29@3x.png Binary files differdiff --git a/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-40x40@1x.png b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-40x40@1x.png new file mode 100644 index 000000000..299b8c100 --- /dev/null +++ b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-40x40@1x.png Binary files differdiff --git a/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-40x40@2x.png b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-40x40@2x.png new file mode 100644 index 000000000..140a420ab --- /dev/null +++ b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-40x40@2x.png Binary files differdiff --git a/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-40x40@3x.png b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-40x40@3x.png new file mode 100644 index 000000000..f8e459304 --- /dev/null +++ b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-40x40@3x.png Binary files differdiff --git a/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-60x60@2x.png b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-60x60@2x.png new file mode 100644 index 000000000..f8e459304 --- /dev/null +++ b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-60x60@2x.png Binary files differdiff --git a/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-60x60@3x.png b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-60x60@3x.png new file mode 100644 index 000000000..0a2ce9f15 --- /dev/null +++ b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-60x60@3x.png Binary files differdiff --git a/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-76x76@1x.png b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-76x76@1x.png new file mode 100644 index 000000000..cb5bd1988 --- /dev/null +++ b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-76x76@1x.png Binary files differdiff --git a/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-76x76@2x.png b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-76x76@2x.png new file mode 100644 index 000000000..a416fe21a --- /dev/null +++ b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-76x76@2x.png Binary files differdiff --git a/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-83.5x83.5@2x.png b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-83.5x83.5@2x.png new file mode 100644 index 000000000..4263af789 --- /dev/null +++ b/ios/bluesky/Images.xcassets/AppIcon.appiconset/App-Icon-83.5x83.5@2x.png Binary files differdiff --git a/ios/bluesky/Images.xcassets/AppIcon.appiconset/Contents.json b/ios/bluesky/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 000000000..f920cb0ec --- /dev/null +++ b/ios/bluesky/Images.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "images": [ + { + "idiom": "iphone", + "size": "20x20", + "scale": "2x", + "filename": "App-Icon-20x20@2x.png" + }, + { + "idiom": "iphone", + "size": "20x20", + "scale": "3x", + "filename": "App-Icon-20x20@3x.png" + }, + { + "idiom": "iphone", + "size": "29x29", + "scale": "1x", + "filename": "App-Icon-29x29@1x.png" + }, + { + "idiom": "iphone", + "size": "29x29", + "scale": "2x", + "filename": "App-Icon-29x29@2x.png" + }, + { + "idiom": "iphone", + "size": "29x29", + "scale": "3x", + "filename": "App-Icon-29x29@3x.png" + }, + { + "idiom": "iphone", + "size": "40x40", + "scale": "2x", + "filename": "App-Icon-40x40@2x.png" + }, + { + "idiom": "iphone", + "size": "40x40", + "scale": "3x", + "filename": "App-Icon-40x40@3x.png" + }, + { + "idiom": "iphone", + "size": "60x60", + "scale": "2x", + "filename": "App-Icon-60x60@2x.png" + }, + { + "idiom": "iphone", + "size": "60x60", + "scale": "3x", + "filename": "App-Icon-60x60@3x.png" + }, + { + "idiom": "ipad", + "size": "20x20", + "scale": "1x", + "filename": "App-Icon-20x20@1x.png" + }, + { + "idiom": "ipad", + "size": "20x20", + "scale": "2x", + "filename": "App-Icon-20x20@2x.png" + }, + { + "idiom": "ipad", + "size": "29x29", + "scale": "1x", + "filename": "App-Icon-29x29@1x.png" + }, + { + "idiom": "ipad", + "size": "29x29", + "scale": "2x", + "filename": "App-Icon-29x29@2x.png" + }, + { + "idiom": "ipad", + "size": "40x40", + "scale": "1x", + "filename": "App-Icon-40x40@1x.png" + }, + { + "idiom": "ipad", + "size": "40x40", + "scale": "2x", + "filename": "App-Icon-40x40@2x.png" + }, + { + "idiom": "ipad", + "size": "76x76", + "scale": "1x", + "filename": "App-Icon-76x76@1x.png" + }, + { + "idiom": "ipad", + "size": "76x76", + "scale": "2x", + "filename": "App-Icon-76x76@2x.png" + }, + { + "idiom": "ipad", + "size": "83.5x83.5", + "scale": "2x", + "filename": "App-Icon-83.5x83.5@2x.png" + }, + { + "idiom": "ios-marketing", + "size": "1024x1024", + "scale": "1x", + "filename": "ItunesArtwork@2x.png" + } + ], + "info": { + "version": 1, + "author": "expo" + } +} \ No newline at end of file diff --git a/ios/bluesky/Images.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png b/ios/bluesky/Images.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png new file mode 100644 index 000000000..35e5b79b2 --- /dev/null +++ b/ios/bluesky/Images.xcassets/AppIcon.appiconset/ItunesArtwork@2x.png Binary files differdiff --git a/ios/bluesky/Images.xcassets/Contents.json b/ios/bluesky/Images.xcassets/Contents.json new file mode 100644 index 000000000..ed285c2e5 --- /dev/null +++ b/ios/bluesky/Images.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "expo" + } +} diff --git a/ios/bluesky/Images.xcassets/SplashScreen.imageset/Contents.json b/ios/bluesky/Images.xcassets/SplashScreen.imageset/Contents.json new file mode 100644 index 000000000..3cf848977 --- /dev/null +++ b/ios/bluesky/Images.xcassets/SplashScreen.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images": [ + { + "idiom": "universal", + "filename": "image.png", + "scale": "1x" + }, + { + "idiom": "universal", + "scale": "2x" + }, + { + "idiom": "universal", + "scale": "3x" + } + ], + "info": { + "version": 1, + "author": "expo" + } +} \ No newline at end of file diff --git a/ios/bluesky/Images.xcassets/SplashScreen.imageset/image.png b/ios/bluesky/Images.xcassets/SplashScreen.imageset/image.png new file mode 100644 index 000000000..e0e67b90a --- /dev/null +++ b/ios/bluesky/Images.xcassets/SplashScreen.imageset/image.png Binary files differdiff --git a/ios/bluesky/Images.xcassets/SplashScreenBackground.imageset/Contents.json b/ios/bluesky/Images.xcassets/SplashScreenBackground.imageset/Contents.json new file mode 100644 index 000000000..ded1a4df0 --- /dev/null +++ b/ios/bluesky/Images.xcassets/SplashScreenBackground.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "icon 2.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "icon.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "icon 1.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ios/bluesky/Images.xcassets/SplashScreenBackground.imageset/icon 1.png b/ios/bluesky/Images.xcassets/SplashScreenBackground.imageset/icon 1.png new file mode 100644 index 000000000..1dda9a342 --- /dev/null +++ b/ios/bluesky/Images.xcassets/SplashScreenBackground.imageset/icon 1.png Binary files differdiff --git a/ios/bluesky/Images.xcassets/SplashScreenBackground.imageset/icon 2.png b/ios/bluesky/Images.xcassets/SplashScreenBackground.imageset/icon 2.png new file mode 100644 index 000000000..1dda9a342 --- /dev/null +++ b/ios/bluesky/Images.xcassets/SplashScreenBackground.imageset/icon 2.png Binary files differdiff --git a/ios/bluesky/Images.xcassets/SplashScreenBackground.imageset/icon.png b/ios/bluesky/Images.xcassets/SplashScreenBackground.imageset/icon.png new file mode 100644 index 000000000..1dda9a342 --- /dev/null +++ b/ios/bluesky/Images.xcassets/SplashScreenBackground.imageset/icon.png Binary files differdiff --git a/ios/bluesky/Info.plist b/ios/bluesky/Info.plist new file mode 100644 index 000000000..eb3798dc3 --- /dev/null +++ b/ios/bluesky/Info.plist @@ -0,0 +1,100 @@ +<?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>BGTaskSchedulerPermittedIdentifiers</key> + <array> + <string>com.transistorsoft.fetch</string> + </array> + <key>CFBundleDevelopmentRegion</key> + <string>$(DEVELOPMENT_LANGUAGE)</string> + <key>CFBundleDisplayName</key> + <string>Bluesky</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.7</string> + <key>CFBundleSignature</key> + <string>????</string> + <key>CFBundleURLTypes</key> + <array> + <dict> + <key>CFBundleURLSchemes</key> + <array> + <string>xyz.blueskyweb.app</string> + </array> + </dict> + <dict> + <key>CFBundleURLSchemes</key> + <array> + <string>exp+bluesky</string> + </array> + </dict> + </array> + <key>CFBundleVersion</key> + <string>1</string> + <key>ITSAppUsesNonExemptEncryption</key> + <false/> + <key>LSRequiresIPhoneOS</key> + <true/> + <key>NSAppTransportSecurity</key> + <dict> + <key>NSAllowsArbitraryLoads</key> + <true/> + <key>NSExceptionDomains</key> + <dict> + <key>localhost</key> + <dict> + <key>NSExceptionAllowsInsecureHTTPLoads</key> + <true/> + </dict> + </dict> + </dict> + <key>NSCameraUsageDescription</key> + <string>Used to take pictures and videos when composing posts, choosing avatars, and so on.</string> + <key>NSMicrophoneUsageDescription</key> + <string>Used to take videos when composing posts.</string> + <key>NSLocationWhenInUseUsageDescription</key> + <string></string> + <key>NSPhotoLibraryUsageDescription</key> + <string>Used to upload pictures and videos when composing posts, choosing avatars, and so on.</string> + <key>UIBackgroundModes</key> + <array> + <string>fetch</string> + </array> + <key>UILaunchStoryboardName</key> + <string>SplashScreen</string> + <key>UIRequiredDeviceCapabilities</key> + <array> + <string>armv7</string> + </array> + <key>UIRequiresFullScreen</key> + <true/> + <key>UIStatusBarStyle</key> + <string>UIStatusBarStyleDefault</string> + <key>UISupportedInterfaceOrientations</key> + <array> + <string>UIInterfaceOrientationPortrait</string> + </array> + <key>UISupportedInterfaceOrientations~ipad</key> + <array> + <string>UIInterfaceOrientationLandscapeLeft</string> + <string>UIInterfaceOrientationLandscapeRight</string> + <string>UIInterfaceOrientationPortrait</string> + </array> + <key>UIUserInterfaceStyle</key> + <string>Light</string> + <key>UIViewControllerBasedStatusBarAppearance</key> + <false/> + <key>ITSAppUsesNonExemptEncryption</key> + <false/> + </dict> +</plist> \ No newline at end of file diff --git a/ios/bluesky/SplashScreen.storyboard b/ios/bluesky/SplashScreen.storyboard new file mode 100644 index 000000000..36ea46d75 --- /dev/null +++ b/ios/bluesky/SplashScreen.storyboard @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="21507" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="EXPO-VIEWCONTROLLER-1"> + <device id="retina5_5" orientation="portrait" appearance="light"/> + <dependencies> + <deployment identifier="iOS"/> + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21505"/> + <capability name="Safe area layout guides" minToolsVersion="9.0"/> + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> + </dependencies> + <scenes> + <!--View Controller--> + <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="414" height="736"/> + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> + <subviews> + <imageView userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" insetsLayoutMarginsFromSafeArea="NO" image="SplashScreenBackground" translatesAutoresizingMaskIntoConstraints="NO" id="EXPO-SplashScreenBackground" userLabel="SplashScreenBackground"> + <rect key="frame" x="0.0" y="0.0" width="414" height="736"/> + </imageView> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="SplashScreen" translatesAutoresizingMaskIntoConstraints="NO" id="EXPO-SplashScreen" userLabel="SplashScreen"> + <rect key="frame" x="0.0" y="0.0" width="414" height="736"/> + </imageView> + </subviews> + <viewLayoutGuide key="safeArea" id="Rmq-lb-GrQ"/> + <constraints> + <constraint firstItem="EXPO-SplashScreenBackground" firstAttribute="top" secondItem="EXPO-ContainerView" secondAttribute="top" id="1gX-mQ-vu6"/> + <constraint firstItem="EXPO-SplashScreen" firstAttribute="top" secondItem="EXPO-ContainerView" secondAttribute="top" id="2VS-Uz-0LU"/> + <constraint firstItem="EXPO-SplashScreen" firstAttribute="leading" secondItem="EXPO-ContainerView" secondAttribute="leading" id="61d16215e44b98e39d0a2c74fdbfaaa22601b12c"/> + <constraint firstItem="EXPO-SplashScreenBackground" firstAttribute="leading" secondItem="EXPO-ContainerView" secondAttribute="leading" id="6tX-OG-Sck"/> + <constraint firstItem="EXPO-SplashScreen" firstAttribute="top" secondItem="EXPO-ContainerView" secondAttribute="top" id="83fcb9b545b870ba44c24f0feeb116490c499c52"/> + <constraint firstItem="EXPO-SplashScreenBackground" firstAttribute="trailing" secondItem="EXPO-ContainerView" secondAttribute="trailing" id="ABX-8g-7v4"/> + <constraint firstItem="EXPO-SplashScreen" firstAttribute="trailing" secondItem="EXPO-ContainerView" secondAttribute="trailing" id="I6l-TP-6fn"/> + <constraint firstItem="EXPO-SplashScreen" firstAttribute="leading" secondItem="EXPO-ContainerView" secondAttribute="leading" id="LhH-Ei-DKo"/> + <constraint firstItem="EXPO-SplashScreen" firstAttribute="bottom" secondItem="EXPO-ContainerView" secondAttribute="bottom" id="d6a0be88096b36fb132659aa90203d39139deda9"/> + <constraint firstItem="EXPO-SplashScreen" firstAttribute="trailing" secondItem="EXPO-ContainerView" secondAttribute="trailing" id="f934da460e9ab5acae3ad9987d5b676a108796c1"/> + <constraint firstItem="EXPO-SplashScreenBackground" firstAttribute="bottom" secondItem="EXPO-ContainerView" secondAttribute="bottom" id="jkI-2V-eW5"/> + <constraint firstItem="EXPO-SplashScreen" firstAttribute="bottom" secondItem="EXPO-ContainerView" secondAttribute="bottom" id="nbp-HC-eaG"/> + </constraints> + </view> + </viewController> + <placeholder placeholderIdentifier="IBFirstResponder" id="EXPO-PLACEHOLDER-1" userLabel="First Responder" sceneMemberID="firstResponder"/> + </objects> + <point key="canvasLocation" x="140.625" y="129.4921875"/> + </scene> + </scenes> + <resources> + <image name="SplashScreen" width="600" height="900"/> + <image name="SplashScreenBackground" width="1" height="1"/> + </resources> +</document> diff --git a/ios/bluesky/Supporting/Expo.plist b/ios/bluesky/Supporting/Expo.plist new file mode 100644 index 000000000..44b3d2428 --- /dev/null +++ b/ios/bluesky/Supporting/Expo.plist @@ -0,0 +1,16 @@ +<?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> + <true/> + <key>EXUpdatesLaunchWaitMs</key> + <integer>0</integer> + <key>EXUpdatesSDKVersion</key> + <string>48.0.0</string> + <key>EXUpdatesURL</key> + <string>https://exp.host/@arrygoo/bluesky</string> + </dict> +</plist> \ No newline at end of file diff --git a/ios/bluesky/bluesky.entitlements b/ios/bluesky/bluesky.entitlements new file mode 100644 index 000000000..018a6e20c --- /dev/null +++ b/ios/bluesky/bluesky.entitlements @@ -0,0 +1,8 @@ +<?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>aps-environment</key> + <string>development</string> + </dict> +</plist> \ No newline at end of file diff --git a/ios/bluesky/main.m b/ios/bluesky/main.m new file mode 100644 index 000000000..b1df44b95 --- /dev/null +++ b/ios/bluesky/main.m @@ -0,0 +1,9 @@ +#import <UIKit/UIKit.h> + +#import "AppDelegate.h" + +int main(int argc, char * argv[]) { + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} diff --git a/ios/bluesky/noop-file.swift b/ios/bluesky/noop-file.swift new file mode 100644 index 000000000..9835ba300 --- /dev/null +++ b/ios/bluesky/noop-file.swift @@ -0,0 +1,4 @@ +// +// @generated +// A blank Swift file must be created for native modules with Swift files to work correctly. +// \ No newline at end of file |