Post

Replies

Boosts

Views

Activity

Any way to make block from CFRunLoopPerformBlock run?
I have some NSViews that come and go during printing, and I want them to dealloc soon rather than waiting until the whole printing process is finished. The problem is that inside -[NSView addSubview:], the subview gets retained several times, and one of those schedules a release using CFRunLoopPerformBlock. But I don't have a run loop running, so that's not happening. The documentation of CFRunLoopPerformBlock says If you want the work performed right away, you must explicitly wake up that thread using the CFRunLoopWakeUp function. But calling CFRunLoopWakeUp( CFRunLoopGetMain() ) does not help, probably because the run loop is not running. If I call -[NSApplication nextEventMatchingMask: ...] in one of the standard modes, then the block from CFRunLoopPerformBlock runs, but too much other stuff also runs, such as queued notifications.
1
0
1k
Oct ’22
What is default encoding for %s?
The docs on -[NSString stringWithFormat:] link to old docs on string format specifiers which say that “the %s specifier causes the characters to be interpreted in the system default encoding”. What the heck is the system default encoding? I tried googling it, and all I found was people saying that while a program may have a default encoding, the Mac OS does not.
2
0
1.2k
Oct ’22
Instruments fails to record Points of Interest
I'm trying to use signposts to help profile C++ code with Instruments (with Xcode 14 beta 5), and it's not working. A section of code in question, which is definitely getting reached, starts like this static os_log_t sSignpost_log = nullptr; if (__builtin_available( macOS 10.14, * )) { if (sSignpost_log == nullptr) { sSignpost_log = os_log_create( "com.frameforge.gscn", "PointsOfInterest" ); } os_signpost_interval_begin( sSignpost_log, 99, "com.frameforge.gscn" ); } and ends like this if (__builtin_available( macOS 10.14, * )) { os_signpost_interval_end( sSignpost_log, 99, "com.frameforge.gscn" ); } In Instruments, I have a Points of Interest instrument, and in the recording options for that instrument, I added 99 and com.frameforge.gscn as a row under "signpost code names". But after recording a run, the Points of Interest instrument always shows "No Data". I tried adding an os_signpost instrument, and it shows some data, but none of mine. What am I missing?
1
0
1.2k
Aug ’22
ENABLE_USER_SCRIPT_SANDBOXING in Xcode 14
Anyone have more understanding of how this is supposed to work , beyond the quick help "If enabled, the build system will sandbox user scripts to disallow undeclared input/output dependencies."? When I turned it on, one of my build scripts failed. Operation not permitted error: Sandbox: bash(29174) deny(1) file-read-data In this case, the input path is to a folder (a framework) and the output path is in the build directory. The paths are definitely correct, because the script accesses them as $SCRIPT_INPUT_FILE_0 and $SCRIPT_OUTPUT_FILE_0, so the script wouldn't work at all if I had an error in the paths. I tried putting a slash at the end of an input path, and then the error was just "operation not permitted", without mentioning the sandbox.
2
2
8.9k
Jun ’22
Can one create an NSBitmapImageRep from floating-point data?
In the documentation of -[NSBitmapImageRep initWithBitmapDataPlanes:pixelsWide:pixelsHigh:bitsPerSample:samplesPerPixel:hasAlpha:isPlanar:colorSpaceName:bitmapFormat:bytesPerRow:bitsPerPixel:], it says that the bitmap format mask can include NSBitmapFormatFloatingPointSamples, which suggests that the answer is yes, but it also says that the number of bits per component can be at most 16, which suggests that the answer is no.
1
0
1.2k
Apr ’22
Core Image content filters broken in Big Sur
When I try to use custom Core Image filters in the contentFilters property of an NSView, they don't work in Big Sur (as of 11.0.1 beta). They do work in Catalina. Doesn't matter if they're written using Metal or Core Image Kernel Language. I've reported this as a bug, but I'm wondering if there is some trick or workaround.
2
0
1.4k
Feb ’22
Xcode live issues bogus errors
I have a project with several targets, which use different header paths and have some C++ code conditionalized by preprocessor symbols with #if. The targets build without error, but "live issues" produces errors, because apparently it's using the wrong headers but the right preprocessor symbols. I've tried nuking the derived data. Any other suggestions? I'm using Xcode 13.2.
1
0
622
Dec ’21
Any way to make block from CFRunLoopPerformBlock run?
I have some NSViews that come and go during printing, and I want them to dealloc soon rather than waiting until the whole printing process is finished. The problem is that inside -[NSView addSubview:], the subview gets retained several times, and one of those schedules a release using CFRunLoopPerformBlock. But I don't have a run loop running, so that's not happening. The documentation of CFRunLoopPerformBlock says If you want the work performed right away, you must explicitly wake up that thread using the CFRunLoopWakeUp function. But calling CFRunLoopWakeUp( CFRunLoopGetMain() ) does not help, probably because the run loop is not running. If I call -[NSApplication nextEventMatchingMask: ...] in one of the standard modes, then the block from CFRunLoopPerformBlock runs, but too much other stuff also runs, such as queued notifications.
Replies
1
Boosts
0
Views
1k
Activity
Oct ’22
What are "Login Items Added by Apps" in Ventura?
In the General system settings panel in Ventura, under Login Items, there are 2 sections: "Add Login Items", and "Login Items Added by Apps". What is this second category, and where can I find more about how to create such login items?
Replies
4
Boosts
0
Views
4.8k
Activity
Oct ’22
What is default encoding for %s?
The docs on -[NSString stringWithFormat:] link to old docs on string format specifiers which say that “the %s specifier causes the characters to be interpreted in the system default encoding”. What the heck is the system default encoding? I tried googling it, and all I found was people saying that while a program may have a default encoding, the Mac OS does not.
Replies
2
Boosts
0
Views
1.2k
Activity
Oct ’22
Instruments fails to record Points of Interest
I'm trying to use signposts to help profile C++ code with Instruments (with Xcode 14 beta 5), and it's not working. A section of code in question, which is definitely getting reached, starts like this static os_log_t sSignpost_log = nullptr; if (__builtin_available( macOS 10.14, * )) { if (sSignpost_log == nullptr) { sSignpost_log = os_log_create( "com.frameforge.gscn", "PointsOfInterest" ); } os_signpost_interval_begin( sSignpost_log, 99, "com.frameforge.gscn" ); } and ends like this if (__builtin_available( macOS 10.14, * )) { os_signpost_interval_end( sSignpost_log, 99, "com.frameforge.gscn" ); } In Instruments, I have a Points of Interest instrument, and in the recording options for that instrument, I added 99 and com.frameforge.gscn as a row under "signpost code names". But after recording a run, the Points of Interest instrument always shows "No Data". I tried adding an os_signpost instrument, and it shows some data, but none of mine. What am I missing?
Replies
1
Boosts
0
Views
1.2k
Activity
Aug ’22
ENABLE_USER_SCRIPT_SANDBOXING in Xcode 14
Anyone have more understanding of how this is supposed to work , beyond the quick help "If enabled, the build system will sandbox user scripts to disallow undeclared input/output dependencies."? When I turned it on, one of my build scripts failed. Operation not permitted error: Sandbox: bash(29174) deny(1) file-read-data In this case, the input path is to a folder (a framework) and the output path is in the build directory. The paths are definitely correct, because the script accesses them as $SCRIPT_INPUT_FILE_0 and $SCRIPT_OUTPUT_FILE_0, so the script wouldn't work at all if I had an error in the paths. I tried putting a slash at the end of an input path, and then the error was just "operation not permitted", without mentioning the sandbox.
Replies
2
Boosts
2
Views
8.9k
Activity
Jun ’22
Can one create an NSBitmapImageRep from floating-point data?
In the documentation of -[NSBitmapImageRep initWithBitmapDataPlanes:pixelsWide:pixelsHigh:bitsPerSample:samplesPerPixel:hasAlpha:isPlanar:colorSpaceName:bitmapFormat:bytesPerRow:bitsPerPixel:], it says that the bitmap format mask can include NSBitmapFormatFloatingPointSamples, which suggests that the answer is yes, but it also says that the number of bits per component can be at most 16, which suggests that the answer is no.
Replies
1
Boosts
0
Views
1.2k
Activity
Apr ’22
Core Image content filters broken in Big Sur
When I try to use custom Core Image filters in the contentFilters property of an NSView, they don't work in Big Sur (as of 11.0.1 beta). They do work in Catalina. Doesn't matter if they're written using Metal or Core Image Kernel Language. I've reported this as a bug, but I'm wondering if there is some trick or workaround.
Replies
2
Boosts
0
Views
1.4k
Activity
Feb ’22
What does "not supported" mean in a deprecation warning?
The functions CFURLGetFSRef and CFURLCreateFromFSRef have deprecation warnings that say "not supported". That confuses me, because when I see "deprecated" I think "it may stop working at some point in the future", and when I see "not supported" I think "it doesn't work now". Which is it?
Replies
2
Boosts
0
Views
1.3k
Activity
Dec ’21
Xcode live issues bogus errors
I have a project with several targets, which use different header paths and have some C++ code conditionalized by preprocessor symbols with #if. The targets build without error, but "live issues" produces errors, because apparently it's using the wrong headers but the right preprocessor symbols. I've tried nuking the derived data. Any other suggestions? I'm using Xcode 13.2.
Replies
1
Boosts
0
Views
622
Activity
Dec ’21
cryptic error from Metal on Mac with Nvidia GPU
What does it means when -[MTLDevice newRenderPipelineStateWithDescriptor:options:reflection:error:] returns the error "No primitive topology specified for layer selection program generation"? We've seen this after Ogre has compiled a vertex shader that uses [[viewport_array_index]] on a Mac with Nvidia graphics.
Replies
0
Boosts
0
Views
693
Activity
Nov ’21
Crashes in EmojiFunctionRowIM_Extension
Since updating to macOS 11.5.2, I'm getting almost constant crashes in EmojiFunctionRowIM_Extension, whatever that is. I'm not using any emoji. Anyone else? Can anything be done?
Replies
0
Boosts
0
Views
753
Activity
Aug ’21