OKこれは私が欲しいものです:
- いくつか
NSImageの ICNSそれらをファイルに追加します- それを保存
 
これは私がこれまでに行ったことです(純粋にテストとして):
- (CGImageRef)refFromImage:(NSImage*)img
{
    CGImageSourceRef source;
    source = CGImageSourceCreateWithData((CFDataRef)[img TIFFRepresentation], NULL);
    CGImageRef maskRef =  CGImageSourceCreateImageAtIndex(source, 0, NULL);
    return maskRef;
}
- (void)awakeFromNib
{
    NSImage* img1 = [NSImage imageNamed:@"image1"];
    NSImage* img2 = [NSImage imageNamed:@"image2"];
    NSLog(@"%@",img1);
    CGImageRef i1 = [self refFromImage:img1];
    CGImageRef i2 = [self refFromImage:img2];
    NSURL *fileURL = [NSURL fileURLWithPath:[@"~/Documents/final.icns" stringByExpandingTildeInPath]]; 
    CGImageDestinationRef dr = CGImageDestinationCreateWithURL((__bridge CFURLRef)fileURL, kUTTypeAppleICNS , 1, NULL);
    CGImageDestinationAddImage(dr, i1, NULL);
    CGImageDestinationAddImage(dr, i2, NULL);
    /* Even tried adding 'multiple' times
    CGImageDestinationAddImage(dr, i1, NULL);
    CGImageDestinationAddImage(dr, i2, NULL);
    CGImageDestinationAddImage(dr, i1, NULL);
    CGImageDestinationAddImage(dr, i2, NULL);
    */
    CGImageDestinationFinalize(dr);
    CFRelease(dr);
}
しかし、それでもエラーをスローし続けます:
ImageIO:CGImageDestinationFinalize画像の宛先に十分な画像がありません
私のコードの何が問題になっていますか?
私は以下の答えを見てきましたが、それでも何もありません: