Apples 3D Touch Peek Functionality Restrictions - ios

I am looking in the newly announced 3D Touch to be released in the next set of apple phones. I see a great use case for this in and app that I have in development however when looking up the feature (https://developer.apple.com/ios/3d-touch/) I still cannot get a good feel for what Human Interface Restrictions may be in place for this type of feature.
If there is someone out there who understands how this 3D Touch works. Will it be possible (and permitted) to develop a Modal pop-up UITableView that would appear when 3D Touch force press is made on an item within the app? I am thinking something similar to the "Quick Actions" they have for the home screen but within my app.
Currently in the app, the user clicks on the item, sees its details page, and then its a "set" button to set it to a certain position a daily slot. I was thinking it would be much easier if the user could skip the details screen all together and have a force touch bring up a modal popup with a list of days for them to choose allowing them to set the item faster.
I am wondering if this would be in violation of the Human Interface Guidelines or would cause any trouble when submitting the app?

Related

For iOS, is it possible to have a Toast message that can display on top of system app Settings?

I have a button in my app that brings up the system app settings UI. Instructions are given around the button.
I want to provide further instructions to the user via a toast message after the settings page shows up so they know exactly what to do. It's not a super intuitive setting, related to notification style, and such instructions would be a lot clearer when the user is actually on the settings page.
In Android, this is easily done via toast.makeText().show(). The resulting toast would have no problem going on top of the system settings UI.
In iOS though, I've looked up several guides, mostly using the UIView animation. The problem is, the resulting toast window seems to only work inside the app itself. It cannot go on top of the system settings UI.
Is what I want to achieve technically possible in iOS?
No. You are sandboxed; Settings is a different app and you cannot impose anything on to its interface.

SwiftUI: Accessibility sound feedback for a draggable element

I am making an application that works essentially like a simple Drag-and-Drop Playground with the command blocks on the left and a droppable area on the right. I want to make it fully compatible with VoiceOver and I'm running into trouble with some of the accessibility aspects since this is my first Swift application.
This is what the playground currently looks like: (App Screenshot)
My goal is to provide the users with audio cues/feedback while they are dragging the elements to help them figure out what part of the screen they are currently at. The ideal functionality would be exactly like what one uses when editing an iOS device's Home screen (the arrangement layout of the apps).
When trying to rearrange apps on the home screen with VoiceOver enabled, you hear a row/column alert when you are dragging an app over an open area. I want a similar type of feedback that says "Droppable Area" when you are over the correct area (see scenario 1).
When trying to rearrange apps on the home screen with VoiceOver enabled, you hear a sound when you tap on an area that has no app icon. (This also happens when you are not editing the layout and simply tap on an open area with no app.) I want that noise to be what you hear when you drag a command over an area that is not droppable (see scenario 2).
Any ideas on how this might be possible or good references to look at?

With iPhone 7 and UIFeedbackGenerator, which system actions perform which kinds of taptic feedback?

(This question is mostly applicable to those of us developing iPhone apps without access to an iPhone 7.)
I want to incorporate the new taptic feedback available with the iPhone 7 into my apps, and I want to make sure my uses of it align properly with how iOS uses them at a system level. Without a device I can't test this.
Apple provides a document describing the different kinds of feedback: https://developer.apple.com/ios/human-interface-guidelines/interaction/feedback/ Namely "Notification", "Impact", or "Selection".
For instance, in Mail.app, when you slide a cell to archive it, it gives taptic feedback. Which of those three above (and their corresponding "variation") does Mail.app use? I'm guessing "Selection" but may be wrong.
Bonus points for pulling down Notification Center or Control Center, as well as any others you can provide for reference, but the gestures in Mail.app would be an awesome start.
You should check out this article, it gives you an overview how UIFeedbackGenerator works. https://www.hackingwithswift.com/example-code/uikit/how-to-generate-haptic-feedback-with-uifeedbackgenerator
Alternatively, you can create a demo project and check out which feedback is best suited for your needs.
Edit:
It's the selection feedback for Mail app. The notification center uses multiple feedbacks depending upon the sliding. If you do it slowly, it's impact heavy and how if you do it a bit slowly, it's impact light and if you just slide it down immediately, it produces no feedback.

Custom iOS Floating Button

I've been looking around on the internet and there doesn't seem to be much in the way of conversation (or I'm asking the wrong question - I'm new at Objective-C and iOS both) about creating a custom Assistive Touch-like button in iOS.
I would like to access my app from a launcher application and then float a button that would let me go back into said launcher from anywhere in my app. The floating Assistive Touch button scheme seems perfect - has anyone made something like that?
[EDIT]
In response to the meaningful questions - I wasn't clear enough (again, apologies - inexperienced here).
I have three apps: App Gatherer, App Target 01, App Target 02.
App Gatherer will be able to launch multiple apps via URL. Once it does that, and the new app opens, I'm wondering if I can have a floating button that can be moved around and clicked seperate from the UI of the Target App like the Assistive Touch button. The purpose of the floating button is to get me back out of any Target Apps - it's totally separate - to the Gatherer App.
I don't have any implementation - I'm just trying to map it out and see if it's even possible. Am I in the wrong place to ask that?
when u open a app using url from AppGatherer. Then in the Target app there is only 1 way of going back to appgatherer and that is using a url again but this time opening AppGatherer. So the custom floating button will have to be implemented inside the AppTarget and when the person clicks that button AppGatherer is opened via URL Scheme. There is no other way around. You cant have a floating universal button. You will have to implement the floating button inside every AppTarget application seperately. Plus it goes without saying that button will have to be implemented in every seperate view you have within the AppTargt application.
And in order to make a floating button you will need to keep above all other views plus handle its dragging within the onDrag methods and etc.

iOS iPad are there hover like workaround within apps? NOT websites

There seems to be dozens of questions on how to deal with :hover event on the websites when viewed in iPad.
My question is different - I'm building a native iOS game and it would be really good if a user can compare two items side by side. On PC this can easily be done by displaying one item a mouse-over panel when mouse hovers over an inventory item. The main benefit of such panel is that it is easy to show and easy to close on PC.
What are my alternatives for displaying a transient, hover-like interaction panel in a native iOS app?
For iPad (not iPhone) a UIPopover is pretty close to what you want. If you want to support iPhone/iPod as well, there are third party popover libraries for those devices.
However, I'm not sure how this would do for comparing 2 items, since the system only displays 1 popover at a time.
This is really more like a map callout bubble. You could build your own callout bubble sort of interface yourself without a lot of work. When you tap on an item, it would display it's callout, and when you tap on it again, or tap outside all items/callouts, it would hide it. I've done something like that for a custom map system I built for a client and it wasn't that hard.

Resources