Capacitor iOS App not showing up in Settings - ios

I need to test Geolocation in my Ionic Capacitor App. In previous projects the App would appear in the Settings with their permission, however this one particular app does not appear. I want to disable Location tracking once I have enabled it from the App. I do not see the App in the Settings of Simulator devices nor on my own device, iPhone XR and on my coworkers iPhone X.
In the info.plist I have the required Usage description keys NSLocationAlwaysUsageDescription and NSLocationWhenInUseUsageDescription.
I am not familiar with xCode projects but I tried to look for any setting that might need to be enabled but I haven't found anything so far.
The other questions that I have looked at here on StackOverflow did not help. Restarting my phone does not help and force closing the Settings app does not help.

Related

How do I configure my app for iPhone only

I have built an app that I would like to put in the app store. The app is intended to run only on iPhone, not on iPad or iPod touch. However, I have heard about other iPhone only apps being rejected by Apple because they don't run correctly on iPad. I have searched the internet for a solution to this, and found that if you set UIRequiredDeviceCapabilities to include telephony, the app is not available on iPad. However, I would like to find a more legitimate way of telling Apple that my app is iPhone only. I am using react native with expo. Any help would be much appreciated.

iOS app with no Bluetooth functionality is showing up under Bluetooth sharing

An app we're working on was originally going to have Bluetooth enabled. After experimenting, we determined Bluetooth was not reliable enough for how we wanted to use it.
The settings in the app project were removed: Bluetooth background modes, and removed and deleted Bluetooth frameworks from the project. Deleted the app from the test device, cleaned and rebuilt. But the app is still showing up under Bluetooth sharing. This is under Settings, then Privacy, then Bluetooth Sharing. Also if the app is opened in Settings, Bluetooth appears as one of the options to "allow App to access".
My experience with the app reviewers is that any kind of inconsistency like this will raise flags during the review process.
Has anyone seen this before and fixed it?

iOS universal app with healthkit won't run on iPad

I have an universal app and I´ve implemented it to use the healthkit API. It runs great on iPhone but when I try to install it on an actual iPad device (works perfectly in iPad simulator) it wont install.
I am getting the error message: "The Info.plist for application at ... specifies device capability requirements, which are not met by "my ipad"".
I there any way I can distribute an universal app where the healthkit API (framework) only runs on the iPhone?
Heres two screenshots of my project:
Do I really need to make a standalone iPad app?
Update:
this answer comes many years ago when HealthKit was first introduced on iOS 8. Now, please follow the official guideline:
https://developer.apple.com/documentation/healthkit/samples/accessing_health_records?language=objc
--- original answer ---
you can remove healthkit from Required device capabilities in your project's info.plist
Only by removing healthkit from Required device capabilities from info.plist doesn't work.
If you do only above step then apple reject the app with below message.
Your app uses the HealthKit API but does not indicate integration with the Health app in your app description.
You need to do below steps to run your app in both iPhone & iPad.
1. Remove healthkit from Required device capabilities from info.plist
2. You need to set HealthKit.framework as Optional from Linked Frameworks and Libraries
Seems like you can't use HealthKit on the iPad:
From the HealthKit Framework Reference:
Both HealthKit and the Health app are unavailable on iPad. The HealthKit framework cannot be used in an app extension.
From Apple documentation:
https://developer.apple.com/reference/healthkit
HealthKit and the Health app are unavailable on iPad.
When you enable the HealthKit capabilities on an iOS app, Xcode adds HealthKit to the list of required device capabilities. This prevents users from purchasing or installing the app on devices that do not support HealthKit.
The two statements together imply that if you add HealthKit capabilities to your app, user will not be able to install your app on iPad.
It can be found in the Device Compatibility Matrix as well:
https://developer.apple.com/library/content/documentation/DeviceInformation/Reference/iOSDeviceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html

How to unsupport iPad properly in iTunes

We have an app on AppStore for almost 3 years, and we've set Deployment Device Info of this app as "iPhone" (not "Universal").
Earlier it seems iPad users could download our app and used it by enlarging the screen.
Now our uses reported they cannot download our app. (The guy who reported uses iPad Air + iOS7.1.1)
So, my first question is..
Is this new AppStore regulation that does't allow iPad users to download apps with "iPhone" set as deployment device target ?
We are fine if it's the regulation, but more confusing is when seeing the app in AppStore with Mac, we still see our app is compatible with iPads.
So my second question is..
From what info AppStore shows this compatibility information ?
Our aim is not to confuse users, so we want to go either way - tell users we are completely unsupporting iPads, or tell them you can download the app anyway.
That device list suggests that you require cellular access. Does the user in question have a wifi only iPad? The dialogue would be shown if the app required capabilities that the device did not have.
There is no change to the App Store policy - iPad users can still download iPhone apps, and it's pretty clear in the store that you're not getting an iPad-native version.
To answer your second question, the information shown in the App Store comes from what is set in your info plist- the minimum targeted version of iOS, and then device capabilities. Device capabilities are explained here.

info.plist settings for iPad only app

I want to submit an iPad only app through iTunes. I have already made the following configuration changes.
Under Summary, I have set the Active Target Device : iPad
Under Build Settings, Valid Architectures is set to armv7
Although, this will ensure that the build doesn't run on non iPad devices, I want to also ensure that in App Store results, users do not see this app listed under iPhone Apps.
When reading the iOS developer portal documentation, Apple mentions that you must include the key UIRequiredDeviceCapabilities to indicate which devices this app is allowed to run on.
Is UIRequiredDeviceCapabilities the correct approach to ensure that my app only appears in iPad results?
What should its value be set to? armv7?
If you set the Active Target Device : iPad iPhone user will not see the app in the App Store on the device.
Since iPhone/iPod Touch cant run iPad app where as an iPad can run iPhone apps your app will not show up in the App Store on the device.

Resources