How to submit an app with companion device to AppStore? - ios

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.

Related

Install iOS App onto Multiple Devices with Free Developer Account

Fledgling iOS hobbyist here. I have a demo app I plan on presenting to a group of people in about a month. It is a simple app, and I am still on the free tier of the Apple Developer Program for now. For this presentation, I'm being provided loaner iPhones, iPads, and MacBooks to demo my app and its code on.
I do know that I am able to load my app onto at least two devices, but they are my own personal iPhone and iPad.
My question is this: With a free developer account, will I be able to 1) load my app onto multiple iPhones and iPads (that I do not own) to demo for the duration of this presentation; and 2) load the code into Xcode on multiple Macs (that I do not own) so that I can show the code to those present. Or will I have to take the plunge and purchase the full $99/year developer account.
This isn't a code question, I know - but the Apple Developer forums are not nearly as active, and I would like a clear answer on this.
Connect each iOS device to your dev machine and build your app on it. The device will ask you to trust the developer, which you can do in Settings. It's no different than debugging on your own device.
Are you showing the code or the finished app? If showing the code, make sure the other machine has Xcode, then transfer the code from your dev machine (by USB, network folder, GitHub, etc) and build on the new machine. If you are showing the finished app, make sure Gatekeeper is set to at least "Mac App Store and Identified Developer"
The quick workaround is you change the identifiers and install it on various phones. com.company.app1 and com.componay.app2 and install the same app on different device. Although with this push notifications and all services connected to identifier does not works.

Debugging an edge use case with IPv6 network on IOS for app store submission

A app submitted recently to app store failed in review, one problem was an odd bug which I would describe as an edge use case scenario.
The specific bug was described as
"We discovered one or more bugs in your app when reviewed on iPad running iOS 10.3.3 on Wi-Fi connected to an IPv6 network."
The screen shot provided saying they could not find a file called data.js
This file is part of the app and supplied within the IPA. If it was not all other devices would fail testing aswell. Also the app does not make any external api call's at all unless someone is making an IAP.
How can I simulate this environment with xcode, the simulator doesn't give me an option to define network type?
How is the best way to respond to this with apple? Im cautions of just resubmitting the IPA as they say my developer account can be terminated for failure to fix things previously highlighted review.
I feel like this is a very small use case of users, I would prefer just not to support iPad but unfortunately cocoon.io doesn't support setting a device target when building the app.

Pre-requisites for submitting iBeacon iOS app on apple store

I have developed an iOS app which has implementation of iBEacon Technology.
The app detects one specific UUID type of beacons and proceeds further.
As we know, every app get tested by apple testers, how this app would be tested having ibeacon hardware interaction by apple?
Also what are the pre-requisites or steps to be followed to submit iBeacon app to apple store ?
Please help.
Thanks.
Like always with the AppStore, review requirements for beacon-based Applications vary depending on the luck of the draw of what reviewer you get.
A few tips:
Always submit a video of your app interacting with beacons.
Include beacon identifiers in the review notes as #Paulw11 suggests, and describe what action each beacon will cause when detected by your app. Don't expect that reviewers will actually test this, so make the video comprehensive.
Unless you know what you are doing, generally do not specify location background modes in your .plist, otherwise you have higher risk of rejection.

Restrict future Apple Watch apps to capable devices only

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.

Universal App using Health Kit

I'm working on an App which uses some new iOS 8 Health Kit (HK) features.
At present the iPad doesn't get the Health app, so can't use HK. Since the HK features are not a major part of my app functionality, I could happily leave them out of the iPad version.
My problem is that there seems no way to get a universal app running on iPad once the HK entitlements have been added, even if no use is made of HK functionality.
Does anyone know any different? Is there a way (for example) to have separate 'per device' entitlements?
Thanks!
If you want to use HealthKit, Framework Reference clearly states that your app should be primarily designed to provide health or fitness service. If your app is not a health or fitness focused app, you might not able to submit your universal app .
In addition, your app must not access the HealthKit APIs unless the
app is primarily designed to provide health or fitness services. Your
app's role as a health and fitness service must be clear in both your
marketing text and your user interface. Specifically, the following
guidelines apply to all HealthKit apps.
https://developer.apple.com/library/prerelease/iOS/documentation/HealthKit/Reference/HealthKit_Framework/index.html
Removing healthkit from Required device capabilities in my Info.plist solve this issue for me.

Resources