Я пытался захватить и сохранить изображение заставки внутри application:didFinishLaunchingWithOptions:
, используя следующий код:
UIWindow *w = [[[UIApplication sharedApplication] windows] firstObject];
UIGraphicsBeginImageContext(w.bounds.size);
[w.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSString *applicationDocumentsDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
time_t unixTime = (time_t) [[NSDate date] timeIntervalSince1970];
NSString *storePath = [NSString stringWithFormat:@"%@/%ld.png", applicationDocumentsDir, unixTime];
[UIImagePNGRepresentation(img) writeToFile:storePath atomically:YES];
Однако, к сожалению, изображение сохраняется как прозрачное изображение. Вероятно, это потому, что мой объект UIWindow не тот. Может ли кто-нибудь направить меня в успех с этим?