How to Security > Privacy settings for a "Watch Me Do" QuickAction in Automator - automator

I'm using Mac OS X 11.0.1 Big Sur
I used Automator to create a "Watch me do" QuickAction. I've saved it (is seems to save in ~/Library/Services by default), and exported it to iCloudDrive/Automator. I can run this script to completion successfully from within Automator without any prompts, warnings or errors.
During export, I was prompted to add it to the Touch Bar, which I did. I can see it on the TouchBar. However, when I run my QuickAction from the TouchBar, I get a popup message indicating that it needs to be added to the Privacy tab:
The action “Watch Me Do” encountered an error: “This application must be allowed to control this computer using accessibility features, using the Security & Privacy preferences located in System Preferences, before using 'Watch Me Do'”
There are two buttons on the popup: Show Workflow and OK
Clicking on "Show Workflow" opens the Workflow in Automator, and does not solve the problem.
Clicking on "OK" closes the popup, does not open the Security Settings, and does not solve the problem.
I can see that Automator is added to Security & Privacy > Accessibility AND ITS CHECKED.
I can see that Automator is added to Security & Privacy > Full Disk Access AND ITS CHECKED.
I can see nothing in the Security & Privacy > Automation pane.
I don't see my QuickAction anywhere, nor am I able to add it anywhere.
I need the procedure to add my QuickAction to the appropriate section to satisfy the security requirement please.

Put your TARGET app in the Security & Privacy > Accessibility section, like if you are gonna run that workflow in Chrome, then put Chrome in the Security & Privacy > Accessibility (simply drag the Chrome.app file into the window).
That works for me!

Check if Automator is allowed to control Bluetooth (same menu Security&Privacy). Worked for me. I never seen this "Watch me do" warning after that.

