首页 文章
  • 1 votes
     answers
     views

    如何将Cocoa文件类型图标写为16x16 PNG文件?

    如何在Cocoa中为文件类型图标写出16x16 PNG文件?我之前尝试过这个代码,如下面的代码片段 . 该片段在Mac OS X 10.5的PPC机器上运行,但似乎不再适用于Mac OS X 10.6:写出的PNG大小为512x512,而不是16x16 . NSImage * icon = [[NSWorkspace sharedWorkspace] iconForFileType: NSFile...
  • 1031 votes
     answers
     views

    这是什么意思? “'NSUnknownKeyException',原因:......这个类不是键值X的关键值编码兼容”

    我正在尝试将 UILabel 与我 class 中创建的 IBOutlet 相关联 . 我的应用程序崩溃,出现以下错误 . 这是什么意思?我该如何解决? ***由于未捕获的异常'NSUnknownKeyException'终止应用程序,原因:'[<UIViewController 0x6e36ae0> setValue:forUndefinedKey:]:此类不是密钥值编码兼容的密钥...
  • 15 votes
     answers
     views

    无法在Xcode外部以数字方式签署Mac应用程序

    我开发了一个带有Qt5的Mac应用,所以在Xcode之外 . 我希望GateKeeper允许我的应用程序在客户端的计算机上运行,而不是发出“无法打开,因为无法确认开发人员的身份”警告 . 我已成功对该应用程序进行了数字签名,但GateKeeper仍然附带此投诉 . 我有一个Apple开发人员证书(我是团队代理),我的钥匙串说它是有效的 . 我还安装了两个Apple根证书 . 我使用命令行实用程序 ...
  • 0 votes
     answers
     views

    如果没有强制解包/零错误,则无法打开可选项

    我正在编写一个文本编辑器,我遇到了字符串选项问题 . 我想使用textView的字符串方法;因为它是可选的,Xcode坚持要解开它 . 当我使用强制解包时(这是Xcode推荐的)我得到运行时错误;我更喜欢使用可选链接,以便nil值不会导致崩溃 . 但是我不能让可选的链接起作用 . 为了打开并保存工作,我试图在windowControllerDidLoadNib中使用 self.textViewOn...
  • 0 votes
     answers
     views

    删除obj-c中的对象

    我如何删除对象?例如,我有NSDictionary和一些NSStrings: NSDictionary *dict = [NSDictionary dictionaryWithObjects....]; NSString *str = [dict objectForKey:@"key"]; [str release]; 或 [str dealloc]; 或 str = nil...
  • 1 votes
     answers
     views

    在可可中使用绑定时,更改未反映在视图中

    我正在创建一些示例应用程序来理解可可中的视图导航,绑定等概念 . 这是一个场景:我有一个窗口,在MainMenu.Xib中有一个标签视图(2个标签) . 我在第一个标签中有一个文本字段,在第二个标签中有标签 . 我希望它们都反映相同的值,我想使用绑定来做到这一点 . 另外,我不想使用提供给我的视图以及选项卡视图 . 这些是我所做的步骤 . 使用以下代码在applicationDidFinishLa...
  • 6 votes
     answers
     views

    Symbolicate崩溃日志 - Xcode 8 / macOS app

    我正在尝试通过电子邮件标记我从用户收到的崩溃日志 . 我在Xcode.app中使用了传统的symbolicatecrash命令,但 symbolicatecrash 命令失败并返回以下消息 . $/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symboli...
  • 0 votes
     answers
     views

    如何在Swift应用程序启动后发布Quartz事件?

    我正在编写一个简单的Cocoa应用程序,它将从AppleScript启动,只是为了将Quartz事件发布到另一个应用程序 . 不需要用户界面,因此我从Interface Builder中删除了窗口,并从Application Delegate中删除了它的出口 . 我从方法applicationDidFinishLaunching(_ :)中调用了一个私有方法postClickEvent() . 我...
  • 0 votes
     answers
     views

    XCode创建了一个返回错误“缺少setter或实例变量”的Xib文件

    花了整个下午和晚上尝试了解它是如何工作的,我试着在这里问我解决我的问题 . 我在XCode中创建了一个Cocoa App . 我删除了默认的MainMenu.xib文件,以便创建自己的文件 . 我现在有: 名为 AppDelegate.swift 的文件,包含以下代码部分 @NSApplicationMain类AppDelegate:NSObject,NSApplicationDelegate...
  • 1 votes
     answers
     views

    在WKWebKit中为macOS控制滚动弹性

    我想在我的应用程序中为macOS禁用NKWebView实例的水平滚动弹性 . 我知道我们可以使用 verticalScrollElasticity 或 horizontalScrollElasticity 属性控制NSScrollView的弹性 . 但似乎无法从macOS上的新WKWebView获取scrollView,尽管适用于iOS的WKWebView具有保存UIScrollView的 scr...
  • 2 votes
     answers
     views

    更新暗模式:NSColor忽略外观变化?

    在我的Web视图中,我使用CSS变量在运行时更改各种颜色,具体取决于是否启用了macOS 10.14的暗模式 . 那太好了 . 棘手的部分是在系统外观变化时更新颜色 . 我通过观察窗口上的 effectiveAppearance 属性来检测更改 . 该通知按预期发布,但当我更新颜色时, NSColor 仍然给我暗模式颜色(或应用程序启动的任何模式) . 例如,当我响应从暗模式到光线的切换时, NS...
  • 5 votes
     answers
     views

    如何在Mojave中禁用我的应用程序的暗模式?

    当我在Mojave下的Xcode 10中构建我的macOS应用程序时,它会自动使我的应用程序采用暗模式 . 我尚未准备好为我的应用程序实现黑暗模式 . 如何禁用我的应用程序的暗模式,因此在macOS下的浅色和暗色模式下都显示为aqua?
  • 980 votes
     answers
     views

    Objective-C中的常量

    我正在开发一个Cocoa应用程序,并且我使用常量 NSString 来作为存储我的首选项的键名的方法 . 我知道这是一个好主意,因为它可以在必要时轻松更改密钥 . 此外,它是整个'将您的数据与逻辑分离'的概念 . 无论如何,是否有一种很好的方法可以为整个应用程序定义一次这些常量?我确信这是一种简单而聪明的方式,但是现在我的课程只是重新定义了他们使用的课程 .
  • 2 votes
     answers
     views

    同时录制耳机输入和内置麦克风输入

    在较新的Mac上,似乎OS X将“麦克风”视为特殊设备 . 没有连接耳机时,它使用“内置麦克风” . 当我添加耳机时,它会透明地切换到耳机麦克风(在这种情况下是从iPhone耳机) . 有没有办法(也许是低级代码?)我可以同时从内置麦克风和耳机麦克风录音吗?我有一个应用程序,这是必不可少的 . 我可以使用USB麦克风而不是耳机,然后它们将是两个独立的设备 - 但我也想支持耳机式设备(或任何线路输入...
  • 8 votes
     answers
     views

    录制没有内核扩展的系统音频

    有没有办法在OS X中不使用内核扩展来录制系统音频 . 通过系统音频,我的意思是通过扬声器播放的内容 . 在环顾四周时,我发现人们建议做类似于Soundflower的事情,它使用内核扩展来创建假音频设备 . 但是,我真的不想那样做,我不相信我必须这样做 . 一些屏幕录制应用程序似乎没有内核扩展(例如Screenium)记录系统音频,它们通过Mac App Store分发,让我相信有一种方法可以在不...
  • 0 votes
     answers
     views

    NSTextView在Cocoa中舍入边框/笔划

    我正在继承NSTextView并覆盖drawRect方法,以便在textview周围绘制一个NSBezierPathWithRoundedRect,但是 - 因为它有圆边,它们会干扰文本视图中的文本 . 有没有办法在NSTextView的文本输入区域周围应用某种边距或填充,以便它更加嵌入,并远离圆形边缘?或者更好的方法是将NSTextView放在NSView中并将圆形笔划应用到NSView中? -...
  • 6 votes
     answers
     views

    NSTextView在图层上没有显示红色拼写错误的下划线

    当 NSTextView 是层支持的 NSView 的子视图( -wantsLayer == YES )时,它不会为拼写错误的单词呈现波浪形的红色下划线 . 重现这一点就是制作一个空的Cocoa项目,打开笔尖,将 NSTextView 拖到窗口中,然后切换窗口的内容视图以获得一个图层 . 繁荣 - 没有更多的红色下划线 . 我做了一些搜索,这似乎是一个已知的情况,自10.5以来一直如此 . 但是,...
  • 6 votes
     answers
     views

    从屏幕外NSView生成缩放图像

    我在Cocoa应用程序中有一系列屏幕外NSView,用于组合PDF进行打印 . 这些观点不在NSWindow中,也不以任何方式显示 . 我希望能够生成该视图的缩略图,就像PDF看起来一样,但缩小到适合某个像素大小(约束到宽度或高度) . 这需要尽可能快,所以我想避免渲染为PDF,然后转换为光栅和缩放 - 我想直接去光栅 . 目前我正在做: NSBitmapImageRep *bitmapImage...
  • 0 votes
     answers
     views

    如何将NSView转换为CALayer?

    我已经制作了一个视频播放器,图像是在NSView中绘制的 . 有什么方法可以将NSView转换为CALayer吗?我尝试使用 layer-hosting view ,但开发人员文档说 can not add any subviews to layer-hosting view .Anyone可以给我一些建议吗?这段代码可以在OSX 10.6中运行.8,但OSX 10.7和10.8 . mDisp...
  • 0 votes
     answers
     views

    在视图调整大小时缩放在drawRect中完成的绘制

    我还在学习Cocoa中自定义视图绘图的一些细节 . 我有一个自定义视图,我根据固定大小的其他地方的较大矩形中的对应点绘制线条和点 . 我希望在调整视图大小时使我的绘图比例增大或减小,但保持与较大的rect相同的纵横比 . 缩放绘图的最佳方法是什么?我需要以某种方式应用仿射变换吗?或者我应该画一个imageRef?在这种情况下,我不确定如何做以太一,或者如何使其与视图的大小和坐标来自的较大rect的...
  • 2 votes
     answers
     views

    放大率不是1.0的NSScrollView会导致NSFocusRing偏移

    我有一个 NSScrollView ,有各种子视图类型 . 有些是 NSTextViews ,有些是 NSTextFields ,有些是 NSButtons 等 . 当我将 NSScrollView 的放大倍率设置为1.0以外的任何值时,焦点环不会在视图的正确位置上绘制 . 例如,这应该是它的样子(缩放为1.0): 但是放大1.5倍,这就是它的样子: 请注意,在Stack Overflow上,...
  • 22 votes
     answers
     views

    在Swift子类中添加Convenience Initializers

    作为一个学习练习,我试图实现一个 SKShapeNode 的子类,它提供了一个新的便利初始化器,它接受一个数字并构造一个ShapeNode,它是一个数字宽度和高度的正方形 . 根据Swift Book: 规则1如果您的子类没有定义任何指定的初始值设定项,它会自动继承其所有超类指定的初始值设定项 . 规则2如果您的子类提供了所有超类指定初始化器的实现 - 通过按照规则1继承它们,或者通过提供自定义...
  • 700 votes
     answers
     views

    如何在Objective-C中创建委托?

    我知道代表们的工作方式,我知道如何使用它们 . 但是我该如何创建它们呢?
  • 1 votes
     answers
     views

    识别controlTextDidEndEditing的发件人

    我有一个视图,其中三个NSTextField连接到一个视图控制器,作为所有三个的委托 . 我已成功实现controlTextDidEndEditing来拦截用户输入的文本并更改模型中的属性 . 该方法在委托中是唯一的,并且所有三个文本字段都触发它 . 问题是,我如何识别他们中的哪一个发出了通知?我可以从通知的关键“NSFieldEditor”获取NSTextView,但这并不能告诉我它是哪一个 ....
  • 0 votes
     answers
     views

    NSLog没有执行

    我做了一个测试应用程序,使用相机按钮拍照 . 我正在模拟器上测试,所以我无法拍摄快照 . 但是我创建了一个IBAction方法,当被调用时,允许用户从照片库中选择一张图片 . 这是方法: - - (IBAction)takePicture:(id)sender { NSLog(@"Camera button tapped"); UI...
  • 1 votes
     answers
     views

    使用Launch Daemon中的GUI启动User App

    我有一个在用户上下文之外以root身份运行的Launch Daemon . 此守护程序始终运行并监视服务器 . 有时,我的守护进程将从服务器获取命令,告诉它向用户显示某些内容 . 显然,我无法从启动守护进程执行此操作,因为它不在“WindowsServer”环境中运行 - 因此另一个选项是为每个有权能够显示GUI的用户生成单独的进程 . 我有一个选择是制作一个启动代理并让操作系统为我启动它 . 然...
  • 0 votes
     answers
     views

    代理shell脚本作为app bundle可执行文件

    我创建了一个app bundle,它有一个shell脚本作为主要的可执行文件 . 然后运行“exec / path / to / other / executable”作为其最后一个操作 . (原因是我通过更新系统下载新的可执行文件,我不想写入通常位于/ Applications中的应用程序包 . 而是将更新写入用户目录,并且旨在让应用程序捆绑本身只是一种 Launcher ) 问题是这使得OS...
  • 6 votes
     answers
     views

    如何在运输时为应用程序启用Retina显示屏上的“使用低分辨率”?

    我有一个应用程序在HiDPI模式中断,除非我在finder中选择“get Info”并勾选“低分辨率打开”复选框 . 修复应用程序不是一种选择,因为它是使用不再由其供应商实际维护的创作软件制作的 . 现在就是这样:当我拿到应用程序时,将它放在桌面上,压缩它,然后将“低分辨率打开”复选框设置为true,删除应用程序并解压缩原始应用程序复选框保持选中状态 . 因此,无论OS X将属性“以低分辨率打开”...
  • 0 votes
     answers
     views

    在运行时更改Cocoa应用程序图标, Headers 和菜单标签

    我有一个应用程序应该有两种不同的操作模式:让我们称它们为模式1和模式2 . 我只能评估应用程序启动后应用程序应使用的模式(检查许可证详细信息) . 最简单的选择是提供2个二进制文件并决定应用程序在编译时使用的模式 . 但这不是我想要做的,因为应用程序的代码差别很小 . 我宁愿做一些运行时魔法 . 根据要使用的模式,让应用更改其 Headers ,应用图标和菜单标签的最佳方法是什么? 我尝试了菜单栏...
  • 1 votes
     answers
     views

    Mac OS x app捆绑包在下载和运行时崩溃,但在终端或更改Info.plist时运行正常

    构建和运行Mac OS X应用程序包工作正常 . 即使使用rsync将.dmg图像复制到另一个mac并在这个'处女'MacBook上运行也能正常工作 . 将.dmg上传到网站,下载并尝试运行该程序,激活一个警告用户的安全措施 无法打开应用程序,因为无法确认开发人员的身份 . 您的安全首选项仅允许从App Store和已识别的开发人员安装应用程序 . “TestApp”位于磁盘映像“TestAp...

热门问题