How to set the date and time programmatically in iOS - ios

I have a requirement in which we need to programmatically set the date and time (or sync the time) from a server.
How is it done in iOS?
Is there any Apple documentation which says we cannot do this?

You can't set the date and/or time on iPhone/iPad programmatically. Those APIs are considered protected by Apple. In other words if you were to use those APIs and submit an app using them it would be rejected.
Edit:
To get documentation on this you can contact Apple Developer Technical Support using one of your free tech support incidents included with your developer program. LINK

As the comments to your posters are saying, you can't, because although there is an API to do that, it is "private" and can only be used by Apple. Thus, if you do this, Apple will reject your app because the use of private APIs is verboten on the App Store.
There is no alternative solution. You'll have to explain to your client that as a third party developer, you cannot change system settings, end of story.

Related

iOS NFC-enabled Passes for payments solutions

Our team is developing a payment infrastructure that provides for payment via smartphone with NFC technology.
For Android no problem as we used HCE; while as far as iOS is concerned we have come to the conclusion that the best solution, given the strong limits on NFC technology imposed by Apple, is the use of NFC-enabled Passes.
We have collected several information unfortunately very fragmented as on the net and on the Apple documentation itself not there is a lot of space on the deepening of this type of Pass. I know the implementation is under NDA, but we need to understand which way follow in order to at least start the tests.
With regard to the above, I list the points that are vital for the continuation of the work:
We have already requested the NFC certificate through the
appropriate form but we have not received any response yet. There is
a way, a particular form that the request must have or a sum to be
paid so that the request for the certificate can be processed
faster?
When the certificate is obtained, how should it be used? As already
mentioned, the implementation is protected by NDA, in fact I was
interested understand who I should talk to or how to get Apple's
documentation.
I thank in advance to those who know how to answer these doubts.
You are right, the entire process is under NDA.
I applied, like yourself and also reached out to a Developer Evangilist in Apple. I was told that the process was outside of their control and that you just had to be patient.
When you get the certificate from Apple, it will include an entitlement that enables the NFC support. I believe you just use the cert as normal when creating the pkpass bundle.
As I understand it, Apple will provide all the instructions to you if they approve your NFC request.
You can embed information within the pass that is sent via the NFC tag.
I’m afraid I can’t be more helpful.

iOS app waiting list for customers

I am building out a iOS & Android app. My app may not fully scale to support users and have some limited functionality out the gates. I wanted to put an invite list on the front of registration like Mailbox did a few years ago.
I was trying to read the Apple app store guidelines to creating a "waiting list / invite list" and couldn't get a clear picture. I assume Android is more flexible on this, so I figured I could start with Apple's guidelines first.
Here is what I can find.
In Apple's docs, it says under 3.2.2 "UnAcceptable"
(v) Arbitrarily restricting who may use the app, such as by location or carrier.
In this specific case, I am not blocking by location or carrier. I am just putting up a wall to use the app since some of my users can use it in a limited form, but I can't open it up to everyone on Day 1.
I understand I can run a "testflight" release, but I wanted to make our app available in the App Store for anyone to download since it will be publicly available, just not fully ready for a million people to hit it. My understanding is that the testflight release requires a bit more work based on their docs and isn't as simple as just putting it in the public app store so anyone can get to it.
Apple has the ultimate authority for approving and rejecting apps in their app store so nothing on SO can really be perfect advice. If you are really concerned about approval, you can try to contact apple developers support. Here are a few things I would advise:
Make sure in the developer notes for Apple when you submit to them you include a free account.
In the notes for the app store let the users know that it may take up to __ hours for their registration to get activated.
My understanding is you are doing this to handle the volume of users as you are launching the app. Be advised though that if you start restricting users too much you will possibly get poor reviews. Only restrict usage if absolutely required. If you run into issues make sure you are communicating with the users so they understand.
Good luck with you new app!

How is the Apple subscription working with apps?

I am planning to make an app on iOS. The app will be free. This app will work without the internet. The app should not be able to query my database if the subscription is not paid.
However the app will still receive "notification" or RSS links even without subscription. The subscription will be monthly minimum.
I did some research but some people are saying it is not possible and some are saying this has been changed by apple and it is now possible.
Edit
I would like to add that the app will be as much secured as possible. I will have an SQLCypher database inside - so the key will be stored there too (hidden).
Here is the problem that someone told me: The user can use the app only if it paid the monthly/annual subscription, so the key has to be revocable. It seems not compatible with that because the app will have the database deciphered with the key. And if it is deciphered one day, then it will be deciphered next month too.
Why exactly people tell you is not possible?
The only problem I see from what you write is if the free version of your app doesn't do anything. As a general note Apple doesn't allow "demo" versions (even if that concept is not always clear or enforced consistently): a free app must do something not trivial (and of course lots more if the customers pay).

Upload iOS App to website without submitting it to App Store

I have a client who want their own App, and only to have it in their own shop for clients, not in the iOS App Store. I was wondering if it is possible to create an App, not to submit it to App Store, but to upload it to a website, and make it available for direct download to 50 devices?
For a situation like this they should really use the Business to Business app store.
https://developer.apple.com/programs/volume/b2b/
This will enable them to limit the availability of the app to invitation only. It allows private distribution and you can set your own pricing (can be free if appropriate). This is available with the standard developer license (not the Enterprise one).
There is no officially sanctioned way to do this, that I know of, other than Enterprise-internal, or by using the developer's (your) license, which doesn't sound like what you need.
Be careful: https://www.theiphonewiki.com/wiki/Misuse_of_enterprise_and_developer_certificates
Apple has very tight control over the platform, and specifically prevent what your client wants.
I would question why your client wants to circumvent Apple here. While it is true that Apple take 30% of the price, they also provide a lot of infrastructure and security in return. Perhaps they want to maximize profit, or their content doesn't satisfy Apple's restrictions?
Developing a web app may be an alternative. When done right these can provide similar interfaces, and access can be controlled, and Apple is out of the equation.
Failing that, you could create a separate developer account for this, and the 50 devices could be registered individually by their ID. This will not be anonymous any longer, and it will have to be renewed yearly.
Technically yes you can distribute an app outside of the App Store using the Enterprise Deployment Program.
However, according to the terms of the Enterprise Deployment Program the distribution is limited to only employees of your organization, and in your scenario you mention that they want to distribute the app to their clients.
See the full details in the Apple documentation here:
https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/DistributingEnterpriseProgramApps/DistributingEnterpriseProgramApps.html

Want to check whether certain third-party tool is accepted by apple or not?

I was just reading some stuff related to Titanium. So, i wanted to know whether Apple will accept my app or not? I think, titanium-built apps will not be facing any problems right?
Also, the MAIN thing I want to know is, suppose I am using a third-party tool. Now, I want to test whether Apple will accept it or reject my app. How can I check that?
Will I have to upload the app and then simply WAIT for 10-15 days to know the solution or is there something else which will let me know Apple's decision somewhat earlier?
Apple will accept apps made with third-part tools, like flash, mono or Titanium.
Whether you app will be rejected is up to you, if you meet all the criteria for the app store your app will not be rejected.
Check the App store Submission tips to see if your matches the requirements.

Resources