• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Handling of paths through sandbox
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Handling of paths through sandbox


  • Subject: Handling of paths through sandbox
  • From: Gabriel Zachmann via Cocoa-dev <email@hidden>
  • Date: Tue, 11 Feb 2020 18:00:15 +0100

I have a question regarding the proper handling of paths under Catalina,
some of which go through the Container, some don't.

More specifically, I get the Pictures folder using this line of code:

  dir_to_scan = [NSHomeDirectory() stringByAppendingPathComponent: @"Pictures/"]

This gives me a path like
/Users/zach/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Pictures

Then, I start a Spotlight query to collect all images in that folder, like so:

    query_ = [[NSMetadataQuery alloc] init];
    NSPredicate * predicate = [NSPredicate predicateWithFormat:
@"(kMDItemContentTypeTree = 'public.image') && (kMDItemFSSize > %u) &&
(kMDItemPixelHeight > %u) && (kMDItemPixelWidth > %u)",
                                            excludekB_ * 1024, excludeSize_,
excludeSize_ ];
    [query_ setSearchScopes: [NSArray arrayWithObject: dir_to_scan]];
    [query_ setPredicate: predicate];
    [query_ startQuery];

(Yes, I have a few images in ~/Pictures)

Then, I collect them, which also works fine.

EXCEPT, apparently, Spotlight gives me paths starting with /Users/zach/Pictures
!
(which does make some sense.)
Problem is that I can't just do

   [ array_with_all_images addObject: [path substringFromIndex: ([dir_to_scan
length] + 1)] ];
!
I could, of course, handle the case where dir_to_scan = ~/Pictures specially.

But I am wondering whether or not I need to adopt a more general approach,
i.e., could there be other cases where the dir_to_scan goes through the
Container,
whereas Spotlight gives me the direct paths?
If so, what would be the correct approach?


Thanks a lot in advance for all insights.

Best regards, Gabriel


_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Handling of paths through sandbox
      • From: Quincey Morris via Cocoa-dev <email@hidden>
  • Prev by Date: Re: Sorting an array
  • Next by Date: Re: Sorting an array
  • Previous by thread: MFI Device Picker not displaying
  • Next by thread: Re: Handling of paths through sandbox
  • Index(es):
    • Date
    • Thread