在 cocoa 中将 NSImage 保存到沙盒应用程序的磁盘上 - CRASH
Saving a NSImage to disk on a sandbox app in cocoa - CRASH
我有这个 NSImage 我想在沙盒应用程序上保存到磁盘。
我有这个代码:
- (void)exportPNGImage:(NSImage *)image withName:(NSString*)name
{
NSArray *windows =[[NSApplication sharedApplication] windows];
NSWindow *window = windows[0];
// Build a new name for the file using the current name and
// the filename extension associated with the specified UTI.
CFStringRef newExtension = UTTypeCopyPreferredTagWithClass(kUTTypePNG,
kUTTagClassFilenameExtension);
NSString* newName = [[name stringByDeletingPathExtension]
stringByAppendingPathExtension:(__bridge NSString*)newExtension];
NSSavePanel *panel = [NSSavePanel savePanel];
[panel setNameFieldStringValue:newName];
[panel setAllowsOtherFileTypes:NO];
[panel setAllowedFileTypes:@[(__bridge NSString*)newExtension]];
[panel beginSheetModalForWindow:window completionHandler:^(NSInteger result){
if (result == NSFileHandlingPanelOKButton)
{
NSURL *fileURL = [panel URL];
// Write the contents in the new format.
NSBitmapImageRep *imgRep = [[image representations] objectAtIndex: 0];
NSData *data = [imgRep representationUsingType: NSPNGFileType properties: nil];
[data writeToURL:fileURL atomically:YES];
}
}];
}
崩溃:尝试连接到侦听器时发生错误'com.apple.view-bridge':连接中断 - +[NSXPCSharedListener connectionForListenerNamed:fromServiceNamed:]、/SourceCache/ViewBridge/ViewBridge-99/NSXPCSharedListener 中的断言失败。 m:394] NSXPCSharedListener 无法为名为 com.apple.view-bridge
的侦听器创建端点
权利如下:
我也试过this没成功。
[NSSavePanel savePanel];
和
[NSSavePanel openPanel];
根本无法在 Storyboard 应用程序上使用 OSX 10.10、10.10.1 和 10.10.2。
Apple给我的解决方案是"use Xibs"。
在 OSX 上有一长串故事板应用程序的问题后,我不再使用它们了。 "Use XIBS" 就是我在做的事情。
我有这个 NSImage 我想在沙盒应用程序上保存到磁盘。
我有这个代码:
- (void)exportPNGImage:(NSImage *)image withName:(NSString*)name
{
NSArray *windows =[[NSApplication sharedApplication] windows];
NSWindow *window = windows[0];
// Build a new name for the file using the current name and
// the filename extension associated with the specified UTI.
CFStringRef newExtension = UTTypeCopyPreferredTagWithClass(kUTTypePNG,
kUTTagClassFilenameExtension);
NSString* newName = [[name stringByDeletingPathExtension]
stringByAppendingPathExtension:(__bridge NSString*)newExtension];
NSSavePanel *panel = [NSSavePanel savePanel];
[panel setNameFieldStringValue:newName];
[panel setAllowsOtherFileTypes:NO];
[panel setAllowedFileTypes:@[(__bridge NSString*)newExtension]];
[panel beginSheetModalForWindow:window completionHandler:^(NSInteger result){
if (result == NSFileHandlingPanelOKButton)
{
NSURL *fileURL = [panel URL];
// Write the contents in the new format.
NSBitmapImageRep *imgRep = [[image representations] objectAtIndex: 0];
NSData *data = [imgRep representationUsingType: NSPNGFileType properties: nil];
[data writeToURL:fileURL atomically:YES];
}
}];
}
崩溃:尝试连接到侦听器时发生错误'com.apple.view-bridge':连接中断 - +[NSXPCSharedListener connectionForListenerNamed:fromServiceNamed:]、/SourceCache/ViewBridge/ViewBridge-99/NSXPCSharedListener 中的断言失败。 m:394] NSXPCSharedListener 无法为名为 com.apple.view-bridge
的侦听器创建端点权利如下:
我也试过this没成功。
[NSSavePanel savePanel];
和
[NSSavePanel openPanel];
根本无法在 Storyboard 应用程序上使用 OSX 10.10、10.10.1 和 10.10.2。
Apple给我的解决方案是"use Xibs"。
在 OSX 上有一长串故事板应用程序的问题后,我不再使用它们了。 "Use XIBS" 就是我在做的事情。