Application data lost after upgrade iOS 7 to iOS 8 - ios8

Lets say- My application ABC
Application users are facing problem with application while upgrading iOS 7 to iOS 8.
Please check below scenario:
iPhone 5s - iOS 7 - users installed my application (This app supports to iOS 7 not iOS 8).
Users downloaded video files in document directory up to size may be 2 GB.
Application working fine with iOS 7.
When iOS 8 released by apple - users were upgraded devices iOS 7 to iOS 8 with above installed application.
All downloaded videos lost which was saved in document dictionary but it still shows space consumed in device setting.
If users download again same video then it works fine but it shows double consumed memory in device settings.
Would you please give me suggestion for above problem then I can suggest to my application users?

We're having a similar issue - and it only surfaced now that we submitted an Update to Apple (our App crashes on launch on iOS 8.1 due to this change!!! Even though our App has deployment target of 7.0 we're affected, talk about backwards compatibility...).
Apple officially outlines what changed in this technical note: https://developer.apple.com/library/ios/technotes/tn2406/_index.html
iOS 8 changes the locations of the standard directories used for
storing user and app data (e.g. Documents, Library). While the
locations of these directories have always been an implementation
detail, some applications improperly assume that the Documents and
Library directories reside in the same directory as the application's
bundle. iOS 8 splits the data of an application from the application
bundle. Code which attempts to derive the path to the Documents or
Library directories will return an invalid path on iOS 8. Attempting
to access this path will fail, and may terminate your app.
If I understand correctly, even though you were using a proper method to locate the Documents directory on both iOS 7 and iOS 8, you will simply get two different paths. That means users who upgraded from iOS 7 to iOS 8 still have their data under the old Documents path, which resides in your App's bundle. I have no idea as to how Apple thinks we should upgrade our Apps or if there's some automatic copying going on.
I'll have to take a look with a tool like iFunBox (an iOS file explorer) to see what happens.

Related

Where are iOS simulator files?

So because of the poor internet connect I have in China, I downloaded iOS 9.3 simulator SDK from here via multithreads web connection: devimages.apple.com.edgekey.net/downloads/xcode/simulators/com.apple.pkg.iPhoneSimulatorSDK9_3-9.3.1.1460411551.dmg
After installation the simulator doesn't show up in my hardware (Xcode menu), so I guess it wasn't compatible with the newest Xcode 8.3.2, yet it does take up additional 3.6 GB storage space of my laptop (of which only has 9 GB left right now). I then left the laptop on and downloaded the SDK from Xcode directly and installed it successfully, the problem is that it didn't remove the 3.6 GB files from previous installation so now I have less than 1 GB left on my laptop. I like to find out where the SDK is and manually remove them to free up storage space on my laptop.
/Library/Developer/CoreSimulator/Profiles/Runtimes
In 2021 onwards, the device emulator files be found at ~/Library/Developer/CoreSimulator/Devices/, but this contains all simulators installed, which is currently 24 devices on my machine.
~/Library/Developer/CoreSimulator/Devices/$DEVICE_ID/data/Library
To find out your simulator device id:
Launch your simulator
xcrun simctl list 'devices' 'booted'
== Devices ==
-- iOS 14.4 --
iPhone 12 Pro (1320D7BA-FB2E-4E1C-834B-09BE5031054B) (Booted)
iPhone 12 Pro Max (91512DCC-DCEA-4ED4-9731-52D895399940) (Booted)
-- tvOS 14.3 --
-- watchOS 7.2 --
cd /Users/username/Library/Developer/CoreSimulator/Devices/91512DCC-DCEA-4ED4-9731-52D895399940/data would contain these files:
Extra: how to get a Application.app to run on simulator
For example, you could take this app and share it with someone else.
cd /Users/username/Library/Developer/CoreSimulator/Devices/emulator_id/data/Containers/Bundle/Application/
ls # This will list all the application directories, where each directory contains a `.app` file which will work on emulators.
You can drag this .app file onto another simulator and it will install.
You can use Disk Inventory X Application to spot large files in your mac. It is very useful to remove and free up some space.
Anyway, answering your question, the simulator files is in /Users/[Your user account name]/Library/Developer/Xcode/iOS
you should be able to find those unused file there
The best way to deal with this problem, is using an app called DaisyDisk, because XCode download new simulators every time iOS update, today you have iOS 10.3.x, even you delete those, XCode will download iOS 10.4.x or iOS 11 again in the future, you'd have to manually delete those files again.
Using DaisyDisk makes discovering these simulators, as well as deleting them fairly easy, I strongly recommend you to try it.
Bravo Apple for making 128G Mac users suffer :)

