cocoa touch - Print a temporarily saved image via AirPrint -


i've 1 question. possible print image temporarily saved? saved image done in example of question on stackoverflow.

but when try use picture printing via airprint doesn't work.

- (ibaction)btnprinttapped:(id)sender {      uiimage* image = nil;      uigraphicsbeginimagecontext(_scrollview.contentsize);     {         cgpoint savedcontentoffset = _scrollview.contentoffset;         cgrect savedframe = _scrollview.frame;          _scrollview.contentoffset = cgpointzero;         _scrollview.frame = cgrectmake(0, 0, _scrollview.contentsize.width, _scrollview.contentsize.height);          [_scrollview.layer renderincontext: uigraphicsgetcurrentcontext()];         image = uigraphicsgetimagefromcurrentimagecontext();          _scrollview.contentoffset = savedcontentoffset;         _scrollview.frame = savedframe;     }     uigraphicsendimagecontext();      if (image != nil) {         [uiimagepngrepresentation(image) writetofile: @"/tmp/test.png" atomically: yes];         uiimage *yourimage = [uiimage imagenamed:@"/tmp/test.png"];         nsarray *itemstoshare = @[yourimage];         uiactivityviewcontroller *activityvc = [[uiactivityviewcontroller alloc] initwithactivityitems:itemstoshare applicationactivities:nil];         activityvc.excludedactivitytypes = @[ uiactivitytypecopytopasteboard, uiactivitytypeassigntocontact, uiactivitytypesavetocameraroll, uiactivitytypemail, uiactivitytypemessage, uiactivitytypeposttofacebook, uiactivitytypeposttotwitter, uiactivitytypeposttoweibo];          [self presentviewcontroller:activityvc animated:yes completion:nil];     }     } 

but printer able print (i tested fix image)...so printer not seems problem. in advance.

update did changes code/added few code lines:

[uiimagepngrepresentation(image) writetofile: @"/tmp/test.png" atomically: yes];  nsarray *paths = nssearchpathfordirectoriesindomains(nsdocumentdirectory,nsuserdomainmask, yes); nsstring *documentsdirectory = [paths objectatindex:0]; nsstring* path = [documentsdirectory stringbyappendingpathcomponent:@"/tmp/test.png" ]; uiimage* image = [uiimage imagewithcontentsoffile:path];  uiimage *imageitem = image; 

but works when set writetofile: @"test.png"...but can save image once , not overwrite it.

when code above there 1 error:

terminating app due uncaught exception 'nsinvalidargumentexception', reason: ' -[__nsplaceholderarray initwithobjects:count:]: attempt insert nil object objects[0]'

after bit trying works now...

if (image != nil) {         nsarray *paths = nssearchpathfordirectoriesindomains(nsdocumentdirectory,                                                              nsuserdomainmask, yes);         nsstring *documentsdirectory = [paths objectatindex:0];         nsstring* path = [documentsdirectory stringbyappendingpathcomponent:                           @"test.png" ];         nsdata* data = uiimagepngrepresentation(image);         [data writetofile:path atomically:yes];           uiimage* image = [uiimage imagewithcontentsoffile:path];         uiimage *yourimage = image; 

Comments