Check the list of apps in the "Accessibility" area of Security and Privacy. At least one of the apps that are unchecked will need to be checked. This is because after giving you the pop up error message, MacOS adds the needed app(s) to the list of apps allowed to "control your computer". But you have to manually check mark it yourself, because it is only added to the list, but not checked. (Note: not all the apps in this list need to be checked, just the one's relevant to your workflow.)
It's a confusingly worded popup message. Note that we can't even create a "Watch Me Do" until after Automator is given "Accessibility". (This may be confirmed by unchecking Automator in Accessiblity, and then trying to record a "Watch Me Do".) So, even before we are able to record a "Watch Me Do", Automator has Accessibility. Which means, the pop up message you are seeing is not referring to Automator, but to another app.
For example, if your "Watch Me Do" included a click of the menu at the top your Mac's screen, then you would have to give the "Finder" app "Accessibility" too.
To expand the example, I created a "Quick Action" to "Launch Application", and then "Watch Me Do". During the recording of "Watch Me do" I clicked on "File" in the menu at the top of the Mac screen. This menu click was performed not while Finder was the selected app, but while the launched app was selected, so it did not say "Finder" in the upper left corner of my screen, but rather had the "App Name" in the upper left corner of my screen. I was not required to add Accessibility for the app that was launched, but I was required to add Accessibility for Finder. (Edit: I discovered if the app being launched is already launched before running the workflow, then this example required me to give the launched app Accessiblity. Go figure.) ​
Note: if you had created an "Application" instead of a "Quick Action" then you would also have to give the application you made with Automator to have "Accessibility."

I've found that making your changes in the Security & Privacy > Accessibility section, and keeping the lock unlocked when quitting, ensures that the workflow operates as desired.

Related

Is there a way to make a permission request for opening app from another app appear again after allowing it once? (iOS)

So we have a task that app1 needs to copy some data to clibboard then open app2 which reads this data from clipboad and uses it. This is already implemented and works. But the first time app1 need to access app2 iOS wanted me confirm that action with the following dialog: "app1 wants to open app2" with options to Open or Cancel. I pressed Open and now it never shows this dialog. However we need this dialog because we want to thorougly test this process, including the case when user presses Cancel. Is there any way to bring this dialog back without wiping our iphones?
We have tried:
Reinstalling both app1 and app2
Restarting device
Enabling and disabling developer mode (ios 16)
Enabling and disabling lockdown mode (ios 16)
Changing system time forward
None of these actions made this dialog to appear again. Wiping and reactivating and iphone will work of course but maybe there is a faster way?
Try deleting "app1" before re-installing it. When you just install a new app over the old one, the data associated with the old one remains in place. Deleting the app first should remove it and hopefully remove the permission to launch "app2" in the process.
Try the following:
Open the iPhone Settings app
Select "General"
Select "Transfer or Reset iPhone"
Select "Reset"
Select "Reset Location & Privacy"
If that doesn't work, select "Reset All Settings"

Objective C: "Open in" dialogue in Safari should show my app as an option

I've looked a long time here on Stackoverflow and in the internet, but didn't find a real answer. I want in Safari on the iPhone if you click the arrow that in the "Open in" dialogue my app is displayed. And then the HTML file or whatever should be opened in my app. How can I achieve that? If you have a step by step example, that would be great...
You need to indicate to the OS the document types that your application can open. To do this you add a Uniform Type Identifier to your app’s Info.plist for each document type that it knows about. See Apple’s Technical Q&A 1587 - How do I get my application to show up in the Open in... menu.

Dynamic link does not open the app, and "open in app" option not available in context menu

I just encountered a very weird behaviour with Firebase dynamic links.
It works perfectly on all of our test devices except for one.
This specific device is an iPhone-x, and the account was restored via iTunes (Not sure if this info is relevant, but i'm trying to give a full picture).
Our app is installed on this device from the app store (also tried deleting and reinstalling), but when trying to open a dynamic link it opens Safari instead, there we have the "open" button that opens the app store page of this app.
When trying to long tap on the link as suggested by developers that experienced the same issue, we have only one button that says "Open" which opens Safari again. I would expect that when the app is installed we would have two options:
1. "Open in Safari"
2. "Open in [App]"
Has anyone experienced this issue before? Anyone has any idea how to solve this?
The overall diagnoses here is that Universal Linking is not configured properly on the device. If Universal Links works on all other devices, then it is probably the case that the AASA file is not being downloaded properly. iOS 11.2 has had issues with this recently.
Check device logs
I suggest that you check the device logs when installing the application to see if the AASA file is being downloaded properly.
1) Delete your app and plug in the device to your computer
2) Open up Xcode and navigate to Window > Devices & Simulators
3) Select the device in the left-hand menu
4) In the bottom of the window you should see a triangle in a box. Clicking this will bring up the device logs.
5) Use a cmd-f to search for applinks and if your app downloaded the AASA correctly. You should see something like
Added service 'applinks', appID 'RXXXXXXXP.io.branch.Branchsters', domain 'branchster.app.link'
If this is not the case, then it looks like you AASA file is not being downloaded and you may need to delete the app, restart your phone, and try again.

"Safari cannot open the page because the address is invalid" message appears when I try to launch my app from a website

