mirror of
https://github.com/Dimillian/IceCubesApp.git
synced 2025-09-04 00:43:48 +00:00
* fix image download bug (#2131) * Improved PR following reviewer recommendations
This commit is contained in:
parent
c03e1bce93
commit
7a14ce9e6f
4 changed files with 19 additions and 2 deletions
|
@ -1058,6 +1058,7 @@
|
|||
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.social-networking";
|
||||
INFOPLIST_KEY_NSCameraUsageDescription = "Upload photos & videos to attach to your Mastodon posts.";
|
||||
INFOPLIST_KEY_NSHumanReadableCopyright = "© 2024 Thomas Ricouard";
|
||||
INFOPLIST_KEY_NSPhotoLibraryAddUsageDescription = "Ice Cubes would like to save the selected photo in your photo library.";
|
||||
INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "Upload photos & videos to Mastodon";
|
||||
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
|
||||
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES;
|
||||
|
@ -1125,6 +1126,7 @@
|
|||
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.social-networking";
|
||||
INFOPLIST_KEY_NSCameraUsageDescription = "Upload photos & videos to attach to your Mastodon posts.";
|
||||
INFOPLIST_KEY_NSHumanReadableCopyright = "© 2024 Thomas Ricouard";
|
||||
INFOPLIST_KEY_NSPhotoLibraryAddUsageDescription = "Ice Cubes would like to save the selected photo in your photo library.";
|
||||
INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "Upload photos & videos to Mastodon";
|
||||
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
|
||||
"INFOPLIST_KEY_UIApplicationSceneManifest_Generation[sdk=iphoneos*]" = YES;
|
||||
|
|
|
@ -28,6 +28,8 @@
|
|||
<true/>
|
||||
<key>com.apple.security.network.client</key>
|
||||
<true/>
|
||||
<key>com.apple.security.personal-information.photos-library</key>
|
||||
<true/>
|
||||
<key>keychain-access-groups</key>
|
||||
<array>
|
||||
<string>$(AppIdentifierPrefix)$(BUNDLE_ID_PREFIX).IceCubesApp</string>
|
||||
|
|
|
@ -28,6 +28,8 @@
|
|||
<true/>
|
||||
<key>com.apple.security.network.client</key>
|
||||
<true/>
|
||||
<key>com.apple.security.personal-information.photos-library</key>
|
||||
<true/>
|
||||
<key>keychain-access-groups</key>
|
||||
<array>
|
||||
<string>$(AppIdentifierPrefix)$(BUNDLE_ID_PREFIX).IceCubesApp</string>
|
||||
|
|
|
@ -3,6 +3,7 @@ import Models
|
|||
import Nuke
|
||||
import QuickLook
|
||||
import SwiftUI
|
||||
import Photos
|
||||
|
||||
public struct MediaUIView: View, @unchecked Sendable {
|
||||
private let data: [DisplayData]
|
||||
|
@ -151,6 +152,8 @@ private struct SavePhotoToolbarItem: ToolbarContent, @unchecked Sendable {
|
|||
state = .unsaved
|
||||
}
|
||||
}
|
||||
} else {
|
||||
state = .unsaved
|
||||
}
|
||||
}
|
||||
} label: {
|
||||
|
@ -187,9 +190,17 @@ private struct SavePhotoToolbarItem: ToolbarContent, @unchecked Sendable {
|
|||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
private func saveImage(url: URL) async -> Bool {
|
||||
if let image = try? await uiimageFor(url: url) {
|
||||
guard let image = try? await uiimageFor(url: url) else { return false }
|
||||
|
||||
var status = PHPhotoLibrary.authorizationStatus(for: .addOnly)
|
||||
|
||||
if status != .authorized {
|
||||
await PHPhotoLibrary.requestAuthorization(for: .addOnly)
|
||||
status = PHPhotoLibrary.authorizationStatus(for: .addOnly)
|
||||
}
|
||||
if status == .authorized {
|
||||
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)
|
||||
return true
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue