MacOS开发遇到的各种坑

问题1:XIB添加按钮发现无法点击
解决方式:把界面类初始化为全局变量


image.png

问题2:NSCollectionViewItem,使用xib构建的时候,一直报错找不到对象
解决方式:尽管 Nib 文件的 File’s Owner 现在是 CollectionViewItem,它还只是一个占位符。当 Nib 文件被实例化时,它还会需要一个「真正的」NSCollectionViewItem 的实例。从控件库中拖动一个 Collection View Item 到文档大纲中,选中它,在身份检查器中把它的 Class 设置为我们创建的NSCollectionViewItem类名。

image.png

问题3:打包上传公证报错:Failed retreiving request UUID for upload

WeChat16d9640606b9342b52790a886b7ec257.png

解决方式:开发者账号AppStore Connect中存在未同意的协议。

问题4:打包上传公证报警告:DAV transport method is being deprecated. Please use HTTP, Aspera, or Signiant

4D6C070F-C90D-4248-ACDD-F632A7539B04.png

解决方式:由于网络是使用内网+VPN,导致传输报警告,使用4G热点就没问题了。

问题5:macOS开发如何删除NSUserDefault缓存?

解决方式:分为是否开启沙盒(App sandbox)

boundleIdentifier:xxx

开启沙盒
打开 Mac包本地缓存路径
open ~/Library/Containers/xxx/data
删除Mac缓存
rm -r ~/Library/Containers/xxx/data

未开启沙盒
~/Library/Preferences/xxx.plist
~/Library/SyncedPreferences/xxx.plist

两种方式删除plist后仍然可以读到数据,执行下面命令可以解决:
killall -SIGTERM cfprefsd

注意点:
1、赋值NSTextField的stringValue不能为nil,最好用三目运算赋值
2、使用layout写布局用frame坐标系iOS(x=0,y=0的点在左上角)和Mac(x=0,y=0的点在左下角)不同。

问题6:使用xib构建的NSView如何创建初始化


WeChatca23cf68c438991477f7dd6c34dfbac0.png

你可能感兴趣的:(MacOS开发遇到的各种坑)