Device : iPhone 5 / iOS 9.3
I have an iOS app which I need to launch from a website. I was able to do it via custom URL scheme.
When I click the "Open App" button in the website, an alert dialog appears that says "Safari wants to open MyApp" with OK & Cancel buttons.
Clicking OK : everything is just fine. The app gets launched from the website perfectly.
Clicking Cancel : First time, it just dismisses preventing the app being launched, which is correct.
When I click on the "Open App" button once again from the website, I expect the same "Safari wants to launch MyApp" alert dialog to appear once again, which is not happening.
Instead, it shows a dialog that says "Cannot Open Page - Safari cannot open the page because the address is invalid" with an OK button.
My assumption was, every time when you click on that link in the website (that can launch the app via custom url scheme), I should be prompted with "safari wants to open MyApp" alert dialog all the time.
What am I missing here ? Appreciate your help in advance.
It's a known behavior.
If you tap on facebook://feeds:
And open it then Safari won't blacklist the facebook scheme for that Safari tab. You would be allowed to open facebook://profile, facebook://feeds, facebook://settings, etc. on that tab
However if you click on 'Cancel' then you're no longer able to able any url with that scheme for that tab only ie you won't be able to open facebook://profile, because it's been blacklisted for that tab.
What should you do?
Open a new tab and try again. It would no longer be blacklisted for that tab.
It would have been much better though if Apple prompted its user with options like:
Deny once. Deny Always. Allow Always
But I'm guessing if they did that then they'd have to provide alternate ways for the user to customize behavior per host/scheme. Obviously Apple doesn't want to allow that.
I met the same problem when using Google Tag Manager in my code. Try the javascript event for opening the app instead of using the href of the tag a.
I was getting a similar error, fixed it by allowing "Installing App" in restriction(Settings->General->Restriction), enable the toggle button. It is by default enabled but I restricted it in past by disabling the toggle button.
Hope this helps anyone.
I just fixed the same problem on an iphone. Go to settings> General> Restrictions> Safari. Make sure it is "allowed" or turned on (swipe to green). Exit out of settings and retry. It should work.

Location services in mobile Safari: Don't Allow is saved...forever? Even with reset

My web app using location services worked fine until I started testing "Do not allow" use cases. Now an iPhone refuses to ever allow location services, even when I answer "OK" to "Safari" would like to use your current location.
To reproduce...
Using iPhone on iOS 5.1:
Load web page that makes location services calls (like http://smithsrus.com/geo.html)
Answer "Do not allow" when user permission prompt appears.
Reload page and answer "Do not allow" 2 more times.
Reload page and see "User Denied" without getting a prompt.
Go to "Settings->General->Reset->Reset Location Warnings" and tap "Reset Warnings".
Return to Safari, reload page and now see the user permission prompt.
Even if you answer "OK" the web page will still be Denied.
I kill and restart Safari, I delete all website data, I turn Location Services on and off, I even reboot, and still Safari refuses to actually Allow location services even when I say I want to.
Once you go through these steps, that web domain is dead to location services.
I'm running out of domains to test
I've searched many StackOverflow, Apple Developer and other sites for answers.
But it sure looks like a bug to me. Answering a prompt with "Allow" but getting denied must be a bug. After answering "Allow" the location services icon appears at the top of the screen briefly but then disappears, and in Location Services settings Safari appears with "On" and the gray icon next to it.
After trying a combination of reseting location warnings, turning on and off location services and closing and restarting the browser, I did manage to get one new error:
"The operation couldn't be completed. (kCLErrorDomain error 1.)" Sounds buggy.
I'd rather it be something silly I am doing, can anyone tell me?
I got it after about giving up and thinking there wasn't a solution. I managed to share my location on my iPhone 4s by doing the following:
Go to Settings -> General, scroll to the bottom and go to Reset-> Reset Location & Privacy.
The next time I opened my web-app to test its user location features, it worked like a charm. Hope this helps for all who have this problem.
The following steps solved it for me:
Close all tabs in safari with the domain in question open.
Close Safari (Hold home button and cross off).
Settings -> General -> Reset -> Reset Location Warnings / Reset Location & Privacy.
Open Safari and try again.
The trick (compared to mark's answer) is to make sure you close Safari fully. When I followed mark's answer, I got the prompt re-appearing for Safari itself, but not for my domain. After closing Safari then following mark's answer, I got 2 successive prompts, firstly for Safari, and then for my domain.
I was having the same issue caused by repeatedly hitting the "Do not allow" option.
The way I fixed this in my iPad 2 was to go into "Settings > General > Restrictions", then enable restrictions (have to enter passcode). From there I went into "Location" under the "Allow Changes" section and checked "Allow Changes" and made sure location services were on for all the listed apps. This seems to have reset it for me. After that I could go back into "General > Restriction" and disable restrictions again.
Hope this helps you!

Resources