Sto lavorando a un'app Iphone e posso enumerare le risorse utilizzando Assetslibrary e caricarle in una vista tabella. L'utente può eliminare una riga (un'immagine/video) nell'app ma come faccio ad AGGIORNARE l'album fotografico Iphone direttamente dalla mia app? Altrimenti all'aggiornamento, la vista tabella ricaricherà l'asset precedentemente eliminato.Eliminare una risorsa (immagine o video) dall'iPhone in IOS
risposta
Possibile duplicazione di https://stackoverflow.com/a/11058934/300292. Risposta semplice: non puoi. L'app Foto è l'unico posto in cui è possibile eliminare le risorse. Probabilmente è una buona cosa - non vorresti che nessuna app volente o nolente sia in grado di cancellare tutte le tue foto, vero?
È tardi ma per gli altri utenti sarà d'aiuto.
Come sappiamo, solo l'app per le foto può eliminare le immagini. In tale situazione, ho recuperato tutte le immagini dalle foto via alassets, le ho viste nella galleria personalizzata, dato all'utente la possibilità di selezionare più immagini dalle risorse per salvarle nella rubrica telefonica. Successivamente sto usando la mia galleria di app invece della galleria di foto. Ho dato l'opzione nell'app per importare immagini da foto alla galleria di app (che è una cartella di cartelle di documenti di immagini) in qualsiasi momento nell'app.
in iOS 8 eliminazione di foto è possibile usando le foto quadro
Si prega di verificare la documentazione di foto quadro
Per l'eliminazione di attività si riferiscono alla PHAssetChangeRequest
+ (void)deleteAssets:(id<NSFastEnumeration>)assets
dove assets
è un array di PHAsset
oggetti essere cancellato.
+
Per cancellare collezioni si riferiscono a PHAssetCollectionChangeRequest
+ (void)deleteAssetCollections:(id<NSFastEnumeration>)assetCollections
https://developer.apple.com/documentation/photos/phassetchangerequest/1624062-deleteassets
https://developer.apple.com/documentation/photos/phassetcollectionchangerequest/1619453-deleteassetcollections
Non sono convinto che un'app sia in grado di eliminare risorse dalla libreria di foto. Mi piacerebbe vedere un esempio. – coco
Cosa succede se ho solo l'identificatore locale dell'immagine e dell'immagine come "AF508E2B-6B00-4E26-8A2B-B160C74478A9/L0/001". allora come eliminare l'immagine dall'album personalizzato nella galleria? –
Come ha detto Ted, questo è ora possibile in iOS 8 utilizzando il servizio di foto. In realtà è abbastanza pulito. È necessario inviare una richiesta di modifica al photolibrary. Ecco un esempio.
[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
[PHAssetChangeRequest deleteAssets:arrayOfPHAssets];
} completionHandler:^(BOOL success, NSError *error) {
NSLog(@"Finished deleting asset. %@", (success ? @"Success." : error));
}];
Assicurati di aver importato le foto e ottenuto l'autorizzazione da parte dell'utente. (Che probabilmente avete fatto per mostrare l'immagine già)
PHAssetchangeRequest - deleteAssets https://developer.apple.com/documentation/photos/phassetchangerequest/1624062-deleteassets PHPhotoLibrary Classe - authorizationStatus https://developer.apple.com/documentation/photos/phphotolibrary/1620745-authorizationstatus
cosa è arrayOfPHAssets? Voglio eliminare un singolo video dall'album. Mi potete aiutare ? – Gaurav
Aggiunta di una risposta a una vecchia questione qui, perché ci viene spesso chiesto per la prevenzione Schermata come parte di una soluzione di Data Loss-Prevention (DLP). È possibile (a) registrarsi per le notifiche degli screenshot e (b) chiedere all'utente di cancellare quando si verifica, ma non c'è modo di farlo in modo silenzioso o segreto. Ecco un esempio completo di codice di lavoro:
func applicationDidBecomeActive(application: UIApplication) {
registerForScreenShotNotifications()
}
func registerForScreenShotNotifications() {
NSNotificationCenter.defaultCenter().addObserverForName(UIApplicationUserDidTakeScreenshotNotification, object: nil, queue: NSOperationQueue.mainQueue()) { (notification) in
print("Yep they took a screenshot \(notification)")
let assetToDelete = self.getLastImage()
if let assetToDelete = assetToDelete
{
PHPhotoLibrary.sharedPhotoLibrary().performChanges({
PHAssetChangeRequest.deleteAssets([assetToDelete])
}, completionHandler: { (success, error) in
print("Success \(success) - Error \(error)")
})
}
}
}
// NOTE : You should ask for permission to access photos before this
func getLastImage() -> PHAsset? {
let fetchOptions = PHFetchOptions()
fetchOptions.sortDescriptors = [ NSSortDescriptor(key: "creationDate", ascending: true) ]
let fetchResult = PHAsset.fetchAssetsWithMediaType(.Image, options: fetchOptions)
let newestAsset = fetchResult.lastObject
return newestAsset as! PHAsset?
}
Il risultato è questo:
- 1. Precaricamento immagine in iOS
- 2. Ottieni l'URL di una risorsa appena creata, stile iOS 9
- 3. Android: acquisizione di una risorsa immagine in Uri: IllegalArgumentException
- 4. WPF - Importa immagine come risorsa
- 5. in tempo reale video (immagine) cucitura
- 6. MVC: eliminare la risorsa nel controller
- 7. CITemperatureAndTint per immagine in iOS
- 8. IOS Video Compression Swift iOS 8 file video corrotto
- 9. Unione video in background iOS
- 10. Riproduzione video inversa in iOS
- 11. Come aggiungere la riproduzione e la risorsa video all'applicazione Android
- 12. libreria di editing video in IOS
- 13. Disabilita risorsa/immagine/ottimizzazione PNG Android
- 14. iOS: precaricamento video AVPlayer
- 15. Come incorporare video Ustream in iOS
- 16. iphone - come verificare se il file è una directory, audio, video o immagine?
- 17. Streaming video in diretta da ios
- 18. Immagine pin personalizzata in annotationView in iOS
- 19. Blocca immagine (o immagine) o Ottieni immagine (o immagine) da excel utilizzando EPPlus
- 20. iOS - Immagine 2D trasformata in 3d
- 21. Scorri immagine WPF per cambiare immagine come in iOS
- 22. ios Storyboarding - Eliminare un modale?
- 23. Video come schermata iniziale invece di Immagine
- 24. Ridimensionamento di una risorsa DXGI o Texture2D in SharpDX
- 25. Impossibile eliminare immagine in div contenteditable su Android
- 26. Dimensioni video HTML5 in Safari IOS
- 27. iOS riproduzione video con MPMoviePlayerController
- 28. Ritaglia il video in iOS, vedi una strana linea verde intorno al video
- 29. Come caricare una risorsa png in controllo immagine su una finestra di dialogo?
- 30. iOS ottiene frame rate video
Volevo solo essere certi. Grazie. –