Am I allowed to ask for and store a user's itunesconnect password? - objective-c

I am building an Apple developer analytics app, which displays info stored in itunesconnect Daily Sales Reports. Thus I would like to automatically download these Daily Sales Reports (which I achieved by using this script). This app will be released on the Mac App Store and is sandboxed.
Am I allowed to ask for and store a user's itunesconnect password?
If so, what is the correct way to do it?
EDIT:
Thank you James and Michael, Keychain Services is definitely the way to go.
I do have one follow up question.

The answer is yes, thank you James and Michael, and the correct way to store it is with Keychain Services. I used an objective-c wrapper that you can find here.

Disregard my earlier comment, I misunderstood your question (I thought you were trying to access a database). If the user gives you the information willingly, there is not problem; the issues would arise if you tried to trick the users into giving you the information. As for the correct way to do this, you could just ask them to put in their password, giving them the ways you would use them. There would, however, possibly be legal issues down the road if you use the passwords in a different way then you tell the user.

Related

Is there a way we can simplify the UX of adding a CalDav Account in my react-native application?

I work for a company that generates calendars for professionals and we'd like our users to synchronize their calendar on their phone for simplicity's sake. We initially had an ICS file, but we started hitting issues out of our control and we're looking to switch to a full CalDav support.
However, the steps necessary to create a CalDav account can be a bit tedious
( https://www.youtube.com/watch?v=BfPtH8fOLfw ) especially since in our mobile app, we already have an authentified user, we were wondering if there was any way we could do the setup for the user, so he/she doesn't have to switch back and forth to copy/paste the CalDav Account Credentials.
Surprisingly, we've found nothing. No NPM package, no way to simplify this. We did found a way to generate a configuration profile with the data, but we were told to steer clear this idea since some of our customers may be using a company-provided phone and it was possible to prevent any sort of installation through configuration profiles.
Anyone has an idea on how we can make it simple for our users and give them the best UX as possible ?
Thanks :)

Password protect an app so only specific users can create an account

Trying to avoid User ID's and matching correct ID's, looking at 200+ users, and that can be a mess. Is there a way for there to be a PW required prior to downloading the app? Thanks.
Please edit your question with the platform and language(s) are you using. With so little context it is nearly impossible to answer this question.

Test accounts for twitch

I am developing an application that will let users login via Twitch.
We already support Facebook login.
For Facebook, testing was easy as through a developer account I could create 2000 test accounts and signup using them one by one.
For twitch, I could not find anything similar. I am signing up everytime, verifying the email and then testing. Is there an elegant solution to this?
(I hope this won't be marked inappropriate as this is not a programming question)
Thank you.
There are no easy way to approach this,
Although Baba Tools has made a really descent tool for that, which creates temporary emails and verifies them.
I think it's the easiest approach you can get.
There are few others in the market, but babas probably the best.
Twitch does not have any api to create test accounts.
https://discuss.dev.twitch.tv/t/creating-test-users/3803

Location-specific (GPS-based) apps and the Apple Review Process, should they work without GPS too? [edit]

I was wondering if anyone has any experience of submitting location-specific apps to the Apple App store.
What I mean by location-specific is an app that only works when you are at a particular location. For example, a GPS tour of a historical battleground might have content that is triggered at particular lat/long coordinates when the user is at the actual physical location.
So my question is: In order to make the app be likely to be accepted on the app store do I..
(1) Not worry about it as there's evidence that the Apple Reviewers have some way of simulating the GPS. I can then supply lat/long coords to the reviewers so they can experience some of the content.
or (I suspect more likely)
(2) I Need to make it work anywhere in order for the reviewer to see at least some of the content (e.g. have a menu or map interface that allows direct access). This could be a 'secret' option explained in the review notes accessed via a special key combination or something.
Has anyone else run into a situation like this?
Regards,
Ben
Edit: Thanks for the responses. My app has now been accepted by Apple. Interestingly I didn't need to make the app work anywhere or add any new methods of using the app at all, they simply asked me for a video of the app in action. I made a YouTube video of the app (unlisted of course) and sent it to the reviewers.. and now it's accepted! I was very surprised that this is how it worked out!
I asked this same question (and answered it myself) a while back. I basically added a "Drop Pin" feature so the testers (and users) could pretend to be somewhere else.
I submitted an app recently that "works anywhere" (and uses GPS) but "works best" in New England when looking for data (on our server) that is near your current location. The app also supports entering a city & state or zip code to perform searches. So, in the submission, you can tell the reviewers how to test it, and we explained the nature of the app and how to test the functionality by using specific New England locations. The app was approved, for what it's worth.
Basically, when you submit an app, there is an opportunity to give the reviewers guidance. So definitely tell them what they need to know to make your app work for them, wherever they might be in the world! :-)

What are the best practices for managing multiple users on an iPad app?

What are the best practices for setting up multi user functionality in an iPad app?
I am trying to start an ios project for iPad which will create new username, and password, as well as managing different users on a given device locally on the iPad in order to access the app itself. Something like what keeper does when you first open the app comes into mind.
What are the most suitable practices for achieving something like this? Can anybody point me in the right direction?
The solution I opted for is to create a table with Core Data and store username and a mod5 representation of the password. Unfortunately everywhere I looked it showed that keychain only saves passwords for what it assumes to be the only user using the device.
You can use Sci-fi Hi-fi keychain utils, which is a sweet wrapper around Keychain. It allows storing passwords on a per-user and per-service basis. I'd advise storing your usernames somewhere (CoreData, maybe) and then querying through SFHF to see if the password's valid.