I am building an app for kiosk usage and we're very happily using guided access mode. However, there is indeed a suite of apps and until recently, we were using URL scheme switching to switch between different apps. However, we found out that guided access doesn't allow URL switching.
Any suggestions?
(We want to keep apps separate for brevity)
I've heard back from Apple that this is not possible
Related
I'm working on a iOS App which interacts with different hardware. We access and configure these devices using a "Soft AP" work flow (ie hotspot)
Our preference is to use NEHotspotConfigurationManager to automate the process for the user and in most cases this works fine.
However, in those edge cases where it doesn't (ie iOS 13+ and location services) we'd like to make the workflow as simple for the user as possible.
Currently we have a nice list of steps that the user needs to take:
Press/swipe home
Open Settings
Navigate to WiFi settings
Find and tap the specified WiFi SSID
Return to the App
It's really not pleasant at all.
I'm aware that there is not official way to open the WiFi settings and I can live with that, but recently I was mucking around with the Wyze App and pairing one of their light bulbs and noted that they have manual workflow which opens the top level Settings page - NOT the App's settings. (nb: The Wyze App also has "app settings")
So, after some more reading, I find that UIApplication.openSettingsURLString will open the App's specific settings page, which is cool and everything, but this is not what I need. I'd be really awesome if it was "officially" possible to launch the iOS Settings App and NOT have it open the App's settings, but just land on the top level page.
I know if the App has no settings, this is the behaviour I will get, but our App does (and I can't be changed)
I don't want to/can't use URL schemes like prefs:root unless it can be guaranteed not to be rejected by Apple!
And, yes, I look at a lot of different blogs and questions on the subject, including A Comprehensive Guide to All 120+ Settings URLs Supported by iOS and iPadOS 13.1 - but I'd like to not have the App rejected
Is it possible to set up iOS universal links without having a separate website?
For example, if you want a universal link that 1) opens your iOS app if the user has it installed on their device and 2) opens up the App store listing on any device without the app installed.
It seems that having a separate domain you control is the standard way to do it. The Apple documentation (here), and other guides like here and here, seem to make it pretty clear that you need to add the JSON code in the Apple App Site Association file to a separate website that you control.
But is it possible to set up universal links without that website?
Detail:
For an iOS mobile app developer, setting up a separate website, dealing with website hosting, etc. is distinct from building an iOS app, and an involved additional task to go through just for universal links. Many developers might have a site already or have experience building websites in addition to mobile apps, but it's still a different thing than building mobile apps.
So I'm surprised if Apple assumes app developers have a website ready to go for the purpose. I note there are non-Apple alternatives that do similar things that clearly don't require a website.
Edit: I am familiar with alternative linking systems, such as Firebase and Branch. I want to see how you can do it with Apple Universal Links.
So let's say you want to stick with Apple universal links. Is there a way to do it without setting up a website, dealing with hosts (and potential costs for that), etc?
If it is necessary, what would be the cheapest and easiest way to set up the bare minimum site for a mobile developer that would work for universal links?
I am trying to build an app that will allow users to see all pdf files that are on the device (in some kind of a list with a preview) [Regardless of which app it belongs to on the device, all should be shown]. Is there anyway to achieve this?
Sorry but this is not possible on an iOS device because of a feature called sandboxing. Apple does not allow an app to access the sandbox of another app. Each app sits inside a sandbox of its own. This is iOS's security feature. There is no way to go around this feature.
Reference - About App Sandbox
I am currently automating an app for iPad that needs to be set in Guided Access mode to work. I'm using Java with Selenium webdriver inside Eclipse. The app is all setup and being deployed through Xcode and I can interact with it just fine with the iOS driver.
The problem is the user cannot login until the iPad is set to Guided Access mode on this app. I know you can turn it on by triple clicking the Home button very quickly but I have not found a way to do that using code inside my tests.
Is there a way to send keyevents specific to the iPad Home button OR is there a way to set Guided Access mode programatically? Maybe set it in the capabilities before the iOS driver/app launches?
I'm not aware of any way to send events to the home button (pretty sure this wouldn't be possible).
You can programmatically enable / disable guided access however, using UIAccessibilityRequestGuidedAccessSession. In order for this to work, your device must be supervised using MDM and have a profile installed that enables single app mode for your application.
More details here: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIKitFunctionReference/#//apple_ref/c/func/UIAccessibilityRequestGuidedAccessSession
Is there any way to check version number of other application which is installed from appstore ?
Note:
1. Not in jail broken devices
2. With out using third party library.
Not Possible. your control is upto the level of your App Sandbox.
What is Sandbox?
For security reasons, iOS places each app (including its preferences and data) in a sandbox at install time. A sandbox is a set of fine-grained controls that limit the app’s access to files, preferences, network resources, hardware, and so on. As part of the sandboxing process, the system installs each app in its own sandbox directory, which acts as the home for the app and its data.
It is not possible to check version of another application as in IOS, Applications work in SandBox environment which doesn't allow the application to access other application.
Two applications can communicate with the help of URL schemes,following is the link for URL Schemes of few Applications:
http://wiki.akosma.com/IPhone_URL_Schemes
http://handleopenurl.com/
using URL schemes we can access limited information(Exposed by the Developers of that application)
Although , there are few options,
1)If two application are using same/common web-services ,then this information can be shared
2)using ICloud this can be achieved If two application are using common/public space.