I am trying to test the iCloud sync functionality of my app between a (real) device and the simulator, however I can't seem to log into iCloud. When I go to Settings->iCloud and enter my account details, it just gets stuck on 'Verifying'. However if I enter incorrect details, it brings up the invalid password prompt as expected.
Has anyone got a fix for this?
TL;TR Log into http://www.icloud.com and agree to the terms.
It works. But there are some additional steps needed:
At work I tried with my new apple id: at work XYZ#mywork.com. At first It didn't work even though I was able to access iOS dev center. I realised that it is required to access to http://www.icloud.com with such Apple ID and agree to the terms. After a few seconds I received a 'Welcome to iCloud' email to my work address and then I went back to the simulator and I successfully logged in.
BTW, for a personal account XYZ#mac.com I have for ages and use regularly it worked from the beginning probably because I have agreed to the terms a long time ago.
So not only #icloud.com of #me.com or #mac.com accounts work. All accounts work.
Create an Apple ID from appleid.apple.com. You need an email address and a phone number to authenticate.
Login to icloud.com and accept terms and conditions.
Open Simulator, log in with your new Apple ID.
Done.
I had the same problem today as I was trying to use iCloud + Core Data in the simulator (iOS 8.0, Mavericks). What I found out is that you should use, in the simulator, your #icloud.com e-mail. If you do that, you are able to login and use some iCloud functionality.
This is Perfect Solution, it's 100% working
Create an Apple ID from appleid.apple.com. You need an email address and a phone number to authenticate.
Login to icloud.com and accept terms and conditions.
Open Simulator, log in with your new Apple ID.
Done.
Related
Please could someone help! Been trying this for hours.
iPhone not showing up in Devices that can get prompts.
I followed instruction and signed into my google account on iPhone's google app and pressed Try Again:
If you have an iPhone
Get the Google app from the App Store
Sign in with your Google Account
The phone is still not showing up on the list of devices. I tried it from Safari and Chrome.
I also even tried to do it on the iPhone from the Google App itself, and even though Im signed into my account and then chose to switch on 2 factor authentication, during the process it still does not show the phone in 'These devices can get prompts'.
Restarting the laptop is apparently what the doctor recommended!
Another thing I did that was new, was to not follow the prompt 'set up 2FA' upon logging into the Google Account. I chose 'skip'. Then went into my Security and chose to set it up through there.
FINALLY, my phone showed up in the list of devices.
Following Apple's Password autofill guidelines with App Associated Domains here, I added the apple-app-site-association json file.
My app has that site listed as webcredentials:example.com. My app's bundle id is com.app.App which is listed as one of the apps under webcredentials.apps. The site has an SSL certificate.
In my iOS app I have an email text field with a content type of email (I've also tried username) and I have a password text field with new password (I've also tried password). When I select the email text field I get suggested emails. But when I select the password text field I get the same email QuickType suggestions and I get an error in the console:
Cannot show Automatic Strong Passwords for app bundleID: com.app.App due to error: Cannot save passwords for this app. Make sure you have set up Associated Domains for your app and AutoFill Passwords is enabled in Settings
I have AutoFill Passwords enabled on my device and I've proved that it does work on other apps.
I also never see in the logs that apple is calling my endpoint I provided above.
I verified that my Apple team ID is correct.
I've run out of ideas. Can someone else see what I'm doing wrong? Thanks!
Update:
It works fine on the simulator. The request goes out and the server gets it and it works. On the device it does NOT work.
I turned off the phone and turned it back on and it's working just fine... Really frustrating, I have no idea why it wasn't working, but I do know it was NOT making the network request from the device at all.
I turned off the phone I was testing with and turned it back on and that somehow fixed it... I have no idea why it wasn't working, but I do know it was NOT making the network request from the device at all.
My project have a case: one account user can only log on to one device ( if user log on to app in device A, user can't log on to app in device B). My Idea is: when user login, I'll get the imei Iphone (like android) and send it with request login to server. But I can't get imei. I try with UUID, but UUID will change when re install app. Keychain does not solve the problem. Please help me.
You have to use Keychain to store Unique Id , this will not change even if user delete app
You can use any wrapper Source code to do this
here is an example
https://github.com/Joe0708/KeychainUUID
At the beginning I'd like to mention that I do not know any method that directly answers your question, especially that Apple does not allow you to read IMEI and other similar stuff due to privacy concerns. This has been answered here.
The workaround might be as follows
Take a look at the UIDevice class, especially at the identifierForVendorProperty which provides you (according to documentation ) with a device specific value.
The value of this property is the same for apps that come from the same vendor running on the same device. A different value is returned for apps on the same device that come from different vendors, and for apps on different devices regardless of vendor.
As far as i know some financial apps are secured this way to permit only one device to access the account. This however requires registering a device each time application is reinstalled.
Alternatively you can use UUID you generate within your app (first run) and then you assign it for the user online. It might take the form similar to two step verification process. Be aware however that with such restrictions user will have to be online all the time to use your app.
After a whole day search, i'm unable to find a good solution
Apple does't allow to check IMEI number of iDevice
Apple does't allow to check UDID (Its deprecated)
there is an option of "identifierForVendor" , but i found it may change if user uninstall and reinstall the app.
My Problem at this time is this
for single "Specific USER NAME" any one can install my app on upto 5 iDevices, after that user must change the "USER NAME"
my app just ask this on first Launch and never again. at this stage i want a check or Counter Like anything that counts the iDevices for that "USER NAME" to check if it is 1st, second …. ……… or fifth. ….
need your ideas or help on this matter / issue
What i have got from your question is that you need a unique identifier to identify total devices . Please take a look at my answer here at this post i may help you understand many things ( How to generate unique identifier which should work in all iOS versions? )
you may try to use the token given by apple for APN (Apple Push Notification), it's unique for device+app… there may be the problem that app will ask user permission for push notification, but you can make that mandatory for your app, and let it works just in casa user accepts it..
When you first ever open a new app, whether you're a developer making one, or you have just downloaded from the app store, if Twitter access is needed, it will ask for it.
I can only get this AlertView to show once, per device. No matter what I do, I can't get it back, deleting the app + data, re-building it from Xcode, revoking access to Twitter accounts on the device itself...
None of these work.
I can detect in the code whether on not I have access to Twitter, but it was more of a UI problem I was having when it first appeared. So I really need to see it again.
If anyone could help that'd be great!
To invoke the dialog again, change app id temporarily. Since app id uniquely identifies an app, it'll be like a new app.