Getting the user's information on iOS - iphone

I am developing an iPhone App using Xcode 4.2 .
is there is a way to gather the user's information (name , phone number ,e-mail etc...) upon download from the App store ? if yes , how ?

No, you can't legally gather user's name, phone number, etc.
That would be a privacy violation, and Apple doesn't allow developers to do such things.

NO.. not with official iOS sdk.. Apple will not allow your app in app store if you do so!

You can have the app politely request the user to enter some info about themselves; but according Apple's approval guidelines, can't require that they actually do enter any identifying info.
In addition, Apple provides no identifying info to the developer, and likely can't according to their iTunes privacy policy.

That's what iOS is all about - apps running in a sandbox to keep the user safe and only sharing data with user interaction. You can only get user data by using the AddressBook.framework, which the user has to engage with to allow your app to access that information.
If you're looking for an easy way to get user data, switch to Android. ;)

Related

Interface to the AppStore?

I have a requirement that a client wants to be able to allow users to download apps from within an app (which I will call the main app), based on a user's score (when a user achieves a certain score, they can have an app). We would like to do this without linking to the app store directly, so that users of the main app can be granted access to another app.
So, is there a way to interface to the app store while hiding the official app store from the user? I have seen similar functionality in Passbook, but not exactly what we are looking for. Any ideas? Thanks! Viv
Possible duplicate
How to link to apps on the app store
If your app is in Apple appstore, you can use itms:// service to install apps directly. Check the above link that tells awesome stuff about the apple app store itms services.

ios6 device identification and profiling

I have made a social application, since I don't like apps that asks to create a profile...remember passwords...etc, my app works without login needed.
In order to identify an user, I use the UDID. In iOS6, Apple doesn't provide no more access to UDID, but forces developer to use the identifierForVendor, the problem is that this identifier changes if the application is deleted and installed again...or if the application is upgraded.
What are your suggestions to save users profiles?
Is there other ways to have a kind of "login" without an account?
Thank you very much.

How to identify user across devices on iOS?

I am working on an app where user will be buying some "credits" as in-app purchases and use them to buy some services inside the app. As user can has more then one device I need to identify him across different devices.
I understand I can create some logging (and store user accounts on my own server) but I would like to avoid this. In best case I would like to use Apple ID but I can't figure out how can I access Apple ID inside an app?
I found similar questions here but no satisfying answer. I do not believe there is no chance to access Apple ID from the app (I don't need password, just the id) as I found something like AVMetadataiTunesMetadataKeyAppleID in AVFoundation but this framework seems to be only for Mac OS X.
Any suggestion how to solve this?
Sorry. There's no way to do it without implementing your own authentication system on your own server. UDIDs are unique to each device and Apple does not give access to the iTunes user account whatsoever.
Other way is you can use facebook authentication in order to achieve that. Just connect you app with facebook api and u can keep their login address with some additional info.
Furthermore, it might be useful for your app if they can share your app with their facebook friends :p
You can identify user with help of GameKit.

Unique identifier for an iPhone app, NOT device

I want to avoid user registration in my app, and to identity my user by purchased app.
If someone purchase app on his iPhone, and with the same Apple ID download this app on other device, I want to use the same settings and content on this devices.
Is posible to use identifiers like AppleID (without entering in input field by user)?
I found similar question but UniqueIdentifier is unique only for physical device, not for user.
No. Apple does not give an app access to the user's Apple ID without the user's involvement. And for good reason.
I don't think you should outsmart the user. You can't assert that the user will want the same settings on another device. For instance I manage all my family iphones and download apps for them, all of them have their own accounts in apps and like different preferences. That's why it's the best to allow users to create accounts and sing in. This way user has a clear understanding what he/she is doing.

Does Apple accept iPhone App with hidden functionalities?

I'm building an iPhone app for a restaurant and would like to implement also an administration area that should only be accessible/viewable to approved users (users will be approved on a server).
Will Apple accept an App which has functionalities hidden to the majority of its users?
Thanks,
Miguel
There is a "Review Notes" field when you submit your app to the app store. From iTunes Connect Developer Guide, "Use this field to give demo account information with full access
to Apple for purposes of reviewing your application." You need to provide detail information here. If you don't do this and Apple finds out later the hidden things, then they will remove the app from the app store. You can safely provide information here, as this information is only available to the review team. User won't see that.
They don't like this, and you could get pulled if they found out. When you submit your app you are able to provide information only visible to testers, which could be used to provide a login to your admin service.