어떤 특정기능이 에러가 났다 가정해 보겠습니다. 개발자가 해당 에러를 확인하고 수정하여 앱 스토어에 재등록했습니다. 근데 이렇게 수정해서 업데이트를 올렸는데도 사용자는 에러가 계속 납니다. 왜 그럴까요? 해당 에러를 고친 코드는 아무 이상이 없는데도요? 그건 사용자가 앱 업데이트를 받지 않았기 때문입니다. 코드를 최신화 시켜도 앱 사용자가 업데이트를 받지 않는다면 의미가 없습니다.
이럴 때는 사용자가 앱을 업데이트하고 쓸수 있도록 강제로 유도시켜야만 합니다. 그럴 때 쓰는 버전 체크 라이브러리입니다.
https://github.com/kimxogus/react-native-version-check 해당 주소로 들어가서 따라 설치해주시면 됩니다.
const AppVersionCheck = async () => {
console.log("첫진입 시작");
//기기에 설치되 있는 버전
let CurrentVersion = VersionCheck.getCurrentVersion();
//앱의 최신버전
let LatestVersion = await VersionCheck.getLatestVersion();
//기기에 설치되있는 버전과 앱에 올려져있는 최신버전을 비교
VersionCheck.needUpdate({
currentVersion: CurrentVersion,
latestVersion: LatestVersion,
}).then((res: any) => {
if (res.isNeeded) {
Alert.alert("필수 업데이트 사항이 있습니다.", "", [
{
text: "스토어이동",
onPress: () => {
if (Platform.OS == "android") {
Linking.openURL(안드로이드 앱스토어 주소);
} else {
Linking.openURL(IOS 앱스토어 주소);
}
},
},
]);
}
});
};
해당 라이브러리를 이용하여 앱에 첫 진입 시에 바로 버전체크를 하여 앱 업데이트가 필요하다 판단될 경우 강제로 플랫폼 별 앱스토어 주소로 이동시켜 사용자가 수동으로 업데이트 하도록 유도하였습니다.
이렇게 하면 최신코드와 사용자가 쓰고 있는 코드의 싱크가 거의 비슷해져서 사용자에게만 나오고 개발자가 직접 테스트할 때는 안나오는 불상사는 막을 수 있습니다.