Do I need Xcode 7 and Swift 2.0 to update my app

I have an UI issue in my Swift 1 (Xcode 6, iOS 7.1) app on devices running iOS9. I've tried to convert my app to Xcode 7 and Swift 2.0 but I'm running in a lot of issues here.
To give my customers a quick fix until I've figured out whats wrong I was wondering if I can download and install Xcode 6 (the version I build and uploaded the app last time) correct the UI issue (I know what to do) and upload the app again.
In a nutshell: Will Apple deny an app update with an old Xcode/Swift version?
The “Submit Your Apps” page currently (as of 2015-09-23) says
If your app still depends on Xcode 6, you'll need to keep a partition or external hard drive with OS X Yosemite installed in order to submit from Xcode 6.
This clearly implies that you can still submit apps with Xcode 6 (and therefore with the iOS 8 SDK).

Is it possible to upload an iOS app to App Store for internal testing from Xcode 7 beta?

Is it possible to upload an app archive to the App Store in Xcode 7 beta for internal testing with Test Flight?
Has anyone been able to do that?
Note: I am asking about submission for prerelease internal testing with Test Flight. I am well aware that releasing the app to the public is not possible from beta versions of Xcode.
Update
I was able to use Xcode 7 beta and upload binary to the App Store's prerelease section. After that I was able to open it from the Test Flight. Code Signing identity was: iOS Developer. Provisioning profile was "Automatic". Both values were set for Debug and Release.
Yes, you should be able to upload your application via beta Xcode 7. But, the problem is to have potential bugs and that's also why they name it beta. You should take this as a risk when you decide to upload your application via new Xcode. It's okay to go with this way if you are handling your personal application. For your client or business, it's the best to use a stable version.

upgrading to iCloud drive

My application is using iCloud. In the xcode 6 GM edition, I am getting the error which signifies that URLForUbiquityContainer is nil. So, I decided to turn on iCloud drive in my simulator (which uses my apple ID). However, it says that once I upgrade to iCloud Drive (in simulator), my real devices will not be able to access the documents currently stored in iCloud until they are also upgraded to iOS 8. So, is that just a test warning or can it really impact my devices ?
Once you upgrade your iCloud account from Ubiquity to iCloud Drive, there is no going back. This is the case whether you initiate the upgrade from OS X Yosemite, an iOS 8 device, or an iOS 8 simulator.
If you want to stay on Ubiquity for the benefit of older OS versions but test functionality, I suggest you setup a development account for that.

Update application in windowsphone store

I have an application, made in cordova, in windows phone store, which is developed for WP7 OS. If my new, updated version is also developed for WP7 OS, then everything works fine. Files, cache, images are still in app sandbox after update.
Problem appears when I'm trying to make exactly the same update, but I'm using project for WP8. When I do that kind of update, I still have one copy of that application (I mean it is the same position at application list in my phone, not second app on list with the same name), but my previously created files/cache/images disappears.
In WMAppManifest.xml I have the same ProductID
In AssemblyInfo.cs I have the same Guid.
I've also tried to use VB option "convert project to WP8.0" - same result.
Application which is causing this problem is running through windows market - it its developer app only for closed group of people.
If you're side loading app from VS then you'll need to change the ProductID for the different version of the app as it is this that the OS uses to distinguish between apps.
If they are the same the OS will treat the installation of the second app as a replacement of the first.
This is not the case with apps from the store as when your app is repackaged for deployment a new GUID is generated for the ProductID.
If you have two packages, targeting different OS versions, for the an app then you can't install both versions on one device.

Resources