Mac开发
文章平均质量分 82
CaicaiNo.1
这个作者很懒,什么都没留下…
展开
-
Mac公证脚本-Web公证方式
macos web 公证脚本流程原创 2024-02-20 21:07:19 · 1399 阅读 · 1 评论 -
Mac录制iOS模拟器转为GIF
文章目录使用QuickTime录制屏幕PicGIF Lite使用QuickTime录制屏幕在启动台找到QuickTime Player选择录制区域然后生成了文件PicGIF Lite使用PicGIF Lite,mac商店上就有导入视频删除不需要的帧再右上角导出GIF结果如下:...原创 2020-03-16 21:04:42 · 224 阅读 · 0 评论 -
Mac开发-屏蔽点击事件的遮罩视图
文章目录遮罩视图Code遮罩视图在iOS开发中,我们经常会通过hitTest:withEvent:方法来拦截 事件传递。但在Mac开发中,虽然机制有些许差别,但重写hitTest:withEvent:并不管用了,通过addLocalMonitorForEventsMatchingMask拦截又太广泛了,容易全部拦截。Code其实重写NSView的事件方法就好了,就能创建遮罩视图。#i...原创 2020-03-10 13:35:29 · 2163 阅读 · 0 评论 -
Mac开发-NSAttributedString颜色模糊问题记录
文章目录问题描述解决方案最终效果问题描述使用富文本显示时,出现模糊的问题问题如下:我这里只需要3个字特殊颜色:代码如下: NSString *colorStr = @"\"上讲台\""; NSString *originStr = @"为了方便老师上课前检查音视频质量,点击\"上讲台\"仅打开老师的摄像头和麦克风"; NSMutableAttributedStrin...原创 2020-03-06 15:39:52 · 178 阅读 · 0 评论 -
Mac开发-自定义NSButton背景色圆角阴影
文章目录目的CustomButton代码使用方法目的制作一个带阴影的Button替换NSButton背景色以及绘制圆角和阴影。设置图片的话就还要考虑阴影问题,颜色还要考虑是否和图片的一致,复用性也不高。起初想使用drawRect:直接绘制,但是会遮罩文本和无法显示圆角,使用其layer层的现有接口似乎更简单快捷,所以着手修改其layer层来实现了。CustomButtonNSVi...原创 2020-03-06 12:40:39 · 1448 阅读 · 0 评论 -
Mac开发-NSAnimateImageView展示图片数组
文章目录NSAnimateImageView代码NSAnimateImageView相比于iOS平台,mac平台的NSImageView并没有类似animationImages这种可以方便展示图片数组为GIF的方法。这里自己制作了一个,非常简单,不做太多阐述了,记录一下。代码NSAnimateImageView.h//// NSAnimateImageView.h// Train...原创 2020-03-06 12:22:59 · 252 阅读 · 0 评论 -
Mac开发-自定义NSPopover背景色(替换其三角部分)
文章目录NSPopover简单使用apperance弹出样式 NSPopoverBehavior出现位置分析图层结构NSPopoverNSPopover是Mac 10.7 以上的方便弹出控件(10.7之前可以使用这个INPopoverController),需要依赖NSViewController来使用.最近需要做一个控件,区别就是背景色不一样,所以想到了替换其背景色实现。简单使用 ...原创 2020-03-04 18:18:45 · 1374 阅读 · 0 评论 -
Mac开发-暗黑主题禁用以及适配
对于MacOS 10.14之后的暗黑主题,会默认影响App的外观效果。系统会自动选择任何与macOS 10.14或更高版本的SDK相关的应用程序,让它们适配亮和暗的主题模式。如果控件设置的颜色为系统提供的控件颜色或者背景,那么在暗黑模式下就有可能发生颜色变化,如果没有适配,就会产生适配问题。禁用全局禁用在plist文件中添加NSRequiresAquaSystemAppearance键(值...原创 2020-01-16 11:35:38 · 1260 阅读 · 0 评论 -
Mac开发-NSButton左标题右小图的使用
NSButton相比于UIButton更难使用,这里记录下NSButton左标题右小图的布局使用方法图片在左右两端,以小图显示,例如下面:左右两侧都添加了箭头。这个实现可以由系统NSButton的Style为Check类型实现。先拖拽一个NSButton然后xib上配置其Image为箭头。这里系统其实默认帮我们配置了图标修改image只是换掉了图标。这里图标在左侧,修改ima...原创 2020-01-13 14:55:27 · 884 阅读 · 0 评论 -
Mac开发-NSCollectionView自定义使用
文章目录简介delegatedataSourcecollectionViewLayoutNSCollectionViewDelegateFlowLayout操作示例布局1简介相比于UICollectionView,NSCollectionView可以实现的功能都一样,主要是使用方式上注意点很多,这里推荐使用xib来自定义NSCollectionView和NSCollectionViewItem...原创 2020-01-10 17:21:40 · 2684 阅读 · 1 评论 -
mac开发-install_name_tool: changing install names or rpaths can't be redone for:
类似错误如下:error: install_name_tool: changing install names or rpaths can't be redone for: /Users/gensee/Library/Developer/Xcode/DerivedData/Training-emkrlchivsbjssanebsiarnsozuw/Build/Products/Debug/Tra...原创 2020-01-10 10:43:53 · 1122 阅读 · 0 评论 -
iOS开发-PlistBuddy Script实现版本自加
使用PlistBuddy工具操作plist文件,通过修改版本号数值实现版本递增PlistBuddy语法Command Format: Help - Prints this information Exit - Exits the program, changes are not saved to the file Save - Saves the current ch...原创 2020-01-08 13:02:22 · 363 阅读 · 0 评论 -
Mac开发-摄像头麦克风权限获取
使用AVCaptureDevice authorizationStatusForMediaType判断摄像头和麦克风的授权状态。使用AVCaptureDevice requestAccessForMediaType:获取摄像头和麦克风的授权系统方法都很清楚,这里列出工具代码供参考:#import <Foundation/Foundation.h>NS_ASSUME_NONNU...原创 2020-01-03 09:55:17 · 7436 阅读 · 1 评论 -
Mac开发-多语言处理之xib
文章目录多语言处理xib多语言通过创建Controller添加语言localizable strings和Interface Builder Cocoa XIBInterface Builder Cocoa XIB转localizable strings设置无效的问题简体转繁体.string设置无效base xib作用多语言处理对于文本的多语言处理,使用NSLocalizedString并配置...原创 2019-12-19 19:31:08 · 636 阅读 · 0 评论 -
Mac开发-监听全局点击事件,隐藏弹出视图
iOS中我们做一个弹出视图,通常会加一个默认透明图层来响应点击事件,这样处理,点击空白处时,会响应隐藏方法。达到了自动隐藏的目的。在MacOS开发中,我们使用NSEvent事件来监听点击事件在其他地方的点击。并进行处理。如图:需要在点击任何红色区域外时候,隐藏红色区域的视图。使用NSEvent的addLocalMonitorForEventsMatchingMask方法NSEvent ...原创 2019-12-18 19:46:50 · 1297 阅读 · 0 评论 -
Mac开发-codesign_allocate: can't allocate code signature data
参考链接 https://github.com/xamarin/xamarin-macios/issues/5243网上说查看 /usr/bin/codesign_allocate 并替换,但这个报错本来是正常的,突然就出现了。很气怪,有时候就改了一部分代码就出现。后面根据上面链接,发现是install_name_tool的问题,这个指令用户我们设置动态库的引用问题,但同时也会导致codesi...原创 2019-12-18 19:19:19 · 2382 阅读 · 0 评论 -
Mac开发-The app must have the 'com.apple.security.device.camera' entitlement.
[access] This app has crashed because it has a hardened runtime and attempted to access privacy-sensitive data without an entitlement indicating its intent to access this data. The app must have the '...原创 2019-12-16 10:59:51 · 2071 阅读 · 0 评论 -
Linux 命令行快捷键
转载自 https://www.cnblogs.com/aslongas/p/5899586.html涉及在linux命令行下进行快速移动光标、命令编辑、编辑后执行历史命令、Bang(!)命令、控制命令等。让basher更有效率。常用ctrl+左右键:在单词之间跳转ctrl+a:跳到本行的行首ctrl+e:跳到页尾Ctrl+u:删除当前光标前面的文字 (还有剪切功能)ctrl+k:删...转载 2019-12-13 16:40:48 · 76 阅读 · 0 评论 -
Mac开发-launchctl执行脚本
launchctl是一个统一的服务管理框架,启动、停止和管理守护进程、应用程序、进程和脚本。我们一般使用其定时执行任务,例如在某一时间执行脚本编写定时任务plist文件新建一个plist文件 com.haocaihaocai.task.plist<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "...原创 2019-12-13 16:08:38 · 1749 阅读 · 0 评论 -
Mac开发-10.14完全磁盘访问权限获取PermissionKit
Mac OS 10.14之后,需要获取完全磁盘访问权限,才能访问Mail,Messages,Safari,Home,Time Machine backups等等为所有用户准备的工具区域。获取完全磁盘访问权限需要自己进行获取。即没有像相册权限那种方便的获取方法回调,需要跳转到隐私页,手动点上,然后通过检测是否已经获取权限来更新状态。PermissionKit中方便的封装了相册,磁盘完全访问,日...原创 2019-12-11 20:02:05 · 5435 阅读 · 0 评论 -
Mac开发-10.14获取文件操作权限-管理员权限获取
MacOS10.14以及MacOS10.15以上获取文件操作权限(获取管理员权限),以管理员身份执行终端命令。administrator privileges 获取管理员权限原创 2019-12-11 18:58:57 · 6547 阅读 · 1 评论 -
Mac开发-日志保存过滤以及上传
文章目录简单的日志存储日志删除关于日志删选日志上传崩溃信息对于mac开发者来说,进行日志收集和上传尤为重要,没有日志就无法进行分析问题。通常来说我们会将日志文件.log存在~/library/logs/YourAppName的目录下,大部分app都是这样放置的,然后缓存文件存在~/library/Caches/YourAppName目录下。简单的日志存储使用stdout重定向来将控制台的日志...原创 2019-12-09 19:59:29 · 1728 阅读 · 0 评论 -
Mac开发-代码中调用终端命令行NSTask
有时候我们需要在app中调用终端命令来进行处理,这样比较方便,因为Mac平台的特性,不同于iOS,Mac平台可以使用系统的工具来达到我们的各种需求,环境是不一样的。原创 2019-12-09 12:42:38 · 2236 阅读 · 0 评论 -
Mac开发-脚本打包DMG
脚本贴出脚本 makedmg.h#!/bin/bash# DMG Creation Script# Usage: makedmg <imagename> <imagetitle> <contentdir>## Based on makedmg by Jon Cowie## imagename: The output file name of t...原创 2019-12-05 20:51:50 · 1459 阅读 · 0 评论 -
Mac开发-使用PLCrashReporter来保存崩溃日志信息
文章目录前言1.下载导入2.CocoaPods导入使用前言1.下载导入首先去官网下载编译好的库https://www.plcrashreporter.org/2.CocoaPods导入也可以使用CocoaPods安装: pod 'PLCrashReporter', '~> 1.2'-> PLCrashReporter (1.2.0) Reliable, open-...原创 2019-12-05 19:42:27 · 938 阅读 · 0 评论 -
Mac开发-公证流程记录Notarization-附带脚本
Mac公正脚本,使用脚本进行公证签名打包app,解决mac app无法在mac os 10.14以上系统打开,被提示受信任的开发者,并且黄色感叹号的问题,无需sudo spctl --master-disable原创 2019-12-04 19:59:17 · 9969 阅读 · 1 评论 -
Mac开发-Packges打包Pkg包
文章目录创建配置文件运行生成pkg直接生成脚本打包pkg打包签名创建配置文件1.创建pgkproj文件,打开Packges2.选择Distribution,一种称为Distribution,这种模式下的安装包可以包含多个组件,分别指定安装位置即可;而RawPackage则适用于只有一个安装组件(package)的情况下使用,是Distribution的一种简化形式。3.这里输出...原创 2019-12-03 20:03:20 · 4099 阅读 · 5 评论 -
MacOS开发-为install_name_tool添加脚本
为编译添加install_name_tool脚本,解决每次手动运行的繁琐install_name_tool的作用?见 https://blog.csdn.net/shengpeng3344/article/details/102592191添加一个新的脚本文件New Run Script Phase由于Copy Files设置的为Frameworks路径,所以下面脚本都在Frame...原创 2019-11-22 16:33:29 · 4333 阅读 · 0 评论 -
MacOS开发-配置dylib和framework的copy路径
在打包Mac引用时,我们通常要导入动态库dylib或者framework形式的库文件或者资源文件配置通常我们会这样配置,这样会保证这四个dylib会copy到包文件中Destination 表示位置,即包文件中的位置,这里设置Executables则表示放在可执行文件中如果修改为Frameworks则会放在Frameworks文件夹中Subpath表示子路径,如需要在路径下开子文件夹...原创 2019-11-22 16:25:49 · 1597 阅读 · 0 评论 -
Mac开发-mac sdk10.13以下版本的麦克风和摄像头权限获取
官方文档大于一切https://developer.apple.com/documentation/avfoundation/cameras_and_media_capture/requesting_authorization_for_media_capture_on_macos?language=objc使用Authorization的authorizationStatusForMedi...原创 2019-10-24 17:54:20 · 1693 阅读 · 0 评论 -
mac开发-10.15检测屏幕录制权限
mac开发-10.15检测屏幕录制权限在Mac os 10.15之后,屏幕录制权限需要获取才能正确录屏,否则只能录制桌面背景以及自身app的影响。即可以截屏,但截不到其他app的内容。原创 2019-10-25 16:31:26 · 17934 阅读 · 2 评论 -
mac开发-获取NSScreen是否为retina屏
NSScreen *screen = [NSScreen mainScreen]; NSLog(@"screen factor %f",screen.backingScaleFactor); float factor = 1.f; if (screen.backingScaleFactor > 0) { factor = screen.backing...原创 2019-10-23 17:03:44 · 1070 阅读 · 0 评论 -
Mac开发-dylib的加载问题 Library not loaded
在开发mac应用时,需要导入自己的dylib文件,即动态库就算将dylib导入到工程中,放在工程路径下,仍然会出现 dyld: Library not loaded: /usr/local/lib/xxxx.dylib Referenced from: /Users/gensee/Library/Developer/Xcode/DerivedData/Training-alpmebybw...原创 2019-10-16 18:50:08 · 12620 阅读 · 0 评论 -
Mac开发-NSTextView软回车转换为硬回车
背景说明软回车和硬回车:在字处理软件中,由Enter键按下去导致一行文字换行的叫硬回车,程序自动换行的叫做软回车。当NSTextView的宽度被限制时,会自动换行,这里就是添加了软回车,当我们手动键入Enter,则是在字符串中插入了\n换行符,数据内容已经改变。软回车不会改变数据内容,即不会插入\n需求为当NSTextView进行软回车时,记录下来,在某个时机发出其内容,并将软回车转换为...原创 2019-08-21 12:43:15 · 664 阅读 · 0 评论