Files
jrshikoku/UpdateAsync.ts
harukin-expo-dev-env 676460353f perf: dev client で expo-updates をスキップ
__DEV__ 時は checkForUpdateAsync() が不要なため早期リターン

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-18 08:38:10 +00:00

39 lines
1.0 KiB
TypeScript

import { Platform, ToastAndroid } from "react-native";
import * as Updates from "expo-updates";
export const UpdateAsync = () => {
if (__DEV__) return; // dev client では expo-updates は無効
Updates.checkForUpdateAsync()
.then((update) => {
if (!update.isAvailable) return;
if (Platform.OS !== "android") {
alert("アプリのデータを更新しています。");
} else {
ToastAndroid.showWithGravityAndOffset(
"アプリのデータを更新しています。",
ToastAndroid.LONG,
ToastAndroid.BOTTOM,
25,
50
);
}
Updates.fetchUpdateAsync().then(() => Updates.reloadAsync());
return;
})
.catch((e) => {
Platform.OS != "android"
? alert(e.toString())
: ToastAndroid.showWithGravityAndOffset(
e.toString(),
ToastAndroid.LONG,
ToastAndroid.BOTTOM,
25,
50
);
return;
})
.finally(() => {
return;
});
};