Is there a way to password protect the download of mac app from appstore? - iphone

In one of our project we have 2 binaries, one for iPhone and other for mac. These two application communicate each other to achieve the functionality. We want the user to download and install the iOS app first and then let him download the Mac application.
Is there a way to restrict the user, if the user try to download the mac app before downloading the iPhone app?

Short answer: If you're referring to the Mac App Store, then no.
Long answer: Both, the App Store and the Mac App Store give you no way to control who downloads your app and you are not able to get information about what a user already downloaded.
You could of course ask for an e-mail address in your iOS app and make sure your users register to a server before you e-mail them a link to a private download page (not the Mac App Store).
General advice: I think there is something wrong with the design of your app. It's not clear to me what you're trying to achieve and I bet your users won't either. If you want to make sure they pay for the iOS app before using the Mac app then just alert them in case they downloaded the Mac app first. You need to write some custom service to check for this of course. If there is some functional problem that requires the iOS app to be launched first then you should solve this yourself and not put that burden on the shoulders of your users.

You could allow anyone to download, but simply block any operation until the iOS app has sent some kind of approval token to a server or iCloud for example.

You have to download mac application first, and after downloading you can check if user downloaded iOS app or not, but before downloading you can't check the downloading state of iOS app, because application will upload on appStore not on your personal store.
After downloading iOS app set some flag value on server, and check this flag value on mac app downloading, it it is 1 then download else show alert.
After iOS app downloading -> Set flag value (ios Download=1) to your server.(make web service for this).
After downloading mac app -> Call you web service to check that flag value. if it is 0 then show alert to download iOS app first.

Related

iPhone7 and iOS 11 error for **native** iPhone apps: This app was not installed from the App Store and must be reinstalled manually [duplicate]

My application is signed with Enterprise distribution certificate. When I try to install my app on iPhone X it installs successfully but when I try to open, it gives me an error "This app was not installed from the App Store and must be reinstalled manually"
Please note that app is opening and working on all other devices. This issue occurs only some specific iPhone X, not on every iPhone X.
Can someone please tell me why I am facing this error.
Screenshot is attached
The app may have been offloaded. Offloading is a new iOS 11 feature that allows user or the iOS system to remove an app to free up space without deleting any of its configurations or settings.
To know if an app has been offloaded, it displays a small cloud icon in front of its name.
When opening an offloaded app, Apple tries to download the app back from App Store. Since it's an enterprise app that's not available on App Store, it can't download it and shows up this error.
The solution? Well, just what Apple says: "This app was not installed from the App Store and must be reinstalled manually". Download the enterprise app again from where it's hosted and install it.
In case anyone runs into this post doing a Google search, here was the fix for our scenario:
This issue usually revolves around a desperate Apple ID and Pin. The first step will be to recover your Apple ID device PIN. This is accomplished by following these steps:
Go to Settings
Tap [Your Name] > Password & Security > Change Password
If you are logged in to iCloud and have a passcode enabled, you will be prompted to enter the passcode for your device
Follow the onscreen steps to update your password
This should reassociate the Apple ID with the Pin, and allow the app to install.

iPhone: how to get IPA onto non jailbroken iPhone without iTunes and without e-mail?

my friend borrowed me his (non jailbroken) iphone 4s to test my iphone application. How can I get the IPA onto his iphone without syncing with itunes? (IPA is created with Flash, so i can't use XCode). I know there are some over the air services but they require to open e-mails with the e-mail application on the phone. I don't want to open his e-mails, so, is there another way to get the IPA onto it?
You could use Testflight http://testflightapp.com
It gives you a short url after uploading a build which you can install the IPA from there.
Don't forget to add the device UDID to the certificates.
OTA (over the air) is the way to go if you don't want to use TestFlightApp.
Distribute the app via ad-hoc distribution, and store the app on a web server. You can then directly download the app from the web server onto your iPhone by calling the appropriate url in Safari.
Here is a guide on how to do this:
http://iosdevelopertips.com/xcode/distribute-ad-hoc-applications-over-the-air-ota.html
Have a look at TestFlightApp. You can create a new (or use an existing), web-based email address and use that to register your friend's device with the your TestFlightApp account.

App is "Developer Rejected",but previously downloaded from the App Store, will it work?

I'am wondering what will happen if my App which was previously available on the AppStore and has been downloaded by some users, but now I REJECT MY APP and put it down from the AppStore.
My Question is, Will the previous users who have the app on their devices will work or not???
Yes, every user who downloaded the app will be able to keep using it.
There is no way to pull it from there devices.

Re-Installing IPhone App From Inside The App

I want to find a way if it's possible to re-install an IPhone app from inside it?
Let's say my users have the app already installed in their phones and now new version is released, can I make my app such that it will check over internet if new version is available and if it is, download it and ask the user to install it. If user says yes, it will first un-install the current version and will install downloaded version.
Is it possible anyhow?
Apple wont allow this.
For one reason, un-installing the app removes all the user documents (if applicable), so theres no way to preserve user data.
Apple already has a medium for updating (iTunes App Store).
If you want to be able to check if there is a newer version of your app, you can do that simply by checking a text file (for example) on your server, and notifying (by UIAlertView possibly) the user that there is a newer version of your app. But again, Apple already has a standard system in place. (Badges on the App Store icon)
probably not because to uninstall an app it requires the app to be closed
You don't have to do that. If you upload a new version to the app store, a notification badge will appear on the app store icon on your users' phones. You aren't allowed to install apps any other way than through the app store, anyway.
It depends on your app and what you want to update. It's not possible to reinstall the native app, but you can download data and update your app using that data. For example, we have an app in the store which is mainly a webview inside the native app. The first time it launches, it uses the internal data, but checks our server if there is an update. If there is an update, it downloads remote data and replaces the internal. It's what most magazines do for updating their libraries.

auto upgrading iOS apps

Is there some way to implement an auto-upgrade for an iPad app.
I would like to be able to have my app check for updates, and then upgrade itself.
As far as I am concerned the app can retrieve the update from the app-store, but:
I would like the interface to be app internal: User should just have to press an OK button for the upgrade to start (all this time staying within the app)
Is this possible at all?
It is possible to have display a notification to inform an update is available on you app and you can redirect the user to the AppStore, but an update can only be download from the AppStore.
This will reinstall the new version of your app. So you can't stay in the app to update (You need to go to the appStore and qui the app during the update).
Internally, you can only update some content for you app (not add new native code) but not with a real AppStore update.
Apple does not allow apps to download, install, or execute code that is not included in the original app submitted to Apple. The App store upgrade cannot be automatically started.
the best you can do is determine if the app store has a newer update, then prompt the user to install it by linking directly to the app page in the app store. They will still have to click the correct buttons to start the process.
Even if it were possible, it's not allowed by Apple. Your app will be rejected.
Unless you only update contents of your app, e.g. cooking receipts.