Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6696113
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T06:18:09+00:00 2026-05-26T06:18:09+00:00

The documentation for UIImageWriteToSavedPhotosAlbum is sparse when it comes to whether it will block

  • 0

The documentation for UIImageWriteToSavedPhotosAlbum is sparse when it comes to whether it will block or not. I understand that if you pass completion selectors in, it will return immediately and run to completion asynchronously, calling the given selectors when complete. My question is, if I pass nil for the completion selectors, will it complete before returning?

I believe the answer is Yes, however I would love to know for sure.

For reference, here is the stack of the function call on a background thread:

Thread 7:
0  libsystem_kernel.dylib            0x3304a060 semaphore_wait_trap
1  libdispatch.dylib                0x3264644a _dispatch_thread_semaphore_wait$VARIANT$up
2  libdispatch.dylib                0x326446ae _dispatch_barrier_sync_f_slow
3  libdispatch.dylib                0x3264462c dispatch_barrier_sync_f$VARIANT$up
4  libdispatch.dylib                0x32644288 dispatch_sync_f$VARIANT$up
5  CoreData                          0x3536417c -[NSManagedObjectContext performBlockAndWait:]
6  CoreData                          0x352fcf30 -[NSManagedObjectContext setPersistentStoreCoordinator:]
7  PhotoLibraryServices              0x31f28cb8 -[PLManagedObjectContext initWithConcurrencyType:useSharedPersistentStoreCoordinator:]
8  PhotoLibraryServices              0x31f28ae4 +[PLManagedObjectContext contextForPhotoLibrary:]
9  PhotoLibraryServices              0x31f28706 -[PLPhotoLibrary(Protected) loadDatabase]
10  PhotoLibraryServices              0x31ef220e -[PLPhotoLibrary initWithPath:canTriggerDatabaseUpdate:]
11  PhotoLibraryServices              0x31f3777e __42+[PLSharedPhotoLibrary sharedPhotoLibrary]_block_invoke_0
12  libdispatch.dylib                0x32646570 dispatch_once_f$VARIANT$up
13  PhotoLibraryServices              0x31f3773c +[PLSharedPhotoLibrary sharedPhotoLibrary]
14  PhotoLibraryServices              0x31ef9d5c __withSavedPhotosAlbumUUID_block_invoke_0
15  libdispatch.dylib                0x32646570 dispatch_once_f$VARIANT$up
16  PhotoLibraryServices              0x31ef9124 withSavedPhotosAlbumUUID
17  PhotoLibraryServices              0x31ef9066 PLSaveImageToCameraRoll
18  UIKit                            0x333cf5e6 UIImageWriteToSavedPhotosAlbum
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-26T06:18:10+00:00Added an answer on May 26, 2026 at 6:18 am

    Of course it’s asynchronous. The completion arguments are only optional because you may not care to be notified. But no, there’s no way to make this operation synchronous, nor would that even be a good idea. Locking up your main thread for an indeterminate amount of time is bad.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

The documentation of CharUnicodeInfo.GetUnicodeCategory says: Note that CharUnicodeInfo .GetUnicodeCategory does not always return the
The documentation for SQLiteDatabase.query says that the selectionArgs will be bound as strings. What
The documentation implies that it's ok for __new__(cls, ...) to return an object of
The documentation states that leveraging the --soft option ...Does not touch the index file
The documentation for the round() function states that you pass it a number, and
The documentation indicates that the error: option function will make available: XHR instance, a
The documentation for Sort says that Sort will throw an ArgumentException if The implementation
MySQL documentation says that since 5.0, varchar lengths refer to character units, not bytes.
The documentation lists the tags that are allowed/removed by default: http://www.feedparser.org/docs/html-sanitization.html But it doesn't
The documentation doesn't say anything about that. When an old object is removed and

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.