i saving newly-created video file in local documents. copy photo library using photos framework.
problem is, though video being written out (and can confirm it's there , viewable), following creation request return nil:
[[phphotolibrary sharedphotolibrary] performchanges:^{ // nsstring filepath points newly-created file in documents directory nsparameterassert([[nsfilemanager defaultmanager] isreadablefileatpath:filepath]); // path looks fine nsurl* url = [nsurl urlwithstring:filepath]; phassetchangerequest* createassetrequest = [phassetchangerequest creationrequestforassetfromvideoatfileurl:url]; // got nil creationrequestforassetfromvideoatfileurl, assert out here nsparameterassert(createassetrequest); } completionhandler:^(bool success, nserror *error) {}];
not surprisingly, url problem. url = [nsurl urlwithstring:filepath] not point movie file. it's fine if url in (for example) following way:
nsfilemanager *filemanager = [nsfilemanager defaultmanager]; nsurl *documentsurl = [[filemanager urlsfordirectory:nsdocumentdirectory indomains:nsuserdomainmask] lastobject]; nsarray *contents = [filemanager contentsofdirectoryaturl:documentsurl includingpropertiesforkeys:@[] options:nsdirectoryenumerationskipshiddenfiles error:nil]; nspredicate *predicate = [nspredicate predicatewithformat:@"lastpathcomponent == 'movie.mov'"]; nsurl* url = nil; (nsurl *fileurl in [contents filteredarrayusingpredicate:predicate]) { url = fileurl; }
Comments
Post a Comment