Post

Replies

Boosts

Views

Activity

Reply to xcodebuild linking error fille cannot be open()ed, errno=2
OK this line of code seems to have tripped Xcode up resulting in the above errors DebugLog("No planogram fixtures for \(level.store.code).\(\(level.store.number))") Note that the typo wrapping the 'level.store.number' twice - coupled with the fact that number is not a property on store seems to have been enough to confuse the compiler as no compiler error was being shown. Not sure why that code error suddenly started showing up now which allowed me to fix it. Seems the error above is indicating that some source file has failed to build so start by tracking down the file and look for the code error the compiler hasn't been displaying an error for.
Oct ’24
Reply to Create PDF file with Spot Colors
Further investigation seems to indicate that the Apple Core Graphics API does not natively support the Separation color space (as defined by Adobe) but it does support DeviceN color spaces - or Color Models. DeviceN color spaces support Spot colors so this seems like an option for us to use. However it is still unclear how one would create such a DeviceN color space. [% Define the color space to be DeviceN /DeviceN [/Ruby /Emerald /Sapphire /Turquoise /Amethyst /Citrine] /DeviceRGB {%define new values and clip to 1.0 6 -1 roll 1 index add 2 index add 6 -1 roll 2 index add 4 index add 6 3 roll add add 4 -1 roll pop 3 -1 roll dup 1 gt {pop 1} if 3 -1 roll dup 1 gt {pop 1} if 3 -1 roll dup 1 gt {pop 1} if } ] setcolorspace I did find this pseudo code for C# which seems to shed some light on it. > Spot color can be represented in PDF using 'Separation' or 'DeviceN' > color spaces. > > A separation color space can be treated similarly to grayscale color > space. For details on separation color space, please refer to section > 4.5.5 'Special Color Spaces' in PDF Reference Manual > (http://www.pdftron.com/downloads/PDFReference16.pdf). > > The following C# pseudocode can be used to create a separation color > space based on a PostScript function: > > static ColorSpace CreateSpotColorSpace(PDFDoc doc) > { > Obj sep_cs = doc.CreateIndirectArray(); > > sep_cs.PushBackName("Separation"); > sep_cs.PushBackName("LogoGreen"); // The name of the colorant > sep_cs.PushBackName("DeviceCMYK"); // Alternate color space > > // Create tint function (using PostScript calculator function). > // Tint function is used to transform a tint value into color > // component values in the alternate color space. > string ps_funct = "{ dup 0.84 mul exch 0.00 exch dup 0.44 mul exch > 0.21 mul }"; > Obj tint_funct = doc.CreateIndirectStream(new > System.Text.UTF8Encoding().GetBytes(ps_funct)); > tint_funct.PutNumber("FunctionType", 4); > > Obj tint_domain = tint_funct.PutArray("Domain"); > tint_domain.PushBackNumber(0); // Gray > tint_domain.PushBackNumber(1); > > Obj tint_range = tint_funct.PutArray("Range"); > tint_range.PushBackNumber(0); // C > tint_range.PushBackNumber(1); > tint_range.PushBackNumber(0); // M > tint_range.PushBackNumber(1); > tint_range.PushBackNumber(0); // Y > tint_range.PushBackNumber(1); > tint_range.PushBackNumber(0); // K > tint_range.PushBackNumber(1); > > sep_cs.PushBack(tint_funct); > return new ColorSpace(sep_cs); > > } So how would one define such a DeviceN color space using the Core Graphics API ? I am assuming that one should be able to define this using a CFPropertyList and then use the CGColorSpace(propertyListPlist: CFPropertyList) API to do so. Any help would be appreciated.
Dec ’23
Reply to Apps directory not appearing in iCloud Drive in Finder
Here is a tip - and I struggled forever. create app iCloud containers something like this com.company.app.dev01 com.company.app.dev02 com.company.app.devxx com.company.app.prod If you create the container with the wrong settings than it seems that is it ! You can't get it to show up no matter what you do except create a new one, hence the naming conventions above. Be sure to set the access as Public in info.plist BEFORE you run the app the first time !! Also make sure all the identifiers match up in the app entitlements and on the target Signing & Capabilities page and in the apps info.plist.
Dec ’21
Reply to macOS multiple document app, multiple CoreData stores
Not sure I understand how this works. DocumentGroup provides the ability to browse/create/select a file but how do you create a new core data file or save one where there have been edits made. I don't see how you set the path to the actual file that is created/selected in DocumentGroup. Perhaps I am misunderstanding something but don't you need to create the sqlite or binary core data file at the URL obtained/created by DocumentGroup ? Otherwise doesn't NSPersistentContainer just store the core data files in the apps default location. I am assuming use of DocumentGroup means you can create the core data file on anywhere on iCloud Drive. var body: some Scene {         DocumentGroup(newDocument: { Document() }) { config in             ContentView()             // injecting persistent controller into the document view                 .environment(\.managedObjectContext, config.document.persistenceController.container                                 .viewContext)         }     }
Dec ’21
Reply to How can I get CALayer to render sublayers correctly when generating PDF ?
This is what I ended up doing - should this really be necessary ? class ZOrderDrawingLayer: CALayer {     override func render(in ctx: CGContext) {         if let layers:[CALayer] = self.sublayers {             let orderedLayers = layers.sorted(by: {                 $0.zPosition $1.zPosition             })             for v in orderedLayers {                 ctx.saveGState()                 let w = v.bounds.width/2                 let ww = w*w                 let h = v.bounds.height/2                 let hh = h*h                 let c = sqrt(ww + hh)                 let theta = asin(h/c)                   let angle = atan2(v.transform.m12, v.transform.m11)                 let x = c * cos(theta+angle)                 let y = c * sin(theta+angle)                 ctx.translateBy(x: v.position.x-x, y: v.position.y-y)                 ctx.rotate(by: angle)                 v.render(in: ctx)                 ctx.restoreGState()             }         }     } }
May ’21
Reply to Help debugging Thread 1: EXC_BAD_ACCESS (code=1, address=0x28) crash
With a bit more fiddling around I get this [error] precondition failure: invalid attribute id: 2189977 AttributeGraph precondition failure: invalid attribute id: 2189977. And finding similar errors elsewhere I remembered that I changed a NavigationView to a HSplitView (?) which seems to behave the same . After reverting to NavigationView this crash goes away ! Is this a bug? and should I raise a bug with Apple for this ?
May ’21
Reply to What is the correct way to get a RAW files image size
It seems that the RAW file contains the native camera image size (sensor size) and the thumbnail contains and image that is set to the aspect ration setting that was used on the camera. So when querying the RAW files thumbnail you get the thumbnail stored by the camera but when getting the CIImage using CIFilter you get the full image i.e. native camera sensor image size. There seems to be no RAW API to get the camera set aspect ratio but this data does seem to exist in the EXIF data XDimension and YDimension.
May ’21
Reply to Granting full-disk access to my sandboxed app not working
Hi Eskimo can you indicate whether it is possible for a Sandboxed macOS app to retain permission to files for future access. For example the user selects a folder initially and the app reads metadata from the files in the folder and keeps a database of the files. At some future point the user launches the app again and selects a database record and the app then loads that file. Currently in in subsequent file access for generating thumbnails we get the following error. error: Error Domain=NSPOSIXErrorDomain Code=1 "couldn't issue sandbox extension com.apple.app-sandbox.read for '/Volumes/Network_Drive/Documents/samples/XXXX.***': Operation not permitted" Is there some way for the app too retain the directory permissions so that future file reads at permitted. Thanks
Apr ’21