
MacOS开发
elsonpeng
这个作者很懒,什么都没留下…
展开
-
WKWebView加载项目中网页的资源图片路径异常
WKWebView加载项目中网页的资源图片路径异常原因分析和解决办法原创 2024-08-21 15:07:10 · 299 阅读 · 0 评论 -
MacOS下更新Cocoapods到指定版本
sudo gem install -n /usr/local/bin cocoapods -v 版本号。安装指定版本,使用下面命令。原创 2024-08-15 21:02:49 · 864 阅读 · 1 评论 -
oc下如果通过二进制文件数据判断zip格式
具体实现如下,通过文件头获取指定长度的十六进制字符串进行判断- (BOOL)isRealZipFileForNSData:(NSData *)fileData { if (!fileData || [fileData length] == 0) { return NO; } NSMutableString *hexHeaderString = [[NSMutableString alloc] initWithCapacity:[fileData length]]原创 2021-03-15 16:42:16 · 390 阅读 · 0 评论 -
MasOS如果在全屏模式(专注模式)下的应用上层再显示一个窗口
在MacOS下,很多人会有习惯进入全屏幕,也就是苹果说的「专注模式」,在这个模式下,我们是看不到其他应用的。如果我们想在这个全屏模式下再展示一个窗口,通过NSWindow是无法实现的,但是通过NSPanel可以实现,需要如下四个步骤(1)设置窗口类型为NSPanel(2)设置styleMask:NSBorderlessWindowMask | NSNonactivatingPanelMask(3)设置窗口的Behavior为:[self setCollectionBehavior:NSW原创 2021-01-25 11:28:05 · 2053 阅读 · 2 评论 -
MacOS下获取系统快捷键的存储位置
举例场景:想获取到某个快捷键是否被系统调用,如下图的 调度中心存储位置:~/Library/Preferences/com.apple.symbolichotkeys.plist每个key里面包含四个字段:action:int,表示热键的行为.enabled:bool,表示是否启用了热键.type:string,一般是standardparam_1:这里面记录按键的键码相关参数...原创 2021-01-13 22:15:33 · 351 阅读 · 0 评论 -
iOS和MacOS中获取文件属性可读可写(rwx)的实现方法
我们有时候需要获取到一个文件目录是否允许可读可写可执行呢(rwx),可以通过如下OC代码实现 NSFileManager *fm2 = [NSFileManager defaultManager]; NSString *filePath = @"Your file Path"; NSDictionary *fileAttriDict = [fm2 attributesOfItemAtPath:filePath error:nil]; 我们打印fileAttr原创 2020-12-31 11:23:44 · 912 阅读 · 0 评论 -
NSWindow全屏后,把左上角的菜单栏遮挡的问题和无法显示的问题
问题原因,在显示window的时候,设置了如下 [self setLevel:NSStatusWindowLevel]; [self setFrame:rect display:YES]; [self makeKeyAndOrderFront:nil];其中NSStatusWindowLevel的层级较高,所以会遮挡左上角的系统菜单栏,把这一行删掉即可。或者根据自己需要改成自己需要的层级...原创 2020-10-12 10:50:49 · 709 阅读 · 3 评论 -
MacOS设置NSScroller透明并置于内容上面
类似于iOS下NSScrollView的效果,实现方式,可以参考如下链接:https://stackoverflow.com/questions/4236190/overlay-nsscroller-over-contenthttps://stackoverflow.com/questions/4181029/how-to-draw-a-transparent-nsscroller原创 2020-10-10 19:48:51 · 413 阅读 · 0 评论 -
MacOS下NSWindowZoomButton两种形式(两种绿色交通灯)
我们在实际开发中,有时候会发现绿色的交通灯有两种展现样式分别如下:一种是加号的形式,一种是放大的模式;那么我们开发中,如何设置成自己需要的第二种模式呢?第1种方法,通过代码设置:[self.view.window setCollectionBehavior: NSWindowCollectionBehaviorFullScreenPrimary]第2种方法,通过xib来设置,截图如下:...原创 2020-10-09 23:53:03 · 2560 阅读 · 0 评论 -
Mac Big Sur解决NSSecureTextField输入出现Password提示信息无法输入的问题
近期苹果更新了11.0Mac Big Sur版本,但是发现有个兼容性问题。我买的界面上有两个输入框,一个NSTextField,一个NSSecureTextField通过设置nextKeyView,快捷键tab可以进行方便切换这个功能在Big Sur上,通过tab切换的时候,无法输入密码通过调研各种资料,最后在这个链接找到灵感:https://stackoverflow.com/questions/43943647/tabbing-between-nstextfields-with-n.原创 2020-08-29 23:09:48 · 1302 阅读 · 1 评论 -
Mac下NSBezierPath绘制线条stroke宽度不正确的问题
遇到的问题是绘制的1像素,但是实际显示出来是0.5像素,查阅资料,有如下可以借鉴的解决办法,记录供以后备忘:https://stackoverflow.com/questions/33191813/nsbezierpath-with-rounded-rect-does-not-have-smooth-cornershttps://stackoverflow.com/questions/8016618/how-to-get-a-1-pixel-line-with-nsbezierpath...原创 2020-08-07 20:08:32 · 295 阅读 · 0 评论 -
NSFont获取字体高度lineHeight
Mac下有时候字体NSFont是没有lineHeight的,所以要获取,需要自己计算下NSRect tempRect = [textString boundingRectWithSize:NSMakeSize(0, 0) options:NSStringDrawingUsesDeviceMetrics attributes:[NSDictionary dictionaryWithObjectsAndKeys:textFont, NSFontAttributeName, nil]];...原创 2020-07-10 19:35:03 · 404 阅读 · 0 评论 -
macOS下通过xcodebuild命令自动打包编译gPRC工程
近期项目中引用gRPC,导致通过命令行编译生成的,直接未引用gPRC之前用的是:xcodebuild -configuration Release但是因为gRPC要使用cocoapods,所以会生成一个xcworkspace,这个时候之前的命令就不会生效这个是时候需要重新改动打包脚本,另外需要知道scheme名称,通过如下命令可以查到当前包含的所有scheme名称xcodebuild -workspace YourProject.xcworkspace -showBuildSetting原创 2020-06-04 15:23:42 · 630 阅读 · 0 评论 -
MacOS下动态加载本地字库并展现
主要分为两步,第一步首先要对字体进行本地注册,执行如下代码- (void)loadExternFonts:(NSString *)fontFilePath { NSArray *availableFonts = [[NSFontManager sharedFontManager] availableFonts]; NSURL *fontURL = [NSURL fileURLWithPath:fontFilePath]; CFErrorRef error = NULL原创 2020-05-28 16:06:28 · 586 阅读 · 0 评论 -
mac OS中判断线条选中
https://oleb.net/blog/2012/02/cgpath-hit-testing/https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/CocoaDrawingGuide/Paths/Paths.html#//apple_ref/doc/uid/TP40003290-CH206...原创 2019-08-19 21:17:48 · 165 阅读 · 0 评论 -
NSTextField限制输入框只能输入英文字母数字字符,不能输入中文
如题,其实只需要进行如下设置就可以[[nameTextField cell] setAllowedInputSourceLocales:@[NSAllRomanInputSourcesLocaleIdentifier]];原创 2019-06-29 16:02:02 · 2334 阅读 · 0 评论