App store reviewing of restricted apps - iOS - ios

I have an application that needs to be activated with a code that sends by SMS, but my SMS provider does not support sending messages to the US, so the application cannot be activated and nobody cannot pass this step. What can I do for this issue?

Simple solution to your question,
In your iTune account of this app, select countries only that you want for your app.
As you said, your SMS provider does not support message for US. It means you have not developed, your app for US country/users. Right?
So select countries only, for whom/those you've created this app (your SMS service provider provides services)

Why not changing your SMS provider first ? I've seen several other one that support sending messages everywhere.

Related

Identify apple user:subscription pair on a server

I’m developing IOS app which do calls to the server. I want to allow users to use web services from ios app only after subscription was made, no login required
How to identify whether IOS REST caller have active subscription, without “login with apple” ? I saw several apps is able to do “premium” calls to server right after subscription was made.
You could do it this way:
An account ID is automatically created when the app is started for the first time. This happens unnoticeably in the background.
The account ID is sent with every API request. The server then only checks whether this account ID has a premium status.
If the user buys the premium status, update the account ID on the server side.
This is just a short description without any advice on security and best practices. Please implement this solution only if you know what you are doing. By the way, this approach is also used by ivpn.net.

Send command to iPhone under Mobile Device Managment

Currently, our client's app is in the AppStore, but they want to distribute it to schools and universities. Also, they want the student when opens app first time would be already logged in.
There are tons of info on the internet but it's hard for me to compile it into something clear. As far as I understood first they should enroll in Apple School Manager and rise their own Mobile Device Management. Then devices should be registered on that server. After that server will be sending those commands link. Is that correct?
Also what concerns silent login. The only way to implement it that comes into my mind is to at the app launch send request with some specific data(but what?) and if this is the device under Apple School Manager then return token.
P.S. I hope this is the correct place to ask this kind of question.

Invite person from contacts who doesn't have app?

I want to let users of my iPhone app invite people from their contacts to a group they're creating. I can use deeplinks for people that already have the app installed to have an invitation automatically show up, but I was wondering if I can somehow pass custom information to someone downloading the app for the first time so after they initially open the app they'll have an invite waiting.
As far as I can tell this is impossible but I was wondering if there's any other way to somehow associate a contact with that person making an account on their own device. My application uses gmail authentication for account creation so if everybody had each other's gmails saved in their contact this might be possible, but that's not the case unfortunately. If I could get a user's phone number then it would be easy but I know that's not allowed without specifically asking the user.
Does anybody know if it's possible to do something like deeplinking for people installing the app for the first time?
You can do this with Google Firebase Dynamic Links. Google has a guide for this here:
https://firebase.google.com/docs/dynamic-links/
If I understand the question correctly, here is what I'd do:
Scenario: Send Invite
If the email invited by a user is a registered email, done.
If the email invited by user is not a registered email, store it in a separate table (pending invites)
Scenario: Sign up/ Sign in
User registers using email, store user information.
When the user logs in, check if email exists in pending invites table, if exists, present invitation.
Delete user from pending invites table
Not sure if you have it already but you might need a db table to keep the invitations sent by your users.
What you're describing is called Deferred Deep Linking (Deep Linking refers to using a link to open your app directly to a specific piece of content, and Deferred means that it works even if the app isn't installed first).
As you noted, there's no native way to accomplish this on either iOS or Android. URL schemes don't work, because they always fail with an error if the app isn't installed. Apple's newer Universal Links in iOS 9+ get closer in that they at least don't trigger an error if the app isn't installed, but you'd still have to handle redirecting the user from your website to the App Store. You can't pass context through to the app after install with Universal Links, so you wouldn't be able to present the invitation. Additionally. Universal Links actually aren't supported in a lot of places.
To make this work, you need a remote server to close the loop. You can build this yourself, but you really shouldn't for a lot of reasons (not the least of which being you have more important things to do). Free services like Branch.io (full disclosure: Branch is so awesome I work there) and Firebase Dynamic Links are designed to solve exactly this requirement, and can handle all of the backend infrastructure for deferred deep linking so you don't have to. From your perspective, as the developer, you'll seamlessly get exactly the same data to work with whether or not the app was installed when the link was clicked.

Can Hybrid apps access other apps on the device?

Is it anyway possible for Hybrid apps to read other apps data like SMS and mails. Like how google shows all imp mail and SMS data on their mobile (android) home page. Like Hotel Reservation details, Ticket details etc....
guidelines or tutorial links are much appreciated
Application data is stored in a sandbox that is accessible only by the specific application.
It is therefore not allowed/possible for applications to access sandboxes of other applications.

In app purchase for money transaction using iphone sdk

I am very new to in App Purchase, In my application I need to implement a way for the user to pay some money to the client. Could you guys please give me some ideas on different possibilities.
Do the client and user must need an apple id for transaction?
Yes, your client (as in the person who commissioned this app) and the user both need an apple id. The user needs it to use the app store and in app purchase. The client needs it to become a publisher on the app store and receive payment.
However, you can't just pick and choose if you want to use in app purchase. There are several rules that forbids you to use it for some purposes, as well ar requiring you to use it for others.
As a rule of thumb, if the payment is for functionality or data (such as more levels in a game), or a service (such as cloud data storage) - and you can deliver this immediately, you must use in app purchase. In some cases (such as books) you are allowed to accept payment outside of the app, but you are not allowed to link to that payment information from within the app.
If the payment is for a service or gods outside of the app (like a pizza, a donation or a bus ticket), you are not allowed to use in app purchase.
https://developer.apple.com/appstore/in-app-purchase/index.html
You could use iphone Paypal API for this.
Implementation details may be found in this link:
how to impliment payment-gateway with iphone application?

Resources