I installed MacOS Sequoia 15.4 and now my backup script no longer works.
My script is using rsync in this way:
rsync -avz —delete —log-file=“$LOG_FILE” “$SRC_DIR” “$DEST_DIR”
This has been working fine for a very long time.
After updating to 15.4, this produces the error “rsync: unrecognized action —log-file=/users/admin/logs/backuplog_xxx.log”.
The log file path is correct (and hasn’t changed).
Interestingly, the man page for rsync no longer shows the —log-file as an option.
I know I can use:
rsync -avz —delete “$SRC_DIR” “$DEST_DIR” > “$LOG_FILE”`
or even
rsync -avz —delete “$SRC_DIR” “$DEST_DIR” > “$LOG_FILE” 2>&1`
to also capture stderr.
However, I liked the output from the built-In log option.
Does anyone know why this might have been removed or if there is a way to get it back?
Thanks.
Command Line Tools
RSS for tagCommand line tools allow for easy installation of open source software or development on UNIX within Terminal.
Posts under Command Line Tools tag
36 Posts
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hello,
I am working on a script to update an application which bundle ID changed. Only the bundle ID was modified; all other aspects remain unchanged.
This application requires access to "Screen & System Audio Recording" permissions, which are currently granted to the old bundle ID.
The script performs the following steps:
launchctl bootout gui/$(id -u) /Library/LaunchAgents/com.my_agent_1.plist
pkgutil --forget com.my_agent_1
tccutil reset All com.my_agent_1
rm /Library/LaunchAgents/com.my_agent_1.plist
rm -rf </path/to/com_my_agent_1>
installer -dumplog -allowUntrusted -pkg </path/to/com_my_agent_2.pkg> -target /
...
When running steps #1-6 without a restart between steps #5 and #6, the old bundle ID (com.my_agent_1) remains visible in TCC.db (verified via SQL queries).
Looks like this is the reason why "com.my_agent_2" is not automatically added to the permission list (requiring manual add).
Moreover, "tccutil reset All com.my_agent_1" does not work anymore, the error:
tccutil: No such bundle identifier "com.my_agent_1": The operation couldn’t be completed. (OSStatus error -10814.)
Is there any way to completely clear the "Privacy & Security" permissions without requiring a system restart?
Thank you a lot for your help in advance!
building gcc14-libgcc14 using Macports + Apple clang
returns following error
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX26.sdk/usr/include/mach/message.h:78,
from /Library/Developer/CommandLineTools/SDKs/MacOSX26.sdk/usr/include/mach/arm/thread_status.h:40,
from /Library/Developer/CommandLineTools/SDKs/MacOSX26.sdk/usr/include/mach/machine/thread_status.h:35,
from /Library/Developer/CommandLineTools/SDKs/MacOSX26.sdk/usr/include/mach-o/loader.h:52,
from /Library/Developer/CommandLineTools/SDKs/MacOSX26.sdk/usr/include/mach-o/dyld.h:30,
from /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_gcc14/libgcc14/work/gcc-14.2.0/libgcc/config/darwin-crt-tm.c:29:
/Library/Developer/CommandLineTools/SDKs/MacOSX26.sdk/usr/include/mach/port.h:510:1: error: conflicting types for 'MPG_PAYLOAD'; have 'uint64_t(uint8_t, uint32_t, uint32_t)' {aka 'long long unsigned int(unsigned char, unsigned int, unsigned int)'}
510 | MPG_PAYLOAD(uint8_t flag, uint32_t a, uint32_t b)
| ^~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX26.sdk/usr/include/mach/port.h:498:1: note: previous definition of 'MPG_PAYLOAD' with type 'uint64_t(uint8_t, uint32_t)' {aka 'long long unsigned int(unsigned char, unsigned int)'}
498 | MPG_PAYLOAD(uint8_t flag, uint32_t a)
| ^~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX26.sdk/usr/include/mach/port.h:523:1: error: conflicting types for 'MPG_PAYLOAD'; have 'uint64_t(uint8_t, uint32_t, uint16_t, uint16_t)' {aka 'long long unsigned int(unsigned char, unsigned int, short unsigned int, short unsigned int)'}
523 | MPG_PAYLOAD(uint8_t flag, uint32_t a, uint16_t b, uint16_t c)
| ^~~~~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX26.sdk/usr/include/mach/port.h:498:1: note: previous definition of 'MPG_PAYLOAD' with type 'uint64_t(uint8_t, uint32_t)' {aka 'long long unsigned int(unsigned char, unsigned int)'}
498 | MPG_PAYLOAD(uint8_t flag, uint32_t a)
libgcxx compiles fine
if forcing compile using clang20/clang19 there is no error.
Whenever I run anything in xcode it opens an extra terminal that runs the program then exits immediately, but the app still runs through the normal xcode launch. It's not a huge issue but It's getting really annoying to realize I have like 7 windows of terminal open that are just doing nothing.
Has anyone had this issue before?
Hello,
I'm trying to use devicectl to observe Darwin Notifications on my iPhone.
Instructions:
OVERVIEW: Observe a Darwin notification on a device.
Note that this command will wait for 300 seconds by default before exiting. You
can override this by providing a different --timeout value.
USAGE: devicectl device notification observe --device <uuid|ecid|udid|name> --name <name> ... [--verbose] [--quiet] [--timeout <seconds>] [--json-output <path>] [--log-output <path>]
DEVICE OPTIONS:
-d, --device <uuid|ecid|udid|name>
The identifier, ECID, UDID, or name of the device.
COMMAND OPTIONS:
--name <name> The name of the Darwin notification.
This can be passed multiple times to observe multiple Darwin
notifications.
OUTPUT OPTIONS:
-v, --verbose If given, provide more logging output than normal.
-q, --quiet If given, output will include only errors.
-t, --timeout <seconds> The overall command timeout in seconds. If this limit
is exceeded the command is abandoned as a failure.
-j, --json-output <path>
An optional path to write a JSON file with command
results.
Note: JSON output to a user-provided file on disk is the ONLY supported
interface for scripts/programs to consume command output.
-l, --log-output <path> An optional path to write all logging otherwise
passed to stdout/stderr.
OPTIONS:
--version Show the version.
-h, --help Show help information.
Executed command: xcrun devicectl device notification observe --device XXX --name com.example.Notification
Result: Darwin notification observation started. 300.0 seconds remaining:
On iOS, I'm posting a Darwin notification using:
CFNotificationCenterPostNotification(center, CFNotificationName("com.example.Notification" as CFString), nil, nil, true)
My CFNotificationCenterAddObserver on iOS does receive this notification. But the devicectl does not. Also no results when I remove the observer on iOS.
How can I send a notification in such a way that it is picked up by the devicectl observer?
I want to side load a .ipa file from a Mac to iPhone connected to Mac via USB. I don't want to use ABM or enterprise account. Also these can be any number of unknown devices. Is there any way to set this up automatically?
Topic:
Business & Education
SubTopic:
Device Management
Tags:
Developer Tools
Xcode
Command Line Tools
Hi All,
I am looking for a terminal command to get the exact same output as the file count you recieve when using Get Info in finder.
The closest i can get is using the find command with flags:
find 'path/to/folder' -not -path '*/\.*' -and -not -path '*\.key/*' -and -not -path '*\.numbers/*' -and -not -path '*\.pages/*' -and -not -path '*__MACOSX/*' -and -not -path '*\.pdf/*' -and -not -path '*\.app/*' -and -not -path '*\.rtfd/*' | wc -l
I will be searching on an external volume that sometimes produces keynote save files that finder sometimes sees as a package and sometimes sees as a folder. If a folder finder counts the items contained if a package it doesn't, I need the command or script to mimic this behaviour.
In the example of the screenshot get info on the top folder produces a count of 14 and the find command produces a count of 23.
There are also other behaviours that differ the file count between them but i'm not sure what causes them.
Any help on a solution it being a command or script would be much apreciated.
Thanks,
James
I am using system_profiler command to check on the installed application list from mac device.
**Terminal command to check installed java version - **
But while running /usr/sbin/system_profiler SPApplicationsDataType -xml , I cant able to find Java as an installed application.
Is this a known issue or do we have any alternative workaround to fetch the same?
Topic:
Business & Education
SubTopic:
Device Management
Tags:
Enterprise
Application Services
Command Line Tools
I'm trying to launch a command line app from my objective C application (sandboxed) using NSTask and I keep getting "launch path not accessible"
Here is the path:
[task setLaunchPath:@"/usr/local/bin/codeview"];
I have set the appropriate attributes for codeview and it is working perfectly when I use it from the command line and /usr/local/bin IS in the $PATH
I know I have NSTask configured correctly because this WILL work:
[task setLaunchPath:@"/usr/bin/hexdump"];
With the exception being that I'm using a command already in /usr/bin. But I can't copy codeview into /usr/bin due to SIPS.
I've tried moving codeview to various other non-SIPS protected locations all to no avail. Must all NSTask commands come from /usr/bin? Where might I put codeview so that it can be launched.
Today I'm going to use an older computer and disable SIPS to put my command in /usr/bin and see if that works. If it does. I will do it on my main machine.
Topic:
App & System Services
SubTopic:
Processes & Concurrency
Tags:
Entitlements
Objective-C
Command Line Tools
App Sandbox
I've been using /usr/bin/shortcuts for various tasks (eg. Quicksilver uses it to list and run shortcuts), and after updating from 14.7.4 to 14.7.5 the tool gets killed on startup. Eg. here is what it looks like in my shell:
❯ shortcuts list
zsh: killed shortcuts list
(And this is regardless of whether I have "full disk access" or "developer tools" toggled on or off for iTerm.)
Looking at system logs it seems like the binary is missing an entitlement, which causes MACF / Gatekeeper to throw a fit:
2025-04-12 18:38:48.847576 kernel: mac_vnode_check_signature: /usr/bin/shortcuts: code signature validation failed fatally: When validating /usr/bin/shortcuts:
in-kernel: com.apple.shortcuts.ShortcutsCommandLine disallowed without com.apple.private.security.restricted-application-groups
2025-04-12 18:38:48.847582 kernel: validation of code signature failed through MACF policy: 1
2025-04-12 18:38:48.847583 kernel: check_signature[pid: 2475]: error = 1
2025-04-12 18:38:48.847587 kernel: proc 95761: load code signature error 4 for file "shortcuts"
2025-04-12 18:38:48.847613 kernel: exec_mach_imgact: not running binary "shortcuts" built against preview arm64e ABI
2025-04-12 18:38:48.855481 syspolicyd: (Security) SecTrustEvaluateIfNecessary
2025-04-12 18:38:48.857970 syspolicyd: [com.apple.syspolicy.exec:default] GK evaluateScanResult: 2, PST: (path: /usr/bin/shortcuts), (team: (null)), (id: (null)), (bundle_id: (null)), 0, 0, 1, 0, 1, 1, 0evaluateScanResult: 2, PST: (path: /usr/bin/shortcuts), (team: (null)), (id: (null)), (bundle_id: (null)), 0, 0, 1, 0, 1, 1, 0
I used Time Machine to compare the binary's entitlements between 14.7.4 and 14.7.5, and looks like in 14.7.5 /usr/bin/shortcuts indeed is missing the com.apple.private.security.restricted-application-groups entitlement that 14.7.4 had. The old binary had these two entitlements that the new one doesn't:
[Key] com.apple.private.security.restricted-application-groups
[Value]
[Array]
[String] group.com.apple.shortcuts
[String] group.is.workflow.my.app
[String] group.is.workflow.shortcuts
[Key] com.apple.security.application-groups
[Value]
[Array]
[String] group.com.apple.shortcuts
[String] group.is.workflow.my.app
[String] group.is.workflow.shortcuts
Is there a sensible workaround for this (and by "sensible" I mean something that'd allow me to keep using the tool)?
(I already asked this on the support forums but I figured I might as well ask here too)
Topic:
App & System Services
SubTopic:
Automation & Scripting
Tags:
Entitlements
Shortcuts
Code Signing
Command Line Tools
After the Update of Latest Command Line Tools 16.3 I am facing issue to compile C++ programs. Like it is giving some kind of library error in the MACOSX15.sdk file and this is the error.
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/mach/machine/_structs.h:35,
from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/arm/_mcontext.h:36,
from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/machine/_mcontext.h:34,
from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/sys/signal.h:146,
from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/sys/wait.h:109,
from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/_stdlib.h:70,
from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/stdlib.h:58,
from /opt/homebrew/Cellar/gcc/14.2.0_1/include/c++/14/cstdlib:79,
from /opt/homebrew/Cellar/gcc/14.2.0_1/include/c++/14/stdlib.h:36,
from /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/assert.h:44,
from /opt/homebrew/Cellar/gcc/14.2.0_1/include/c++/14/cassert:44,
from /opt/homebrew/Cellar/gcc/14.2.0_1/include/c++/14/aarch64-apple-darwin24/bits/stdc++.h:33,
from 1.cpp:1:
/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/mach/arm/_structs.h:627:35: error: expected primary-expression before 'unsigned'
627 | } __attribute__((aligned(_Alignof(unsigned int))));
| ^~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/mach/arm/_structs.h:627:26: error: '_Alignof' was not declared in this scope
627 | } __attribute__((aligned(_Alignof(unsigned int))));
| ^~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/mach/arm/_structs.h:633:35: error: expected primary-expression before 'unsigned'
633 | } __attribute__((aligned(_Alignof(unsigned int))));
| ^~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/mach/arm/_structs.h:633:26: error: '_Alignof' was not declared in this scope
633 | } __attribute__((aligned(_Alignof(unsigned int))));
| ^~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/mach/arm/_structs.h:639:35: error: expected primary-expression before 'unsigned'
639 | } __attribute__((aligned(_Alignof(unsigned int))));
| ^~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/mach/arm/_structs.h:639:26: error: '_Alignof' was not declared in this scope
639 | } __attribute__((aligned(_Alignof(unsigned int))));
| ^~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/mach/arm/_structs.h:645:35: error: expected primary-expression before 'unsigned'
645 | } __attribute__((aligned(_Alignof(unsigned int))));
| ^~~~~~~~
/Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/mach/arm/_structs.h:645:26: error: '_Alignof' was not declared in this scope
645 | } __attribute__((aligned(_Alignof(unsigned int))));
But after downgrading the version to 16.2 it works fine. I can't understand that it's their any issue with Command Line Tools 16.3??
Hi there,
When using devicectl to manage files:
It's unclear for which domains the username should be provided
It's unclear how to determine the username
Listing files
USAGE: devicectl device info files [<options>] --device <uuid|ecid|serial_number|udid|name|dns_name> --domain-type <domain-type>
FILE OPTIONS:
--username <username> The username of the user we should target. Only relevant for certain domains.
--domain-type <domain-type>
The file service domain. Valid values are: temporary, appDataContainer, appGroupDataContainer, systemCrashLogs. You must specify a valid domain and
identifier pair. Certain domains must be accompanied by an identifier that provides additional context. For example, if the domain is an app data
container, the identifier is the bundle ID of the app. For temporary directories, the identifier is a unique client-provided string which is used to
get your own space, separate from those of other clients.
--domain-identifier <domain-identifier>
A unique string used to provide additional context to the domain.
--username The username of the user we should target. Only relevant for certain domains.
In the domains, the username requirements are not mentioned.
Copying files
USAGE: devicectl device copy to --device <uuid|ecid|serial_number|udid|name|dns_name> --source <source> [--destination <destination>] [--user <user>] --domain-type <domain-type> [--domain-identifier <domain-identifier>] [--remove-existing-content <remove-existing-content>] [--verbose] [--quiet] [--timeout <seconds>] [--json-output <path>] [--log-output <path>]
DEVICE OPTIONS:
-d, --device <uuid|ecid|serial_number|udid|name|dns_name>
The identifier, ECID, serial number, UDID, user-provided name, or DNS name of the device.
FILE OPTIONS:
--source <source> The item which should be copied.
--destination <destination>
The location to which the item should be copied.
-u, --user <user> The name of the user we should target. Only relevant for certain domains.
--domain-type <domain-type>
The file service domain. Valid values are: temporary, appDataContainer, appGroupDataContainer, systemCrashLogs. You must specify a valid domain and
identifier pair. Certain domains must be accompanied by an identifier that provides additional context. For example, if the domain is an app data
container, the identifier is the bundle ID of the app. For temporary directories, the identifier is a unique client-provided string which is used to
get your own space, separate from those of other clients.
--domain-identifier <domain-identifier>
A unique string used to provide additional context to the
-u, --user The name of the user we should target. Only relevant for certain domains.
The "certain domains" are not specified.
user vs username
The list files command takes:
--username <username> The username of the user we should target. Only relevant for certain domains
The copy command takes:
-u, --user <user> The name of the user we should target. Only relevant for certain domains.
Is there a difference between username and user?
How do we figure out the user or username?
From https://developer.apple.com/forums/thread/749649 I learned that about the "mobile" value, but why, and how?
It would help if these arguments could be explained in more detail.
I'm encountering an issue while trying to build my iOS app in Xcode for the simulator.
Issue:
Xcode Version: 15.x
macOS Version: 14.x (Sonoma)
Simulator: iPhone 16 Pro
Error Message: Command ClangStatCache failed with a nonzero exit code
Steps Taken:
Cleaned build folder (Shift + Cmd + K)
Deleted DerivedData (rm -rf ~/Library/Developer/Xcode/DerivedData)
Updated Xcode and checked iOS SDK updates
Disabled Clang Static Analyzer Cache
None of these steps resolved the issue. Any help would be appreciated!
Thanks in advance.
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags:
Developer Tools
Xcode Static Analyzer
Simulator
Command Line Tools
DocC supports treating build warnings as errors using the --warnings-as-errors flag. Is there a way to pass this flag to xcodebuild docbuild command or do I need to use xcrun docc convert after generating the symbol graph?
I'm calling this command to export archive:
xcodebuild -exportArchive -archivePath .build/XYZ.xcarchive -exportPath .build/XYZ.ipa -exportOptionsPlist Authenticator/ExportOptions.plist -quiet -allowProvisioningUpdates
Here is my exportOptions file content
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>method</key>
<string>app-store-connect</string>
<key>signingStyle</key>
<string>automatic</string>
<key>teamID</key>
<string>ABCD</string>
</dict>
</plist>
Most of the time this command fail with this error:
error: exportArchive No Accounts
error: exportArchive No signing certificate "iOS Distribution" found
What we found is that our Apple ID just disappear from Xcode and we need to add it again manually.
So there are two questions here:
Why Apple ID account dissapears and how I can fix this?
Is there an option to not use Apple ID account in Xcode and for example to use -authenticationKeyID flags of xcodebuild?
Just to mention this happens only on our CI machine and not locally.
Hey there,
I tried to install GPTK again, since I had to reinstall the OS for irrelevant reasons. But every time I try to install the tool kit, it gives me theError: apple/apple/game-porting-toolkit 1.1 did not build error. Before that error occired, I had the Openssl error, which I fixed with the rbenv version of openssl. Is there any way to fix this error? Down bellow you'll find the full error message it gave me. The specs for my Mac are (if they are helpful in any way): M1 Pro MBP 14" with 16GB Ram and 512GB SSD.
Thanks!
``Error: apple/apple/game-porting-toolkit 1.1 did not build
Logs:
/Users/myuser/Library/Logs/Homebrew/game-porting-toolkit/00.options.out
/Users/myuser/Library/Logs/Homebrew/game-porting-toolkit/01.configure
/Users/myuser/Library/Logs/Homebrew/game-porting-toolkit/01.configure.cc
/Users/myuser/Library/Logs/Homebrew/game-porting-toolkit/wine64-build
If reporting this issue please do so at (not Homebrew/brew or Homebrew/homebrew-core):
https://github.com/apple/homebrew-apple/issues```