I am researching UDID alternatives, and OpenUDID seems interesting.
I have done some testing and if I remove the app, and re-install again, the value of OpenUDID remain the same, I am just wondering how they do that and is the value always guaranteed to persist if I don't hard reset the phone.
They do NOT use the keychain, they use the UIPasteBoard, which is a shared OS construct that persists across device restarts. From the doc:
"system pasteboards are persistent across device restarts, application uninstalls, and restores."
http://developer.apple.com/library/ios/#documentation/uikit/reference/UIPasteboard_Class/Reference.html
Giving a quick glance at the naming conventions they use, I'd say they are almost certainly using the iOS keychain. This is the same as the OS X keychain, except it doesn't allow end users direct access the way Mac OS X does. Even if the app is uninstalled, this information will not be removed. It is stored in a controlled environment to prevent jailbreakers from getting it.
I would suggest BPXUUIDHandler.
I sent an app using it 5-6 days ago and the app is approved yesterday(by Apple, which means it passed 1 May, 2013 - lose your udid's) , it persists unless the device is restored. I used it in 5 or 6 apps of mine and never had an issue with it.
Related
I'm developing now an app for Apple TV. It is a client-server app. On registration, users get a free trial period. My goal is to avoid situations when user will just register new account or reinstall the app and get the trial period again. I need to identify if trial was already activated for each concrete device. So I would like to know if there is a legal or semi-legal way to identify each device? I will appreciate any ideas!
You can store some value in the Keychain (read more about it
here) and check if this value was previously stored in the Keychain. If so, it means that user installed your application before.
You can use identifierForVendor (documentation) but that changes once the app is uninstalled.
The value in this property remains the same while the app (or another app from the same vendor) is installed on the iOS device. The value changes when the user deletes all of that vendor’s apps from the device and subsequently reinstalls one or more of them.
Perhaps you could couple that with a user's email address to prevent creating new accounts. Not foolproof, but certainly makes it more difficult for the user to get around it. They would need to uninstall the app and use a different email address to circumvent you.
Is there a way to officially bypass the iCloud lock on 8.1.2 (iPhone 5C) devices, outside of Doulci? Something free, and does not require dialing 112? Apparently that's an emergency number.
I need this to continue development on iOS devices.
If not, is there a way or software to forcibly downgrade my iOS version to 7.1.2, or an early hackable iOS 8 firmware without iTunes? I own a Macbook Pro, running Yosemite, if that makes it easier. I have access to a Windows machine too.
This is a legitimate question, and it's not a duplicate from the last one I had made asking for Doulci specifics. Please do not lock this unless the question becomes dead, I don't know how to contact people and ask why the questions are "Deleted". I don't understand why my last question (which was all about Doulci) was locked. I really believe this would be useful for other iOS developers who don't have $500 on hand.
Thanks! :)
If you mean the Activation Lock, then I really count on there being no way around it since IOS 8.
If you load a different os on it (i.e. jail break it) then you may have some joy, for a while, but you will need the password to get IOS 8 back on it.
The best way is to turn off find my iPhone, using the password.
If no password then you can reset the password if you have the security answers required. last resort call apple support.
Only working ways to unlock/bypass iCloud at current moment:
Ask previous owner to remove it from their iCloud account
Get previous owner iCloud account control in not legit ways/phishing
If it Clean mode than find legit Apple Employee who will remove it by GSX account request
If it Lost mode, than there is no other ways than 1 or 2 steps of this list
If device still works but linked to iCloud, use myicloud info trick to restore backup from working device. Full bypass until first firmware restoring
I have develop server that gives access to web browser - iCloud DNS Bypass, it free and works for all iOS versions. So it only bypass working at current moment, but no calls and no mobile Internet.
The only way at the moment is to Erase the SSD nand Completely which the device Has Security measures for keeping you from doing so. Thus the SSD nand would have to be replaced, then restored with IOS version you wish to install.
A user is reporting a crash in my app but I can't seem to recreate it and have not heard of this crash from any other users. He claims the app crashes when he comes back to it after using different apps. There are no crash reports on iTunes connect either and hes using the latest device and os.
Have the user follow the directions here:
http://www.ispeeddial.com/how-to-find-the-crash-log-for-an-iphone-application/
You should not worried about it much. There are many SDk around which allow user to submit there bugs/feedback direct to developer rather than on itune store. There may be several reason either he/she put down your app(marketing strategy). But the nicer solution is i can tell you that somehow may depend of your code may be related the memory leak. If you are confident with your coding standard then finally you should not worry about until unless many people does not complain about it
I recently recovered from not being able to test on my device in Xcode. After much headache, it turned out that I only needed to uninstall/reinstall iTunes, but I'd certainly rather not do so frequently.
(See: prior thread)
The troubles seemed to begin after I built and ran some sample projects which obviously did not have my App id, etc. Is this always the case? Should I live in fear of compiling other projects that I haven't previously associated with my device and/or developer profile?
I'm not exactly sure if the App id/bundle/provisioning/keychain/whatever needs to be done per test ad hoc App or if it only matters that your device is provisioned and your plist matches what Apple has when you go to upload to the iTunes store.
I've run many samples on my device through Xcode and never had any issues. There's certainly no reason why this should happen.
It's hard to say "No, you shouldn't be worried" without knowing what the issue is, but it's not intended to break in this way, and it doesn't for most of us!
I have an app on the Store for which we’re readying an update.
The other members of our team have the App Store version already loaded up (~purchased) on their respective iPhones -- and those contain User Data which each member needs to be able to keep.
In the meantime, we need to test out a Beta version of the next version of the app.
Presumably, we’d need to have the two versions (ad hoc, and app store) co-existing on each device, at least until everyone’s signed off on the beta and it’s uploaded to the store (at which point, they'd delete the beta version).
[Once it’s on the Store, of course, they can each update their main (i.e., Release) version of the app via the usual App Store 'update' mechanism. In that case, all their user data is still retained intact.]
So assuming that’s the proper workflow ...
How do I issue a Beta to the team, and have it not replace/overwrite the existing App Store version?
I’ve tried customizing parameters in the beta’s “[appname]-Info.plist”, but haven’t found a setting yet that allows the two versions (beta and release) to co-exist on the same device.
Any ideas? And is this is the proper approach to them being able to keep their data?
(And last, how might I do it with & without a script? I assume there's just one parameter that'd need to be changed.)
I hope this all makes sense -- thank you in advance for your help!
So you want to have two versions of the same application on one device? I don't think there's a way to get this effect -- updating an application, which keys on unique CFBundleIdentifier, replaces old version bundle but not data.
For the effect you want, you must have two distinct applications. They need different CFBundleIdentifiers, so they won't overwrite each other. They then cannot share data, so you'll have to arrange for export/import involving an off-device shared space.
If you don't want this hassle, issue the team extra devices and test on those. The team's primary devices remain on the AppStore version. You must still export/import to bring content from the test devices to the primary devices. Any paid content each has on the App Store version should be available for their beta, though, as usual for app upgrades and one-owner multiple-devices scenarios.