Existe-t-il un moyen simple de nettoyer le répertoire dans lequel xcode déploie une application lors de la construction pour le simulateur iPhone? J'ai une base de données sqlite qui est copiée dans le dossier Documents au démarrage si nécessaire. Le problème est que je pourrais changer mon schéma, mais la nouvelle base de données ne sera pas copiée, car il en existe déjà une.
Idéalement, chaque fois que je construis, cela nuirait au contenu précédent. Est-ce possible ou dois-je le faire manuellement?
iphone
xcode
ios-simulator
Travis Jensen
la source
la source
Réponses:
Le simulateur installe les applications dans:
Vérifiez également:
Les fichiers et répertoires GUID correspondent aux applications installées du simulateur.
Supprimez manuellement tous ces fichiers / répertoires pour supprimer toutes les applications du simulateur.
Je sais qu'il existe un moyen d'ajouter des scripts au processus de construction dans XCode.
De plus, il semble que XCode modifie le GUID qu'il utilise à chaque build (le répertoire où se trouve mon application change entre les builds dans XCode), donc essayer de supprimer le même répertoire tout le temps ne fonctionnera pas. Si vous ne travaillez que sur une application à la fois, effacer tout le répertoire serait une option.
la source
git reset HEAD --hard && git clean -f
pour supprimer un abonnement au calendrier après l'avoir ajouté.À partir de Apples Dev Resources:
Cela ressemble à:
la source
Hardware > Reset Content and Settings
La façon dont je fais cela consiste simplement à cliquer et à maintenir l'icône de mon application dans le simulateur - puis quand elle commence à trembler, cliquez sur le noir et blanc (x). Un message apparaîtra vous demandant si vous voulez vraiment supprimer et vous cliquez simplement sur Oui. La prochaine fois que vous construirez et déploierez votre application, elle utilisera la nouvelle base de données sqlite sans accroc et vous n'aurez pas à vous déplacer dans le système de fichiers.
la source
Après iOS 5 sur Mac OS X Lion, vous pouvez essayer:
RemoveSimulatorApps.command
qui contient:PATH
.Hypothèses
la source
c'est peut-être exagéré mais ..
vous pouvez également utiliser le menu et 'Réinitialiser le contenu et les paramètres ...'
la source
Ce que vous essayez vraiment de faire est de vider votre base de données, si vous avez changé le schéma. Une façon de faire cela, et cela vous rendrait plus heureux à long terme lorsque vous commencerez à expédier la version 2.0, 3.0, etc. de votre application, est de vérifier la version de votre table sqlite, et si elle a changé, puis supprimez le ancien fichier et utilisez celui de votre bundle.
Trouver un moyen de nettoyer le simulateur ne résoudra pas le problème réel du nettoyage de l'iPhone d'un client lorsque vous expédiez une nouvelle version avec un nouveau schéma.
Pour des points supplémentaires, après avoir déterminé que vous avez rencontré un ancien schéma, vous voudrez peut-être copier la nouvelle base de données sans détruire l'ancienne, et charger toutes les données intéressantes de l'ancienne base de données dans la nouvelle. Puis soufflez l'ancienne base de données. De cette façon, vous pouvez conserver les ajouts de vos utilisateurs à la base de données.
la source
pour Xcode> = 6
la source
Si vous utilisez Xcode 9 -> Barre de menus -> Matériel -> Effacer tout le contenu et les paramètres
la source
À partir de Xcode 6, vous pouvez le faire à partir de la ligne de commande avec: xcrun simctl erase
En outre, l'application iOS Simulator (à la fois la version Xcode 6 et les versions antérieures) dispose d'un élément de menu appelé "Réinitialiser le contenu et les paramètres" qui peut être utilisé pour effacer l'appareil actuellement démarré.
la source
Cela fonctionne avec Xcode 6:
Pour .bash_profile
la source
À partir de Xcode 6:
xcrun simctl erase <sim udid>
<- réinitialise le simulateur.la source
Effacer le cache Xcode;
(Utilisez les deux car ils ont des fonctionnalités différentes)
Effacer le contenu des données dérivées;
Le volet droit affiche le nom du dossier et le bouton de suppression sur le côté droit vous permet de supprimer tout le contenu des données dérivées.
Effacer le cache du simulateur;
la source
Comme je l'expliquais dans un commentaire sous la réponse validée :
Je testais l'ajout et la suppression d'abonnements au calendrier. Sur un appareil réel, vous pouvez supprimer un abonnement au calendrier dans Paramètres , Comptes mais ce menu n'existe pas dans iOS Simulator et je ne voulais pas réinitialiser tout le simulateur.
J'ai donc fini par versionner localement mon dossier Device avec git et exécuter les commandes suivantes pour supprimer un abonnement au calendrier après l'avoir ajouté:
Les étapes sont donc:
~/Library/Developer/CoreSimulator/Devices/
et effectuez une opérationcd
dessus, puisgit init
créez un référentiel gitgit commit -a "Message"
git reset --hard HEAD
git commit
ont disparu.la source
Dans XCode, accédez à l'option de menu Fenêtre, sélectionnez Périphériques, puis vous pouvez simplement supprimer ceux dont vous n'avez plus besoin.
la source
Pour Xcode <= 5
J'ai ajouté ce qui suit à mon
~/.bash_profile
Il détruit simplement toutes les applications de la carte SIM.
la source