基本的には、SpringBoard のプライベート API SBAppContextHostManager を使用してアプリケーションを表示しようとしています。これまでのところ、私はこのコードを持っています:
SBAppContextHostManager *app = [[objc_getClass("SBAppContextHostManager") alloc] init];
[app setAppBundleID:@"com.apple.springboard"]; // just as an example
[app enableHostingForRequester:@"uniqueID" priority:1];
[app orderRequesterFront:@"uniqueID"];
SBHostWrapperView *view = [app hostViewForRequester:@"uniqueID"];
その後、私は電話します
UIGraphicsBeginImageContextWithOptions([UIScreen mainScreen].bounds.size, YES, [UIScreen mainScreen].scale);
CGContextRef c = UIGraphicsGetCurrentContext();
CGContextSetAllowsAntialiasing(c, YES);
[view.layer renderInContext:c];
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
アプリケーションを含むビューの UIImage を取得します。ただし、この UIImage の出力は完全に空白であるため、SBAppContextManager への呼び出しが正しくないため、空白の SBHostWrapperView につながると思います。では、このようにアプリケーションを表示するにはどうすればよいでしょうか?