**
Rozwiązanie 01: Dopiero zapisanie istniejącego pliku GIF Camera Roll
**
Jak rozumiem problem. Jesteś w stanie wygenerować plik GIF, ale nie możesz go zapisać, a także wyświetlić go w rolce z aparatu.
Dołączam więc przykładowy test z użyciem istniejącego pliku GIF.
Krok 01. Skopiowałem plik gif IMG_0009.GIF do mojego katalogu dokumentu aplikacji.
Krok 02 niż używam poniższy kod, aby załadować ten plików NSData:
NSURL *documentsDirectoryURL = [[NSFileManager defaultManager] URLForDirectory:NSDocumentDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:YES error:nil];
NSURL *fileURL = [documentsDirectoryURL URLByAppendingPathComponent:@"IMG_0009.gif"];
NSData *gifData = [NSData dataWithContentsOfFile:[fileURL path]];
Krok 03: Teraz zapisz plik w mediach katalogu:
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library writeImageDataToSavedPhotosAlbum:gifData metadata:nil completionBlock:^(NSURL *assetURL, NSError *error) {
NSLog(@"Success at %@", [assetURL path]);
}];
URL zasobu jest prawidłowy. Teraz możesz sprawdzić swój katalog multimediów. możesz zlokalizować zapisany obraz gif.
Have Fun :)
**
Rozwiązanie 02: Demo Tworzenie i zapisywanie GIF do rolki aparatu
**
Sklonowałem pewne rozwiązanie, aby pokazać tworzenie i zapisywanie plików GIF w rolce z aparatu. można pobrać i sprawdzić mój widelec na github:
Demo tworzy plik GIF poprzez 2 lub więcej obrazów i zapisać w Camera Roll katalogu
https://github.com/bllakjakk/Giraffe
główny kod skupić jest jak poniżej:
[export encodeToFile:tempFile callback:^(NSString * aFile) {
NSLog(@"Path: %@", aFile);
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
NSData *data = [NSData dataWithContentsOfURL:[[NSURL alloc]initFileURLWithPath:aFile]];
[library writeImageDataToSavedPhotosAlbum:data metadata:nil completionBlock:^(NSURL *assetURL, NSError *error) {
NSLog(@"Success at %@", [assetURL path]);
}];
}];
Korzysta z biblioteki jak wspomniałem w moim roztwór przed http://jitsik.com/wordpress/?p=208
Jak zweryfikować:
Krok 01: uruchomić projekt demo.
Krok 02: Zgodnie z poleceniami aplikacji dodaj 2 obrazy i kliknij Eksportuj.
Krok 03: Teraz sprawdź rolkę kamery, znajdziesz utworzony gif.
Poprzedni:
GIF jest zastrzeżony format, więc będzie trzeba 3rd party lib aby go zapisać.
sprawdzić poniższy link: http://jitsik.com/wordpress/?p=208
Dodano 2 rozwiązania. Najpierw wystarczy zapisać istniejący GIF w rolce z aparatu. Drugi używa biblioteki (http://jitsik.com/wordpress/?p=208) do tworzenia i zapisywania GIF-a w Rolce z aparatu. Sprawdź mój widelec GIT. – bllakjakk