I'd like to restrict the sales of my next app to devices that are able to control an Apple Watch (iPhone 5 at least).
I can't find (in the doc or on Internet) which value for UIRequiredDeviceCapabilities I should put in the info.plist file.
There is currently API for knowing whether a device is paired with Apple Watch.
Even simply from an iOS app review perspective, if a user downloads an app onto their iPhone that app is expected to provide value regardless of any external products.
See Apple's App Review Guidelines for more detail
There is no such API.
As you are also no doubt aware, requiring iOS 9 will also not assist you as it runs on iPhone 4S. While it is speculation, it is possible that this will de facto change if iOS 10 is released in September/October 2016, as expected, as that may remove support for older iPhones that cannot be paired with an Apple Watch (for mostly reasons of performance, unrelated to Apple Watch capability).
However, if you are wanting to do this because you want the app to only be used with the watch, be aware that App Store review requires that apps with WatchKit extensions need to also provide useful functionality in their own right, and cannot be solely the code backend for a watch app. Therefore, you would be expected to provide functionality to users who do not (and even cannot) attach an Apple Watch to their phones.
Related
The title kind of says it all, I would like to develop an app only for new apple watches. The reason for this is that my app drains the battery of old apple watches really fast making it unusable and not meeting the energy efficiency requirement in appstore review.
You can only restrict your app to newer watchOS versions, not Apple Watch hardware models.
When my iPhone is not available, my WatchKit app on the Apple Watch does not work (a red crossed-out iPhone symbol appears). How can I make my app work without the iPhone? How do I tell it to use data that is cached on my Apple Watch?
You don't, because this is not how Apple Watch apps work at the moment. Your watch app does not run on the watch, it runs on the iPhone but displays its UI on the watch. When the phone isn't nearby, there's no place to run the code.
Apple has said that stand-alone watch apps will be possible this summer. Probably they'll announce it at WWDC in June.
I would like to know that Application developed for Apple Watch should need to synch with iPhone/iPad or we can develop the app only for Apple Watch without looking for iPhone/iPad?
Warmly welcome your answers.
Regards,
Sohaib
If you are making a WatchKit app, you must implement iPhone app, too.
However, they don't need to be synchronized, as you can see in Battery Adviser (by Applestan) and iCalc (by Seyyed Parsa Neshaei) apps on the App Store. The iPhone and iPad versions of this apps are mandatory to install and available, but it doesn't sync with the Apple Watch. They both do the same, but without connecting to each other and sharing data.
I'm new to iOS development, suppose I'm making an app for parental control over their kids which would have the apps that would be added by the parent so that the child is restricted to only certain apps. How will i access the apps on the device inside this app?
Sorry, but that won't be possible on an standard (un-jailbroken) iOS device. Apple sandboxes Apps so they can't access anything outside of their "sandbox". That includes the file system, the OS, settings and other apps on the device.
It might be possible to do it on a jailbroken iOS device, but even then you'll have to hack into Apple's OS and honestly it's probably not worth the effort, especially given that you could never submit such an app to the app store..
Background:
We are developing an application for one of our customer to go along with their device. The application by itself cannot do anything, and must be connected to the device via Wi-Fi in order to function.
Question:
Do we:
just submit the app the standard way, even though there's no way for Apple to really test the functionality of the app?
or
do we need to provide a test device to Apple to really test the functionality of the app? If so, what's the procedure for doing this?
Edit:
Apple's Not-Very-Helpful Response
While we cannot pre-approve apps, we can address compliance questions about specific App Store Review Guidelines or sections of the iOS Developer Program License Agreement (PLA). I understand that this may be a little frustrating and I apologize for any inconvenience this may cause, however, we may only answer specific questions concerning the following resources, unless the app is submitted for review so that we may test the functionality.
App Store Review Guidelines: https://developer.apple.com/appstore/resources/approval/guidelines.html
iOS Developer Program License Agreement: http://developer.apple.com/membercenter/index.action#agreements
There are a few possibilites that have been reported.
One is to submit a video of the app running with your companion device, with a complete walk-through of the app's functionality using that device.
Another is to provide a device emulator as a test mode built into the app (perhaps requiring two devices).
Another is to provide an demo account in the Review notes; and have that account wifi tunnel out to control a remote wifi device at your location, maybe with a webcam aimed at that device and viewable by Apple.
Include proper contact info for that possibility where Apple may want you to send them a sample device for evaluation.
I have the same issue: a third-party device with which the app communicates. Without the device, the app is useless. One screen with one label. I submitted the app to the store, explaining what it does and how it communicates.
The app got approved 5 days later, without Apple asking any questions whatsoever.