upgrading to iCloud drive - ios8

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.

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 :)

Application data lost after upgrade iOS 7 to iOS 8

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.

How can I test app on older iPhone 3G with iOS v 4.2.1

I have been testing my app on my iPhone 4S and my wife's iPhone 3GS. I would also like to test it on the older iPhone 3G running iOS 4.2.1 (the highest version it will support).
When I connect the 3G to my Mac and attempt to provision it, I get two error messages:
Could Not Support Development
and
Xcode cannot find the software image to install this version
I am using the latest version of xCode (v. 4.4.1).
Is there some place to find the missing 'software image' in order to test my app on the 3G and older iOS devices?
If not, how does one know what devices the app will work with?
I do note that the newer iPhones that run iOS5 and above also support Automatic Reference Counting (ARC). I have checked the ARC button whenever I created a new project. Does one have to abandon ARC if one wants their app to work on an older pre iOS5-capable device?
...Dale
Is there some place to find the missing 'software image'?
I believe you can download it through iTunes by clicking restore in the device's summary page and then searching for the *.ipsw file. iTunes might even share the image once it is downloaded automatically.
Does one have to abandon ARC if one wants their app to work on an
older pre iOS5-capable device?
Not in entirety. iOS 4.2 supports the vast majority of ARC, But it does not support weak references.
Also, there are a few hoops you must jump through to target. I have an answer here that outlines them (with screenshots).
I know for a fact that Xcode 4.4.1 can use an iOS 4.2.1 device as a target, since I can test on a second generation iPod touch running 4.2.1.
Finally, If you are not able to obtain a software image, you could try adding your device by UDID directly on the provisioning portal through developer.apple.com.(The old fashioned way)

Do I need an Apple Developer account? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 5 years ago.
Improve this question
I am newbie in Xcode and Mac. I can make programs working well on simulators but cant make dmg files . Somewhere I heard I need an Apple Developer account ( 99$) for that but I dont want to publish my file on App store. I just need to install it on 1 or 2 other Macs.
With Xcode 7 you are no longer required to have a developer account in order to test your apps on your Mac and/or iOS device:
Check it out here.
Please notice that this is the officially supported by Apple, but you'll have to use Xcode 7 or later and your iCloud account.
Before going on - You CAN develop iOS apps and deploy to device from Xcode without developer account, but as far as I know it can be done only on jailbroken devices.
Check this link for more info.
UPDATE
sorry, I thought you meant developing for mobile. check this video about Creation of .dmg files for more information.
ORIGINAL ANSWER
Have a look at the apple developers page to see the different account types. Specifically, the free account:
If you're not ready to join one of our developer programs, you can register as an Apple Developer for free. As a registered Apple Developer you gain access to development tools, resources and information to assist you in creating apps for iOS and OS X. Learn more
With the free account you could run your app on any mac OS as well as on an iPhone connected to the mac OS.
With the paid account you could install the app on any provisioning device and submit the app to the store.
If you are developing for the mac and you are not going to publish on mac app store, you do not need a developer account.
You do need an account for any of the following:
Install an app on an iOS device (even your own one for debugging)
Publish an app on any of the app stores (either iOS or Mac)
Edit: note that if you do not have an account, your Os X applications will be unsigned. They'll work, but each of your users will get a warning and will need to lower the security settings of his Mac in order to be able to run the application (or, at least, he'll have to approve each application specifically).
You need Developer account for developing and debugging application on device. Of course, there are several ways to do that without this account... Have a look:
http://www.alexwhittemore.com/developing-jailbroken-iphone-ios-401/
You don't need an Apple developer account to make apps, but if you want to put them on the App Store, gain access to developer beta release software and forums, then yes you do.
You can develop Mac applications without a membership, but if you want to develop iOS applications, you need a membership to run your app on any device.
If you want to run your iOS app in the iOS Simulator, though, you don't need a membership. You can install Xcode and the iOS Simulator on any Mac running 10.7 Lion or later.
Maybe you want to use the Simulator binaries on other Macs without having to compile the app on the other Macs, then you should have a look at that tool: https://github.com/landonf/simlaunch

Location services are not functional in iOS 4.3 simulator running on Mac OS 10.7 with Xcode 4.2

I have built an iOS app that leverages Core Location Framework. I have Xcode 4.2 installed and Lion and now Location services are not functional.
Anyone know if there is a patch or workaround for this? I basically stuck and can't test my app on the simulator.
The updated location services in the iOS Simulator are not available to the general public as of yet. If you have access to the iOS Developer Program, you can download the latest beta of XCode, 4.2, and test that way.
As a warning, the beta is just that, a beta. You may end up with more testing issues that are completely unrelated to your location services.
Best case scenario is 2 machines, one for each. That isn't always feasible, so you'll have to decide which is more important. Good luck.
Testing on the device would definitely be a good work around. You will want to test on a real device to check Xcode 4.2 is still in Beta, so this might be a bug in this latest version. According to the documentation it is supposed give you the latitude and longitude of the Apple headquarters as a default.
iOS Simulator notes

Resources