-
-
Notifications
You must be signed in to change notification settings - Fork 69
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #543 from thornbill/bump-expo-46
Update to latest Expo 46 version
- Loading branch information
Showing
41 changed files
with
1,992 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
import { registerRootComponent } from 'expo'; | ||
|
||
import App from './App'; | ||
|
||
// registerRootComponent calls AppRegistry.registerComponent('main', () => App); | ||
// It also ensures that whether you load the app in Expo Go or in a native build, | ||
// the environment is set up appropriately | ||
registerRootComponent(App); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
# OSX | ||
# | ||
.DS_Store | ||
|
||
# Xcode | ||
# | ||
build/ | ||
*.pbxuser | ||
!default.pbxuser | ||
*.mode1v3 | ||
!default.mode1v3 | ||
*.mode2v3 | ||
!default.mode2v3 | ||
*.perspectivev3 | ||
!default.perspectivev3 | ||
xcuserdata | ||
*.xccheckout | ||
*.moved-aside | ||
DerivedData | ||
*.hmap | ||
*.ipa | ||
*.xcuserstate | ||
project.xcworkspace | ||
.xcode.env.local | ||
|
||
# Bundle artifacts | ||
*.jsbundle | ||
|
||
# CocoaPods | ||
/Pods/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# This `.xcode.env` file is versioned and is used to source the environment | ||
# used when running script phases inside Xcode. | ||
# To customize your local environment, you can create an `.xcode.env.local` | ||
# file that is not versioned. | ||
|
||
# NODE_BINARY variable contains the PATH to the node executable. | ||
# | ||
# Customize the NODE_BINARY variable here. | ||
# For example, to use nvm with brew, add the following line | ||
# . "$(brew --prefix nvm)/nvm.sh" --no-use | ||
export NODE_BINARY=$(command -v node) |
Large diffs are not rendered by default.
Oops, something went wrong.
88 changes: 88 additions & 0 deletions
88
ios/Jellyfin.xcodeproj/xcshareddata/xcschemes/Jellyfin.xcscheme
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<Scheme | ||
LastUpgradeVersion = "1130" | ||
version = "1.3"> | ||
<BuildAction | ||
parallelizeBuildables = "YES" | ||
buildImplicitDependencies = "YES"> | ||
<BuildActionEntries> | ||
<BuildActionEntry | ||
buildForTesting = "YES" | ||
buildForRunning = "YES" | ||
buildForProfiling = "YES" | ||
buildForArchiving = "YES" | ||
buildForAnalyzing = "YES"> | ||
<BuildableReference | ||
BuildableIdentifier = "primary" | ||
BlueprintIdentifier = "13B07F861A680F5B00A75B9A" | ||
BuildableName = "Jellyfin.app" | ||
BlueprintName = "Jellyfin" | ||
ReferencedContainer = "container:Jellyfin.xcodeproj"> | ||
</BuildableReference> | ||
</BuildActionEntry> | ||
</BuildActionEntries> | ||
</BuildAction> | ||
<TestAction | ||
buildConfiguration = "Debug" | ||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" | ||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" | ||
shouldUseLaunchSchemeArgsEnv = "YES"> | ||
<Testables> | ||
<TestableReference | ||
skipped = "NO"> | ||
<BuildableReference | ||
BuildableIdentifier = "primary" | ||
BlueprintIdentifier = "00E356ED1AD99517003FC87E" | ||
BuildableName = "JellyfinTests.xctest" | ||
BlueprintName = "JellyfinTests" | ||
ReferencedContainer = "container:Jellyfin.xcodeproj"> | ||
</BuildableReference> | ||
</TestableReference> | ||
</Testables> | ||
</TestAction> | ||
<LaunchAction | ||
buildConfiguration = "Debug" | ||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" | ||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" | ||
launchStyle = "0" | ||
useCustomWorkingDirectory = "NO" | ||
ignoresPersistentStateOnLaunch = "NO" | ||
debugDocumentVersioning = "YES" | ||
debugServiceExtension = "internal" | ||
allowLocationSimulation = "YES"> | ||
<BuildableProductRunnable | ||
runnableDebuggingMode = "0"> | ||
<BuildableReference | ||
BuildableIdentifier = "primary" | ||
BlueprintIdentifier = "13B07F861A680F5B00A75B9A" | ||
BuildableName = "Jellyfin.app" | ||
BlueprintName = "Jellyfin" | ||
ReferencedContainer = "container:Jellyfin.xcodeproj"> | ||
</BuildableReference> | ||
</BuildableProductRunnable> | ||
</LaunchAction> | ||
<ProfileAction | ||
buildConfiguration = "Release" | ||
shouldUseLaunchSchemeArgsEnv = "YES" | ||
savedToolIdentifier = "" | ||
useCustomWorkingDirectory = "NO" | ||
debugDocumentVersioning = "YES"> | ||
<BuildableProductRunnable | ||
runnableDebuggingMode = "0"> | ||
<BuildableReference | ||
BuildableIdentifier = "primary" | ||
BlueprintIdentifier = "13B07F861A680F5B00A75B9A" | ||
BuildableName = "Jellyfin.app" | ||
BlueprintName = "Jellyfin" | ||
ReferencedContainer = "container:Jellyfin.xcodeproj"> | ||
</BuildableReference> | ||
</BuildableProductRunnable> | ||
</ProfileAction> | ||
<AnalyzeAction | ||
buildConfiguration = "Debug"> | ||
</AnalyzeAction> | ||
<ArchiveAction | ||
buildConfiguration = "Release" | ||
revealArchiveInOrganizer = "YES"> | ||
</ArchiveAction> | ||
</Scheme> |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
#import <Foundation/Foundation.h> | ||
#import <React/RCTBridgeDelegate.h> | ||
#import <UIKit/UIKit.h> | ||
|
||
#import <Expo/Expo.h> | ||
|
||
@interface AppDelegate : EXAppDelegateWrapper <RCTBridgeDelegate> | ||
|
||
@end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,166 @@ | ||
#import "AppDelegate.h" | ||
|
||
#import <React/RCTBridge.h> | ||
#import <React/RCTBundleURLProvider.h> | ||
#import <React/RCTRootView.h> | ||
#import <React/RCTLinkingManager.h> | ||
#import <React/RCTConvert.h> | ||
|
||
#import <React/RCTAppSetupUtils.h> | ||
|
||
#if RCT_NEW_ARCH_ENABLED | ||
#import <React/CoreModulesPlugins.h> | ||
#import <React/RCTCxxBridgeDelegate.h> | ||
#import <React/RCTFabricSurfaceHostingProxyRootView.h> | ||
#import <React/RCTSurfacePresenter.h> | ||
#import <React/RCTSurfacePresenterBridgeAdapter.h> | ||
#import <ReactCommon/RCTTurboModuleManager.h> | ||
|
||
#import <react/config/ReactNativeConfig.h> | ||
|
||
static NSString *const kRNConcurrentRoot = @"concurrentRoot"; | ||
|
||
@interface AppDelegate () <RCTCxxBridgeDelegate, RCTTurboModuleManagerDelegate> { | ||
RCTTurboModuleManager *_turboModuleManager; | ||
RCTSurfacePresenterBridgeAdapter *_bridgeAdapter; | ||
std::shared_ptr<const facebook::react::ReactNativeConfig> _reactNativeConfig; | ||
facebook::react::ContextContainer::Shared _contextContainer; | ||
} | ||
@end | ||
#endif | ||
|
||
@implementation AppDelegate | ||
|
||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions | ||
{ | ||
RCTAppSetupPrepareApp(application); | ||
|
||
RCTBridge *bridge = [self.reactDelegate createBridgeWithDelegate:self launchOptions:launchOptions]; | ||
|
||
#if RCT_NEW_ARCH_ENABLED | ||
_contextContainer = std::make_shared<facebook::react::ContextContainer const>(); | ||
_reactNativeConfig = std::make_shared<facebook::react::EmptyReactNativeConfig const>(); | ||
_contextContainer->insert("ReactNativeConfig", _reactNativeConfig); | ||
_bridgeAdapter = [[RCTSurfacePresenterBridgeAdapter alloc] initWithBridge:bridge contextContainer:_contextContainer]; | ||
bridge.surfacePresenter = _bridgeAdapter.surfacePresenter; | ||
#endif | ||
|
||
NSDictionary *initProps = [self prepareInitialProps]; | ||
UIView *rootView = [self.reactDelegate createRootViewWithBridge:bridge moduleName:@"main" initialProperties:initProps]; | ||
|
||
rootView.backgroundColor = [UIColor whiteColor]; | ||
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; | ||
UIViewController *rootViewController = [self.reactDelegate createRootViewController]; | ||
rootViewController.view = rootView; | ||
self.window.rootViewController = rootViewController; | ||
[self.window makeKeyAndVisible]; | ||
|
||
[super application:application didFinishLaunchingWithOptions:launchOptions]; | ||
|
||
return YES; | ||
} | ||
|
||
- (NSArray<id<RCTBridgeModule>> *)extraModulesForBridge:(RCTBridge *)bridge | ||
{ | ||
// If you'd like to export some custom RCTBridgeModules, add them here! | ||
return @[]; | ||
} | ||
|
||
/// 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` feture is enabled. Otherwise, it returns `false`. | ||
- (BOOL)concurrentRootEnabled | ||
{ | ||
// Switch this bool to turn on and off the concurrent root | ||
return true; | ||
} | ||
|
||
- (NSDictionary *)prepareInitialProps | ||
{ | ||
NSMutableDictionary *initProps = [NSMutableDictionary new]; | ||
#if RCT_NEW_ARCH_ENABLED | ||
initProps[kRNConcurrentRoot] = @([self concurrentRootEnabled]); | ||
#endif | ||
return initProps; | ||
} | ||
|
||
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge | ||
{ | ||
#if DEBUG | ||
return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"]; | ||
#else | ||
return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; | ||
#endif | ||
} | ||
|
||
// 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]; | ||
} | ||
|
||
#if RCT_NEW_ARCH_ENABLED | ||
|
||
#pragma mark - RCTCxxBridgeDelegate | ||
|
||
- (std::unique_ptr<facebook::react::JSExecutorFactory>)jsExecutorFactoryForBridge:(RCTBridge *)bridge | ||
{ | ||
_turboModuleManager = [[RCTTurboModuleManager alloc] initWithBridge:bridge | ||
delegate:self | ||
jsInvoker:bridge.jsCallInvoker]; | ||
return RCTAppSetupDefaultJsExecutorFactory(bridge, _turboModuleManager); | ||
} | ||
|
||
#pragma mark RCTTurboModuleManagerDelegate | ||
|
||
- (Class)getModuleClassFromName:(const char *)name | ||
{ | ||
return RCTCoreModulesClassProvider(name); | ||
} | ||
|
||
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const std::string &)name | ||
jsInvoker:(std::shared_ptr<facebook::react::CallInvoker>)jsInvoker | ||
{ | ||
return nullptr; | ||
} | ||
|
||
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const std::string &)name | ||
initParams: | ||
(const facebook::react::ObjCTurboModule::InitParams &)params | ||
{ | ||
return nullptr; | ||
} | ||
|
||
- (id<RCTTurboModule>)getModuleInstanceFromClass:(Class)moduleClass | ||
{ | ||
return RCTAppSetupDefaultModuleFromClass(moduleClass); | ||
} | ||
|
||
#endif | ||
|
||
@end |
Binary file added
BIN
+687 Bytes
ios/Jellyfin/Images.xcassets/AppIcon.appiconset/App-Icon-20x20@1x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+1.54 KB
ios/Jellyfin/Images.xcassets/AppIcon.appiconset/App-Icon-20x20@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+2.44 KB
ios/Jellyfin/Images.xcassets/AppIcon.appiconset/App-Icon-20x20@3x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+1.02 KB
ios/Jellyfin/Images.xcassets/AppIcon.appiconset/App-Icon-29x29@1x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+2.39 KB
ios/Jellyfin/Images.xcassets/AppIcon.appiconset/App-Icon-29x29@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+4.11 KB
ios/Jellyfin/Images.xcassets/AppIcon.appiconset/App-Icon-29x29@3x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+1.54 KB
ios/Jellyfin/Images.xcassets/AppIcon.appiconset/App-Icon-40x40@1x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+6.13 KB
ios/Jellyfin/Images.xcassets/AppIcon.appiconset/App-Icon-40x40@3x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+6.13 KB
ios/Jellyfin/Images.xcassets/AppIcon.appiconset/App-Icon-60x60@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+10.9 KB
ios/Jellyfin/Images.xcassets/AppIcon.appiconset/App-Icon-60x60@3x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+3.39 KB
ios/Jellyfin/Images.xcassets/AppIcon.appiconset/App-Icon-76x76@1x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+8.71 KB
ios/Jellyfin/Images.xcassets/AppIcon.appiconset/App-Icon-76x76@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+9.95 KB
ios/Jellyfin/Images.xcassets/AppIcon.appiconset/App-Icon-83.5x83.5@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.