Automation & Scripting

RSS for tag

Learn about scripting languages and automation frameworks available on the platform to automate repetitive tasks.

Automation & Scripting Documentation

Posts under Automation & Scripting subtopic

Post

Replies

Boosts

Views

Activity

Shortcuts: How to add “-pressed” to a file name in a shortcut
Hi there, Does anyone know how to modify this Image compressor Shortcut https://www.icloud.com/shortcuts/e13d8013598f4f33830386a956a163dd so that the image it creates has the original file name + “-pressed”? Eg “Image_123” becomes “Image_123-pressed” I know of the action ‘Rename file’ but can’t make it work. Any help much appreciated:)
0
0
82
3w
Shortcuts: How to add text to a file name
Hi there, Does anyone know how to modify this Image compressor Shortcut https://www.icloud.com/shortcuts/e13d8013598f4f33830386a956a163dd so that the image it creates has the original file name + “-pressed”? Eg “Image_123” becomes “Image_123-pressed” I know of the action ‘Rename file’ but can’t make it work. The shortcut does batch processing of images if that makes any difference. Any help much appreciated:)
0
0
106
3w
App Intents with Custom Automation/Triggers
Currently, we are developing an all-in-one DualSense utility for macOS. We are exploring how to integrate shortcuts into our app. Our vision is to have the user use the native Shortcuts app to choose the controller buttons that should trigger the shortcut action, such as opening Steam, turning on audio haptics, and more. As we explore this approach, we want to see whether we need to build the UI in our app to set the triggers or can we do this inside of Shortcuts? Can button presses recorded by our app trigger shortcuts? Can those button inputs be customized inside of Shortcuts or should we develop it into our app? And if we have it in our app, can our app see, select, and trigger shortcuts?
0
0
128
2w
App Intents: String array parameter value clears immediately in Shortcuts editor
Hello, I am experiencing an issue with the App Intents framework where a parameter of type [String] (String Array) fails to persist user input in the Shortcuts app action editor. Issue Description: When adding an item to the String Array parameter in the Shortcuts app action editor, the input text automatically clears/resets to empty within less than 1 second. This happens spontaneously while the keyboard is still active, or immediately after typing, making it impossible to input any values. Environment: Xcode Version: 26.2 (17C52) iOS Version: 26.2.1 Device: iPhone 17 Code Snippet: import AppIntents import SwiftUI struct TestStringArrayIntent: AppIntent { static var title: LocalizedStringResource = "Test Array Input Bug" static var description: IntentDescription = "Reproduces the issue where String Array input clears automatically." // PROBLEM: // Input for this parameter vanishes automatically < 1s after typing. @Parameter(title: "Test Strings", default: []) var strings: [String] func perform() async throws -> some IntentResult & ReturnsValue<String> { return .result(value: "Count: \(strings.count)") } } Steps to Reproduce: Build and install the app containing the code above. Open the Shortcuts app and create a new shortcut. Add the "Test Array Input Bug" action. Tap the "Test Strings" parameter to add a new item. Type any text (e.g., "Hi"). Observe: Wait for about 1 second Observed Behavior: The text field clears itself automatically. The array remains empty ([]). Expected Behavior: The text should remain in the field and be successfully added to the array. **Filed as Feedback:**FB21808619 Thank you.
0
0
23
2d
AppleScript, Do Shell. How do I write the "test" command to the "script editor"?
Hello. How to write this command correctly on a Macbook, in the script editor, so that I can click the "Run script" button and the script will give the result: if there is no folder, then report that there is no folder, if there is a folder, then report that the folder exists. do shell script "test -d 'Users/user/Desktop/New folder'" Now, if the folder exists, an empty string ("") is returned, if the folder does not exist, the script editor reports that an error has occurred. In general, my task is to write a script that checks the existence of a folder.
14
0
1.8k
Oct ’25
EntityStringQuery does not show variable menu in Shortcuts app
(Public dupe of FB16477656) The Shortcuts app allows you to parameterise the input for an action using variables or allowing "Ask every time". This option DOES NOT show when conforming my AppEntity.defaultQuery Struct to EntityStringQuery: But it DOES shows when confirming to EntityQuery: As discussed on this forum post (or FB13253161) my AppEntity.defaultQuery HAS TO confirm to EntityStringQuery to allow for searching by String from Siri Voice input. To summarise: With EntityQuery: My Intent looks like it supports variables via the Shortcuts app. But will end up in an endless loop because there is no entities(matching string: String) function. This will allow me to choose an item via the Shorcuts.app UI With EntityStringQuery: My Intent does not support variables via the Shortcuts app. I am not allows to choose an item via the Shorcuts.app UI. Even weirder, if i set up the shortcut with using a build with EntityQuery and then do another build with EntityStringQuery it works as expected. Code: /* Works with Siri to find a match, doesn't show "Ask every time" */ public struct WidgetStationQuery: EntityStringQuery { public init() { } public func entities(matching string: String) async throws -> [Station] { let stations = [Station(id: "car", name: "car"), Station(id: "bike", name: "bike")] return stations.filter { $0.id.lowercased() == string.lowercased() } } public func entities(for identifiers: [Station.ID]) async throws -> [Station] { let stations = [Station(id: "car", name: "car"), Station(id: "bike", name: "bike")] return stations.filter { identifiers.contains($0.id.lowercased()) } } public func suggestedEntities() async throws -> [Station] { return [Station(id: "car", name: "car"), Station(id: "bike", name: "bike")] } public func defaultResult() async -> Station? { try? await suggestedEntities().first } } /* DOES NOT work with Siri to find a match, but Shortcuts shows "Ask every time" */ public struct WidgetBrokenStationQuery: EntityQuery { public init() { } public func entities(matching string: String) async throws -> [Station] { let stations = [Station(id: "car", name: "car"), Station(id: "bike", name: "bike")] return stations.filter { $0.id.lowercased() == string.lowercased() } } public func entities(for identifiers: [Station.ID]) async throws -> [Station] { let stations = [Station(id: "car", name: "car"), Station(id: "bike", name: "bike")] return stations.filter { identifiers.contains($0.id.lowercased()) } } public func suggestedEntities() async throws -> [Station] { return [Station(id: "car", name: "car"), Station(id: "bike", name: "bike")] } public func defaultResult() async -> Station? { try? await suggestedEntities().first } }```
2
0
483
Jun ’25
"Not authorized to send Apple events to Terminal
We are trying to open an application "xyz.app" It worked fine until 15.1.1 versions. But facing issues with 15.2 and 15.3 The application is working fine when we navigate to xyz.app/Contents/MacOS/ and run applet in this directory. But the error "Not authorized to send Apple events to Terminal" occurs when we are trying to open the app directly. We have tried with all the available solutions like giving full disk access to terminal and application, adding my application to automation in privacy and security tabs in settings. Any help would be appreciated. Thanks!
1
0
528
Feb ’25
Automator error when running Watch Me Do-created script
Hi everyone, I'm trying to use Automator to batch process PDF files. I have hundreds of academic journal article PDFs whose page sizes vary from 5x7 inches to A4 format (8.27 x 11.69 inches). I want to scale all the PDFs to US Letter size (8.5 x 11.0 inches) such that smaller originals remain 100% scale but are centered on the larger page and larger originals are scaled down to fit the page. Manually opening a PDF in Preview.app, scaling it to US Letter paper, and using the Save as PDF option is producing the desired output for me. I captured my workflow using the Watch Me Do action in Automator, then adjusted it into the following AppleScript. -- a Get Specified Finder Items action to specify the input PDFs precedes this script on run {input, parameters} repeat with filePath in input -- Open the file in Preview tell application "Preview" open filePath activate end tell -- Give Preview some time to open the file delay 2.0 -- Press ⌘P set timeoutSeconds to 0.25 set uiScript to "keystroke \"p\" using command down" my doWithTimeout(uiScript, timeoutSeconds) -- Click the “Scale to Fit:” radio button. delay 2.0 set timeoutSeconds to 2.0 set uiScript to "click radio button \"Scale to Fit:\" of radio group 1 of group 1 of group 2 of scroll area 2 of splitter group 1 of sheet 1 of window 1 of application process \"Preview\"" my doWithTimeout(uiScript, timeoutSeconds) -- Click the “&lt;fill in title&gt;” menu button. delay 4.0 set timeoutSeconds to 2.000000 set uiScript to "click menu button 1 of group 2 of splitter group 1 of sheet 1 of window 1 of application process \"Preview\"" my doWithTimeout( uiScript, timeoutSeconds ) -- Save as PDF… delay 2.0 set timeoutSeconds to 2.0 set uiScript to "click menu item 2 of menu 1 of splitter group 1 of sheet 1 of window 1 of application process \"Preview\"" my doWithTimeout(uiScript, timeoutSeconds) -- Click the “Save” button. delay 8.0 set timeoutSeconds to 2.0 set uiScript to "click UI Element \"Save\" of sheet 1 of sheet 1 of window 1 of application process \"Preview\"" my doWithTimeout(uiScript, timeoutSeconds) -- Press ⌘W to close the file delay 0.25 set timeoutSeconds to 2.0 set uiScript to "keystroke \"w\" using command down" my doWithTimeout(uiScript, timeoutSeconds) end repeat return input end run on doWithTimeout(uiScript, timeoutSeconds) set endDate to (current date) + timeoutSeconds repeat try run script "tell application \"System Events\" " &amp; uiScript &amp; " end tell" exit repeat on error errorMessage if ((current date) &gt; endDate) then error "Can not " &amp; uiScript end if end try end repeat end doWithTimeout My problem arises at the Save as PDF step. When this action runs, I see the PDF menu pop open: but the Save as PDF... menu item doesn't get clicked. Instead, I get an error: Can anyone advise on how to overcome this error?
1
0
458
Feb ’25
Add the ability to remove/delete chats in the ChatGPT app using shortcuts
So Recently I’ve been making shortcuts and I noticed that I can prompt chatgpt with shortcuts to add extra functionality, I like this idea but there is 1 flaw with it and that is there is no ability to remove chats automatically, I suppose this would be fine except every time the shortcut is run it creates a new chat, usually I would have made it to remove the chat after the shortcut is finished, but since I can’t the chats would pile up as there is no way of getting rid of them automatically and it would be tedious to manually delete all the chats. also sorry if I chose the wrong topic and subtopic, I couldn’t find a topic about shortcuts
1
0
526
Feb ’25
Language choice sometimes pops up during Recovery
Sometimes, during Recovery, when choosing "Options" I'm presented with the Language chooser before going into the Recovery options. Other times the process moves directly into Recovery options, without any language choice. I'm running in recovery mode, after completing a fresh installation of macOS (including setting a language) and fully shutting down the OS via the menu. This happens seemingly randomly, which affects the ability to automate the process. So far I've only seen it on macOS 15. Is there some logic to why this language chooser pops up, and any way I can make it consistent (in either direction)?
3
0
457
Feb ’25
Use UnionValue For AppIntent Parameter
I'm currently trying to use the new @UnionValue macro. From what I understood, it allows multiple types for a parameter. I created the following enum: @UnionValue enum IntentDuration { case int(Int) case duration(Measurement<UnitDuration>) } Then, I tried to use it in the following AppIntent: struct MyIntent: AppIntent { static let title: LocalizedStringResource = "intent.title" static let description = IntentDescription("intent.description") static let openAppWhenRun: Bool = true @Parameter var duration: IntentDuration @Dependency private var appManager: AppManager @MainActor func perform() async throws -> some IntentResult { // My action return .result() } } However, I get the following error from Xcode at the @Parameter line: 'init()' is unavailable Did I wrongly understand how this works? Is there another way to accept multiple types for a parameter? I didn't manage to find any docs on this.
2
0
315
Jun ’25
Interacting with the Notes application
Hello, Relatively new to AppleScripts in current gen (I've used it back in 2010s) and would like some help if someone can point me in the right direction. Is AppleScript the best/only way to interact with Notes application? (I'm on Sequioa) 1.1 I've tried to use LLM to generate a Swift app, but it still calls out to AppleScripts, so I'm wondering if I'm missing something. 1.2 If I'm going down a rabbit hole, I'd like to stop since I want to finish this quick task and move on and or fall deeply in love with AppleScripts... whichever comes first. Is There a better way to write notes? Script Editor is still a minimal IDE, I'd love to find something that will do some auto completion/suggestions because the documentation in the Script Editor is still a tad weak. (I'm used to interpreted languages like bash, ruby, etc...) where if I don't understand something I just dig into the code instead of turse documentation that just exposes public end points and does not tell you much more :( My problem: I'd like to set up a cron that periodically checks my notes, and cleans up the shared notes. Basically it's a shared set of notes that have checklist on it and cleans up. (weekly chores etc...) I want to read the notes, find out which ones have been marked checked. Reset the ones that are done, leave unfinished ones alone and reset the old ones. This is how far I've gotten: let appleScript = """``` tell application "Notes" set targetNote to note "\Test" of default account return body of targetNote end tell That works like a charm, Kind of dumb because I rather use and ID of the note not the name :( It returns the following <div><b><span style=\\"font-size: 24px\\">Test</span></b></div> <div><br></div> <ul> <li> Not Done</li> <li>Done</li> <li>Not Done yet</li> </ul> <div><br></div> <div>Single line</div> Which is a good start! Issues: There is no way to tell which Item is marked "Checked" and which one is not :( Any helps is greatly appreciated!
1
0
378
Mar ’25
How to make a progress meter for an AppleScript that works with the Photos app
I wrote an AppleScript that takes a bunch of scanned jpegs with systematically named filenames and transfers information from the filename into the date and time fields. That all works fine, but I've got many more scans to do and I'd like to augment the script to include a progress meter because it takes a long time to run on e.g. 1000 photos. I've found basic progress meter examples online that involves commands like: set progress total steps to theImageCount set progress completed steps to 0 set progress description to "Processing Images..." set progress additional description to "Preparing to process." and they run OK in a separate dummy test case, however I'm getting syntax errors for such commands in my renaming script because (I think) they're inside a tell application "Photos" wrapper and it looks like Photos doesn't like those commands. A progress meter (in any AppleScript) should be a straightforward thing i.e. I can clearly define a total number of steps and I can clearly define the step number I'm currently on. I just want to display something like: I'd even be OK with just implementing something like: display dialog "blah blah" but that needs to be manually dismissed with each iteration of the loop, so that's no good. I also tried: display notification "blah blah" but that yields hundreds of notification boxes at the top right of my screen, so that's also impractical. I was even thinking maybe I could call some generic system progress meter with all the right variables via a "do shell script" command (although I have no idea how to do that). Something surely must be possible, but I just can't figure it out :-(. Could some kind soul please help me out. Thanks.
9
0
455
Mar ’25
syntax errors when working with folders that have “‘“ in it such as “greg’s folder"
I'm unable to fix syntax errors when using folders such as “greg’s folder" error "86:87: syntax error: Expected “"” but found unknown token. (-2741)" number 1 i’ve created an apple script to run python tool to extract “.rpa” files. the script works well except to selecting games that are in a folder with “‘". any ideas to properly to this? thank you. -- Function to escape special characters in POSIX paths for safe shell execution on escapePOSIXPath(originalPath) set AppleScript's text item delimiters to "'" set pathParts to text items of originalPath set AppleScript's text item delimiters to "'\\''" set escapedPath to pathParts as text set AppleScript's text item delimiters to "" -- Reset delimiters -- Wrap in single quotes return "'" & escapedPath & "'" end escapePOSIXPath -- Get the current app's POSIX path set currentAppPath to POSIX path of (path to me) -- Construct the expected path for rpatool.py set scriptPath to currentAppPath & "Contents/Resources/Scripts/rpatool.py" -- Check if rpatool.py exists set scriptExists to do shell script "test -e " & quoted form of scriptPath & " && echo true || echo false" if scriptExists is "false" then -- Ask user to select the rpatool.py file display dialog "rpatool.py was not found. Please select its location." set rpaToolFile to choose file with prompt "Select the rpatool.py script" of type {"public.python-script"} set scriptPath to POSIX path of rpaToolFile end if -- Escape the path for safe execution set scriptPath to escapePOSIXPath(scriptPath) -- Prompt user to select the game application set appFile to choose file with prompt "Select the Game app with RPA files" of type {"com.apple.application"} set appPath to POSIX path of appFile set gameFolderPath to appPath & "/Contents/Resources/autorun/game" -- Check if the 'game' folder exists set gameFolderExists to do shell script "test -d " & quoted form of gameFolderPath & " && echo true || echo false" if gameFolderExists is "false" then display dialog "The 'game' folder was not found in the selected app's directory. Exiting..." return end if -- Find all .rpa files in the game folder set fileList to paragraphs of (do shell script "find " & quoted form of gameFolderPath & " -name '*.rpa' -type f") -- Check if .rpa files exist if fileList is {} then display dialog "No .rpa files found in the 'game' folder. Exiting..." return end if -- Open Terminal and change directory set firstCommand to "cd " & quoted form of gameFolderPath do shell script "osascript -e " & quoted form of ("tell application \"Terminal\" to do script \"" & firstCommand & "\"") -- Process each .rpa file in Terminal display dialog "Extraction will start in Terminal and will process " & (count of fileList) & " .rpa files." repeat with aFile in fileList set aFile to escapePOSIXPath(aFile) set extractionCommand to "python3 " & scriptPath & " -x " & aFile -- Execute in Terminal try do shell script "osascript -e " & quoted form of ("tell application \"Terminal\" to do script \"" & extractionCommand & "\" in front window") delay 0.5 do shell script "osascript -e " & quoted form of "tell application \"Terminal\" to activate" on error errMsg display dialog "Error executing command: " & errMsg end try end repeat Test Run with error: tell current application path to current application --> alias "Macintosh HD:Users:Greg:Downloads:Ren'Py:RPA Extractor Mac 2.9.scpt" do shell script "test -e '/Users/Greg/Downloads/Ren'\\''Py/RPA Extractor Mac 2.9.scptContents/Resources/Scripts/rpatool.py' && echo true || echo false" --> "false" end tell tell application "Script Editor" display dialog "rpatool.py was not found. Please select its location." --> {button returned:"OK"} choose file with prompt "Select the rpatool.py script" of type {"public.python-script"} --> alias "Macintosh HD:Users:Greg:Downloads:Ren'Py:Test Game:rpatool.py" choose file with prompt "Select the Game app with RPA files" of type {"com.apple.application"} --> alias "Macintosh HD:Users:Greg:Downloads:Ren'Py:Test Game:Test Game.app:" end tell tell current application do shell script "test -d '/Users/Greg/Downloads/Ren'\\''Py/Test Game/Test Game.app//Contents/Resources/autorun/game' && echo true || echo false" --> "true" do shell script "find '/Users/Greg/Downloads/Ren'\\''Py/Test Game/Test Game.app//Contents/Resources/autorun/game' -name '*.rpa' -type f" --> "/Users/Greg/Downloads/Ren'Py/Test Game/Test Game.app//Contents/Resources/autorun/game/code.rpa /Users/Greg/Downloads/Ren'Py/Test Game/Test Game.app//Contents/Resources/autorun/game/fonts.rpa /Users/Greg/Downloads/Ren'Py/Test Game/Test Game.app//Contents/Resources/autorun/game/sounds.rpa" do shell script "osascript -e 'tell application \"Terminal\" to do script \"cd '\\''/Users/Greg/Downloads/Ren'\\''\\'\\'''\\''Py/Test Game/Test Game.app//Contents/Resources/autorun/game'\\''\"'" --> error "73:74: syntax error: Expected “\"” but found unknown token. (-2741)" number 1 Result: error "73:74: syntax error: Expected “\"” but found unknown token. (-2741)" number 1
2
0
275
Mar ’25
AppIntents + CSSearchableItemAttributeSet: only displayName indexed?
On iOS 18, I'm trying to index documents in Spotlight using the new combination of AppIntents+IndexedEntity. However, I don't seem to be able to index the textContent of the document. Only the displayName seems to be indexed. As recommended, I start with the defaultAttributeSet: /// I call this function to index in Spotlight static func indexInSpotlight(document: Document) async { do { if let entity = document.toEntity { try await CSSearchableIndex.default().indexAppEntities([entity]) } } catch { DLog("Spotlight: could not index document: \(document.name ?? "")") } } /// This is the corresponding IndexedEntity with the attributeSet @available(iOS 18, *) extension DocumentEntity { var attributeSet: CSSearchableItemAttributeSet { let attributeSet = defaultAttributeSet attributeSet.title = title attributeSet.displayName = title attributeSet.textContent = docContent attributeSet.thumbnailData = thumbnailData attributeSet.kind = "document" attributeSet.creator = Constants.APP_NAME return attributeSet } } How can I have more that the displayName to be indexed? Thanks :-)
10
0
462
Oct ’25
Applications Scripts denied
Hi all, I'm developing a sandboxed Mac OS app that generates and compiles AppleScript files to automate tasks in Pages (and other iWork apps). The app creates an AppleScript file and writes it to the NSApplicationScriptsDirectory (i.e., ~/Library/Application Scripts/com.example.app), then compiles and executes it via NSUserAppleScriptTask. On Mac OS Ventura, however, I get the following error in the console when trying to write the file: [PagesModifier] Error creating or compiling the script: You are not allowed to save the file "PagesModifier_...applescript" in the folder "com.example.app" Here are my current entitlements: &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"&gt; &lt;plist version="1.0"&gt; &lt;dict&gt; &lt;key&gt;com.apple.security.app-sandbox&lt;/key&gt; &lt;true/&gt; &lt;key&gt;com.apple.security.application-groups&lt;/key&gt; &lt;array/&gt; &lt;key&gt;com.apple.security.automation.apple-events&lt;/key&gt; &lt;array&gt; &lt;string&gt;com.apple.iWork.Pages&lt;/string&gt; &lt;string&gt;com.apple.iWork.Numbers&lt;/string&gt; &lt;string&gt;com.apple.iWork.Keynote&lt;/string&gt; &lt;/array&gt; &lt;key&gt;com.apple.security.files.user-selected.read-write&lt;/key&gt; &lt;true/&gt; &lt;key&gt;com.apple.security.scripting-targets&lt;/key&gt; &lt;dict&gt; &lt;key&gt;com.apple.iWork.Keynote&lt;/key&gt; &lt;array&gt; &lt;string&gt;com.apple.iWork.Keynote&lt;/string&gt; &lt;/array&gt; &lt;key&gt;com.apple.iWork.Numbers&lt;/key&gt; &lt;array&gt; &lt;string&gt;com.apple.iWork.Numbers&lt;/string&gt; &lt;/array&gt; &lt;key&gt;com.apple.iWork.Pages&lt;/key&gt; &lt;array&gt; &lt;string&gt;com.apple.iWork.Pages&lt;/string&gt; &lt;/array&gt; &lt;/dict&gt; &lt;key&gt;com.apple.security.temporary-exception.apple-events&lt;/key&gt; &lt;array&gt; &lt;string&gt;com.apple.iWork.Pages&lt;/string&gt; &lt;string&gt;com.apple.iWork.Numbers&lt;/string&gt; &lt;string&gt;com.apple.iWork.Keynote&lt;/string&gt; &lt;/array&gt; &lt;key&gt;com.apple.security.temporary-exception.files.home-relative-path.read-write&lt;/key&gt; &lt;array&gt; &lt;string&gt;Library/Application Scripts/com.example.app&lt;/string&gt; &lt;/array&gt; &lt;/dict&gt; &lt;/plist&gt; I suspect the issue might be due to sandbox restrictions on dynamically creating or modifying the Application Scripts directory on Ventura. Has anyone experienced something similar or have any suggestions on how to work around this? Thanks in advance for your help!
6
0
261
Mar ’25
Unable to pass parameters from siri phrase to appIntent
I have a chat/search functionality in my app, I want to integrate siri where user can say something "Hey siri! Ask myApp to get latest news" then I want to invoke my search functionality with "get latest news". I see iOS apps like chatGPT and youtube have already achieved this. I am able to invoke the intent with static phrase which is expecting the parameter, user is able to provide the value when prompted after requestValueDialog. But it is a 2 step process for end user. I want to achieve in a single step. struct CombinedSiriShortcuts: AppShortcutsProvider { static var appShortcuts: [AppShortcut] { return [ AppShortcut( intent: ShowSpecificNewsArticleIntent(), phrases: [ "Ask \(.applicationName) to run a query:", ], shortTitle: "Specific News Article", systemImageName: "doc.text.fill" ), AppShortcut( intent: TestQuery(), phrases: [ "Ask \(.applicationName) to \(\.$query)", ], shortTitle: "Test intent", systemImageName: "doc.text.fill" ), ] } } struct ShowSpecificNewsArticleIntent: AppIntent { static var title: LocalizedStringResource = "Show Specific News Article" static var description = IntentDescription( "Provides details about a specific news article based on its title." ) @Parameter(title: "Query") var query: String @MainActor func perform() async throws -> some IntentResult & ProvidesDialog & ShowsSnippetView { print("in show specific intent"); print(query); return .result(dialog: "view more about: \(query)") } }
2
0
189
Mar ’25
Duration type parameter in AppIntent
I'm developing an AppIntent with a Duration parameter, the definition looks like this: @Parameter(title: "Duration", description: "Time entry duration") var duration: Measurement<UnitDuration> When I run this AppIntent using Siri voice command (by a shortcut) the system asks for the duration value, however when I try to say "1 hour 10 minutes" the "hour" component is ignored, in the AppIntent's perform() method I see only the minutes set (so in this case only 10 minutes). Is there any way to use the Duration type for this type of natural language input? When I try to set only 10 minutues, or 1 hour separately it works, just the combination of these two fails. Thank you
3
0
101
Apr ’25
Import Files into Photos script failed
I am trying to setup in Automator a Folder Action, where screenshots on Desktop are automatically imported into my Photos app Unfortunately, the automation is not working. When I have a screenshot on the Desktop and I open Automator to manually trigger, I receive the error: The action "Import Files into Photos" encountered an error: "Import Files into Photos script failed" Under log, it further says: The action "Import Files into Photos" was not supplied with the required data
6
0
178
May ’25