J'essaie de mettre à jour mon application avec le code-push. Mon code est le suivant:Code-push vérifier pour la mise à jour
export default class codePushTest extends Component {
constructor(props) {
super(props);
this.state = {
updateAvailable: false,
downloadingUpdate: null,
installingUpdate: null,
downloadProgress: null,
}
}
componentDidMount() {
let self = this;
codePush.checkForUpdate().then(update => {
if (!update) {
self.setState({updateAvailable: false})
}else{
self.setState({updateAvailable: true})
}
})
}
handleUpdate() {
let self = this;
const checkUpdateStatus = (status) => {
switch (status) {
case codePush.SyncStatus.DOWNLOADING_PACKAGE:
self.setState({downloadingUpdate: true});
break;
case codePush.SyncStatus.INSTALLING_UPDATE:
self.setState({installingUpdate: true, downloadingUpdate: false});
break;
case codePush.SyncStatus.UPDATE_INSTALLED:
self.setState({installingUpdate: false, downloadingUpdate: false, updateInstalled: true});
break;
}
};
const downloadProgress = (downloadedBytes, totalBytes) => {
self.setState({downloadProgress: (downloadedBytes/totalBytes) * 100})
};
codePush.sync({updateDialog: false, installMode: codePush.InstallMode.IMMEDIATE}, checkUpdateStatus, downloadProgress)
}
renderButton(){
if (this.state.updateAvailable){
return (
<View style={{marginTop: 40}}>
<TouchableHighlight onPress={this.handleUpdate.bind(this)}>
<Text>An update is available.</Text>
</TouchableHighlight>
</View>
)
}
}
render() {
return (
<View style={styles.container}>
<Text style={styles.welcome}>Welcome message. </Text>
{this.renderButton()}
</View>
)
}
}
Ainsi, ce que je suis en train est de vérifier si une mise à jour disponible en componentDidMount
et si elle est, puis mettre à jour l'état et en fonction de ce bouton de mise à jour du spectacle de l'État.
Mais le problème est, quand je pousse le code, et c'est le plus récent code dans l'application, il montre toujours le bouton An update available
.
Si je modifie le contenu de mon application et l'envoie au serveur de code push avec code-push release-react AppName ios
, le bouton affiche à nouveau, c'est bien. Si je clique dessus, le nouveau contenu est affiché et le bouton disparaît, ce qui est bon.
Mais le problème est que si j'actualise l'application, j'obtiens à nouveau l'ancien contenu et le bouton s'affiche à nouveau. Et si je clique dessus encore, rien ne se passe.
Une idée de ce que je fais mal?