ForgetSou | Blog

❤ 武统台湾 刻不容缓 ❤

0%

一. 前言

打开面板,提示用户选择要打开的文件。

@interface NSOpenPanel : NSSavePanel
image-20201105113305295

Overview

Apps use the Open panel as a convenient way to query the user for the name of a file to open. In macOS 10.15 and later, the system always draws Open panels in a separate process, regardless of whether the app is sandboxed. When the user chooses a file to open, macOS adds that file to the app’s sandbox. Prior to macOS 10.15, the system drew the panels in a separate process only for sandboxed apps.

应用程序使用“打开”面板作为方便的方法来查询用户要打开的文件的名称。在macOS 10.15及更高版本中,系统始终在单独的过程中绘制“打开”面板,而不管该应用程序是否被沙箱化。当用户选择要打开的文件时,macOS将该文件添加到应用的沙箱中。在macOS 10.15之前,系统仅在沙盒应用程序的单独过程中绘制面板。

二. 官方属性方法

1. 创建打开面板

+ (NSOpenPanel *)openPanel; // 创建NSOpenPanel实例对象,但是这个类不是单例。

2. 配置打开面板

// 是否解析别名
@property BOOL resolvesAliases;
// 是否可以选择目录
@property BOOL canChooseDirectories;
// 是否可以选择多个文件或目录
@property BOOL allowsMultipleSelection;
// 是否选择文件
@property BOOL canChooseFiles;
// 附件视图是否可见
@property (getter=isAccessoryViewDisclosed) BOOL accessoryViewDisclosed API_AVAILABLE(macos(10.11));
阅读全文 »

一. 前言

推送是我们平时开发中常用的一种机制,无论iOS还是Android系统都有推送,推送可以让不在前台运行的app,告知用户app内部发生的事情,可以提高app的打开次数,增加日活。

iOS中的推送分为

(1)本地推送通知(Local Notification)

(2)远程推送通知(Remote Notification)

我们在平时的开发中,使用远程推送可能比较多,远程推送依赖于服务器,需要联网才能收到,本地推送无需联网,添加好定时器即可在指定时间发送推送,平时使用场景多是闹钟,提醒等。

2. 本地推送(Local Push)

  • 无需联网即可推送

  • 不需要创建推送证书

3. push交互(示例基于iOS8.0及以上)

(1)注册通知,获取用户授权

阅读全文 »