5 ms·
There are reports that iOS 14.5 changed some sort of signature system, requiring people that first installed certain apps from long enough ago to redownload the
by brirec 5y ago
There are reports that iOS 14.5 changed some sort of signature system, requiring people that first installed certain apps from long enough ago to redownload the app from the App Store. Chances are that if you delete and redownload Momento Classic from your current iPhone it’ll “just work.”
- xuki 5y agoDon't do that, that'll delete all the data as well. Try to "Offload app" instead, the phone will delete the app but keep the data.
- ChrisMarshallNY 5y agoThis is a nasty problem that has been around for decades: Data storage rot. Here's a rather embarrasing example of data storage rot[0]. > Don't do that, that'll delete all the data as well. Not necessarily, but it depends on the app. I use the User Defaults dictionary all the time, for things like operational prefs. I even have an SPM module that I wrote for it[1]. User Defaults gets deleted with the app, unless you do some hacking to sync it somewhere else. I think that storing as an app file may also get deleted when the app is deleted. We're not supposed to use that for persistent data, though. Apple provides Core Data for that kind of thing (a mixed bag). Even that needs to be done correctly, like storing using iCloud (Disclaimer: I have not chosen to use Core Data for my apps, so I can't speak to it authoritatively). Or you could do what I do: Use a server. [0] https://www.theguardian.com/uk/2002/mar/03/research.elearning https://www.theguardian.com/uk/2002/mar/03/research.elearnin... [1] https://riftvalleysoftware.com/work/open-source-projects/#RVS_PersistentPrefs https://riftvalleysoftware.com/work/open-source-projects/#RV...
- ericlewis 5y agokeychain persists, user defaults won't, if you store files in the documents directory it will persist if offloading the application. CoreData will NOT afaik, unless you choose to define where it persists. I'd also say that CoreData isn't exactly only meant for persisting data either - it can do that, but first and foremost it is an object graph. more fun facts: user defaults has a limit to how big it can be. And I also think that your library would benefit from using actual types instead of Any, you can actually define this so long as the value is Codable, generics would make the library nicer to work with instead of requiring the dev to cast the type themselves. You basically just switch out Any for a generic and have the Generic conform to Codable. If targeting an iOS version that is 14+ I would just recommend using the AppStorage or SceneStorage property wrappers.
- ChrisMarshallNY 5y agoHey, thanks for that! I can probably require Codable (even though it has been around for a while, I've only been using Codable a few months). I'll probably do that. I started it years ago, so it has a lot of legacy. I will probably do a refactor, when I come up for air. A couple of my libs could use a facelift.
- yalok 5y agoThank you, this saved my day!!! I had very similar problems with MiniHack app on my older iPhone, that it stopped working after iOS 14.5 upgrade, but which still worked on a newer iPhone. Offloading and reinstalling the app fixed the problem!
- daxelrod 5y agoThank you, this is fantastic advice that just worked for me to be able to redownload an old app with a new signature without losing its data.
- swiley 5y agoWhy can't they just have a home folder to keep their stuff in? Yeah all the apps could read it so don't put malware on your computer.