show a progress spinner before the auth message
- ID
5fbb506- date
2023-06-19 08:17:03+00:00- author
Alex Chan <alex@alexwlchan.net>- parent
8fe8b15- message
show a progress spinner before the auth message- changed files
2 files, 21 additions, 7 deletions
Changed files
Blink.xcodeproj/project.pbxproj (35409) → Blink.xcodeproj/project.pbxproj (35415)
diff --git a/Blink.xcodeproj/project.pbxproj b/Blink.xcodeproj/project.pbxproj
index ac40834..0f5cea8 100644
--- a/Blink.xcodeproj/project.pbxproj
+++ b/Blink.xcodeproj/project.pbxproj
@@ -604,7 +604,7 @@
CODE_SIGN_ENTITLEMENTS = Blink/Blink.entitlements;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
- CURRENT_PROJECT_VERSION = 95;
+ CURRENT_PROJECT_VERSION = 102;
DEVELOPMENT_ASSET_PATHS = "\"Blink/Preview Content\"";
ENABLE_HARDENED_RUNTIME = YES;
ENABLE_PREVIEWS = YES;
@@ -633,7 +633,7 @@
CODE_SIGN_ENTITLEMENTS = Blink/Blink.entitlements;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
- CURRENT_PROJECT_VERSION = 95;
+ CURRENT_PROJECT_VERSION = 102;
DEVELOPMENT_ASSET_PATHS = "\"Blink/Preview Content\"";
ENABLE_HARDENED_RUNTIME = YES;
ENABLE_PREVIEWS = YES;
@@ -660,7 +660,7 @@
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 95;
+ CURRENT_PROJECT_VERSION = 102;
GENERATE_INFOPLIST_FILE = YES;
MACOSX_DEPLOYMENT_TARGET = 13.3;
MARKETING_VERSION = 1.0;
@@ -678,7 +678,7 @@
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 95;
+ CURRENT_PROJECT_VERSION = 102;
GENERATE_INFOPLIST_FILE = YES;
MACOSX_DEPLOYMENT_TARGET = 13.3;
MARKETING_VERSION = 1.0;
@@ -695,7 +695,7 @@
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 95;
+ CURRENT_PROJECT_VERSION = 102;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = net.alexwlchan.BlinkReviewerUITests;
@@ -711,7 +711,7 @@
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 95;
+ CURRENT_PROJECT_VERSION = 102;
GENERATE_INFOPLIST_FILE = YES;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = net.alexwlchan.BlinkReviewerUITests;
Blink/Views/PhotoReviewer.swift (13551) → Blink/Views/PhotoReviewer.swift (14265)
diff --git a/Blink/Views/PhotoReviewer.swift b/Blink/Views/PhotoReviewer.swift
index 3cd246f..c9ab339 100644
--- a/Blink/Views/PhotoReviewer.swift
+++ b/Blink/Views/PhotoReviewer.swift
@@ -34,8 +34,22 @@ struct PhotoReviewer: View {
var body: some View {
if !photosLibrary.isPhotoLibraryAuthorized {
- Text("Waiting for Photos Library authorization…")
+ VStack {
+ ProgressView().padding()
+
+ // When you launch the app, it takes a few seconds to connect to
+ // Photos and confirm that you're authorised to read it -- even if
+ // you've given it Photos permission on a previous launch.
+ //
+ // Deferring the display of this message for a few seconds avoids
+ // a confusing interaction for the user, where it seems like the app
+ // is waiting for permission even though they've already granted it.
+ Text("Waiting for Photos Library authorization…")
+ .deferredRendering(for: .seconds(5))
+ }
+
} else if photosLibrary.assets.count == 0 {
+ ProgressView().padding()
Text("Waiting for Photos Library data…")
} else {
ZStack {