Unwanted Communication Reporting Extension


Unwanted Communication Reporting Extension
骚扰电话报告拓展(不想要的通信报告拓展)
SMS and Call Spam Reporting
骚扰短信和骚扰电话上报

Create an app extension that lets users report unwanted SMS messages and calls as junk.
创建一个应用扩展程序,让用户将来电号码标记为骚扰电话并上报。

To report SMS messages and calls as spam, the user must enable an Unwanted Communication Reporting extension, called an SMS/Call Reporting extension in the Settings app (see Settings > Phone > SMS/Call Reporting).
要上报骚扰电话和短信,用户必须启用“骚扰电话报告拓展”,在手机设置中,找到“电话-短信/来电报告”,并勾选你想启用的“骚扰电话报告拓展”。

The user can only enable one Unwanted Communication Reporting extension at a time.
用户一次只能启用一个“骚扰电话报告拓展”。

In order to report calls, the user swipes left on an item in the Recents list and selects Report.
启用拓展之后,打开“电话”-“最近通话”,选择其中一个条目,向左滑动即可标记且上报。

For SMS messages, they press the Report Messages button when it appears in the Messages transcript. Users can also select messages by long-pressing a message and selecting additional messages, then selecting Report Messages.
至于短信,用户可以长按,然后点击“更多…”,然后点击“报告垃圾信息”,也可以在短信列表的底部,直接点击“报告所有垃圾信息”。

When the user reports an SMS message or call, the system launches your Unwanted Communication Reporting extension. Your extension gathers additional information from the user, before deciding whether to report or block the number, as shown in the figure below:
当用户上报骚扰电话和短信时,系统会启动“骚扰电话报告拓展”,在完成上报之前,你的扩展程序可以让用户填报更多信息,比如“外卖”“快递”“推销”等,如下图所示:

Specifically, the system:
1.Instantiates your extension’s ILClassificationUIExtensionViewController subclass;
2.Calls your controller’s prepare(for:) method and presents the controller to the user
Use your ILClassificationUIExtensionViewController subclass to gather data from the user. Override the prepare(for:) method to configure your controller.

具体来说,系统:
1.实例化子类:ILClassificationUIExtensionViewController;
2.调用控制器的prepare(for:)方法并将控制器呈现给用户,并从用户那里收集数据。
(你需要重写prepare方法来配置你的控制器)

The system provides a Cancel and a Done button for the controller. By default, the system disables the Done button.
系统为控制器提供了一个取消和完成按钮(如图),默认情况下,完成按钮是灰色的,无法点击。

As soon as the user has entered all the information you require, enable the Done button by setting the view controller’s isReadyForClassificationResponse property to true.
当用户选择了“外卖”“快递”“推销”等标签之后,你可以将isReadyForClassificationResponse设为true,然后“完成”按钮就可以点击了。

self.extensionContext.isReadyForClassificationResponse = true

If the user presses Done, the system calls your view controller’s classificationResponse(for:) method, passing in an ILClassificationRequest object (see the figure below)
如果用户点击“完成”,系统会调用控制器的classificationResponse方法,并传入一个对象(见下图):

Override the classificationResponse(for:) method to return a ILClassificationResponse based on the data the user has entered and information about the SMS message or call from the request object.
重写此方法,可返回一个ILClassificationResponse对象,此对象包含对应的来电/短信信息,也包含了当前页面收集到的数据信息。

The system takes different actions based on the response. For ILClassificationAction.none, the system dismisses your view controller, but doesn’t take any other action.
根据不同的ILClassificationResponse,系统会采取不同的行动。对于ILClassificationAction.none,系统将关闭页面,不执行任何其他操作。

For ILClassificationAction.reportNotJunk or ILClassificationAction.reportJunk, the system generates a report based on your response’s action and userInfo properties and then posts it to a network endpoint or sends it using an SMS message, depending on the keys specified in your extension’s Info.plist file.
对于ILClassificationAction.reportNotJunk或ILClassificationAction.reportJunk,系统将生成报告,然后将其通过网络端点发送,具体取决于您的扩展文件中指定的键。(也可以通过短信发送,这个操作太骚,此处故意忽略,不翻译)

To send a response over the network connection, you must add an associated domain to your extension. For general instructions, see Supporting associated domains. Note that you must use classificationreport instead of webcredentials when specifying the domains. You must also specify the network endpoint’s address using the ILClassificationExtensionNetworkReportDestination key in your extension’s Info.plist file.
要通过网络发送响应,您必须将关联域添加到您的扩展。至于什么是关联域,请参阅https://developer.apple.com/documentation/xcode/supporting-associated-domains。请注意,在指定域时,必须使用classificationreport而不是webcredentials。还必须在拓展应用的info.plist文件中使用ILClassificationExtensionNetworkReportDestination键指定网络端点的地址。

中央政治局常委

习近平,男,汉族,1953年6月生,陕西富平人,1969年1月参加工作,1974年1月加入中国共产党,清华大学人文社会学院马克思主义理论与思想政治教育专业毕业,在职研究生学历,法学博士学位。
现任中国共产党中央委员会总书记,中共中央军事委员会主席,中华人民共和国主席,中华人民共和国中央军事委员会主席。

李强,男,汉族,1959年7月生,浙江瑞安人,1976年7月参加工作,1983年4月加入中国共产党,中央党校研究生学历,高级管理人员工商管理硕士学位。
现任中央政治局常委,上海市委书记。

赵乐际,男,汉族,1957年3月生,陕西西安人,1974年9月参加工作,1975年7月加入中国共产党,中央党校研究生学历。
现任中央政治局常委。

王沪宁,男,汉族,1955年10月生,山东莱州人,1977年2月参加工作,1984年4月加入中国共产党,复旦大学国际政治系国际政治专业毕业,研究生学历,法学硕士学位,教授。
现任中央政治局常委,中央全面深化改革委员会办公室主任。

蔡奇,男,汉族,1955年12月生,福建尤溪人,1973年3月参加工作,1975年8月加入中国共产党,福建师范大学经济法律学院政治经济学专业毕业,在职研究生学历,经济学博士学位。
现任中央政治局常委、中央书记处书记,北京市委书记,北京2022年冬奥会和冬残奥会组织委员会主席、党组书记。

丁薛祥,男,汉族,1962年9月生,江苏南通人,1982年8月参加工作,1984年10月加入中国共产党,复旦大学管理学院行政管理专业毕业,在职研究生学历,理学硕士学位,教授级高级工程师。
现任中央政治局常委,中央办公厅主任,中央和国家机关工作委员会书记。

李希,男,汉族,1956年10月生,甘肃两当人,1975年7月参加工作,1982年1月加入中国共产党,西北师范学院中文系汉语言文学专业毕业,大学学历,高级管理人员工商管理硕士学位。
现任中央政治局常委,中央纪律检查委员会书记,广东省委书记。

cocoapods

官网地址:https://cocoapods.org

sudo gem update –system  //首先更新gem,一般都很慢,毕竟服务器在国外
sudo gem install cocoapods // 安装cocoapods,此命令亦可用于升级cocoapods的版本
------------------------------------
platform :ios, '8.0'
use_frameworks!

target 'MyApp' do
  pod 'AFNetworking', '~> 2.6'
  pod 'ORStackView', '~> 3.0'
  pod 'SwiftyJSON', '~> 2.3'
end
------------------------------------
pod install

vscode setting

{
    "workbench.colorTheme": "Default Light+", //白色主题
    "editor.minimap.enabled": false, //隐藏小地图
    "security.workspace.trust.untrustedFiles": "open", //允许打开不受信任的文件
    "[vue]": {
        "editor.defaultFormatter": "Vue.volar" //默认的vue格式化工具
    },
    "vetur.ignoreProjectWarning": true, //不显示vetur的警告
    "liveServer.settings.donotShowInfoMsg": true, //不显示liveServer的信息
    "explorer.confirmDelete": false, //删除文件的时候直接删
    "editor.formatOnSave": true, //保存文件的时候格式化代码
    "editor.formatOnPaste": true, //粘贴代码的时候自动格式化
    "editor.defaultFormatter": "Vue.volar", //默认的vue格式化工具
    "[jsonc]": {
        "editor.defaultFormatter": "vscode.json-language-features" //默认的json格式化工具
    },
    "[javascript]": {
        "editor.defaultFormatter": "vscode.typescript-language-features" //默认的js格式化工具
    }
    "git.decorations.enabled": false//git不启用装饰
}

tobacco.md

华为平板C5 BZT3-AL00 分辨率:2000*1200dpi屏幕尺寸:10.4英寸
包名 com.uni.hyzs2022
别名: hyzs2022
创建日期: 2021-12-15
所有者: CN=lixiang, OU=goodtom, O=gutong, L=huizhou, ST=guangdong, C=CN
序列号: 26d2db84
生效时间: Wed Dec 15 11:23:49 CST 2021, 失效时间: Fri Nov 21 11:23:49 CST 2121
证书指纹: SHA1: 55:B1:01:99:78:F1:4F:B9:77:2D:CC:F2:12:C2:7C:FE:4B:E4:3B:54 SHA256: 41:E1:B3:47:E9:C9:D7:A5:04:B6:1E:EA:0C:57:28:09:50:AF:D8:DC:BA:79:EF:87:BB:0A:20:0C:0D:36:0E:AC
签名算法名称: SHA256withRSA

H5和PC后台

npm -v 要求版本号为6.14.11
node -v 要求版本号为14.16.0

经纬度线路不连续显示

let points = [{ lat: 111, lon: 111 }, { lat: 99999999, lon: 9999999 }, { lat: 999, lon: 999 }, { lat: 111, lon: 111 }, { lat: 222, lon: 222 }]
let indexArr = [0]
let distanceArr = []
for (var i = 0; i < points.length - 1; i++) {
    let a = points[i]
    let b = points[i + 1]
    let aValue = a.lat + a.lon
    let bValue = b.lat + b.lon
    let abDistance = Math.abs(aValue - bValue)
    distanceArr.push(abDistance)
    if (abDistance > 1000) {
        indexArr.push(i + 1)
    }
}
let last = indexArr[indexArr.length - 1]
if (last != points.length) {
    indexArr.push(points.length)
}
console.log(distanceArr)
console.log(indexArr)


for (var ii = 0; ii < indexArr.length - 1; ii++) {
    let indexBegin = indexArr[ii]
    let indexEnd = indexArr[ii + 1]
    console.log(indexBegin, indexEnd)
    let smallArr = points.slice(indexBegin, indexEnd)
    console.log(JSON.stringify(smallArr))
}

杂七杂八备忘录

钉钉小程序uni.showModal

content不能为空

vi编辑最常用的命令

保存:write
保存并退出 :wq
不保存直接退出:q

ssh 转 https

到项目文件夹中,找到.git/config,修改里面的url就好了

NAS2

hmsj14 sd@12345
hmsj10 sd@12345

vscode 批量修改变量名

command + shift + l

uniapp css变量

--status-bar-height 系统状态栏高度
--window-top 内容区域距离顶部的距离
--window-bottom 内容区域距离底部的距离

npm安装指定版本

sudo npm install npm@7.24.0 -g

js时间戳(毫秒)

var timestamp = Date.parse(new Date())
var timestamp = new Date().getTime()
dayjs('2019-01-25').valueOf()

uniapp获取当前页路径

getCurrentPages()[0].$page.fullPath

npm参数

-S生产依赖
-D是开发依赖

css布局不被挤压

flex-shrink:0;

箭头函数

const sum = (a, b) => a + b

Mac聚焦 直达百度搜索

cmd+空格 输入关键词 cmd+b

多粉App打包发包发布

打正式包

应用名:“多粉”
更新版本号duofen, dfsimu, DFAppNotificationExtension
选择duofen,archive选择release模式,修改name为dfRelease
是否需要更新屏幕快照
搜索todo
最好先打正式,再打测试
备份代码,最好添加GIT

打内测包

应用名:“多粉内测版”
更新版本号duofen,dfsimu,DFAppNotificationExtension
archive选择testRealse模式,修改name为dfTestRelease

mac杂记

禁用spotlight文件索引(mds_stores,mdworker等进程)

系统偏好设置–>聚焦–>隐私–>左下角的”+”–>选择Macintosh HD

彻底禁用spotlight

sudo mdutil -a -i off

如果需要再次使用spotlight,可以通过以下命令重新开启

sudo mdutil -a -i on

telegram挂代理

https://t.me/socks?server=127.0.0.1&&port=7890

解除mac电脑密码长度限制

命令 pwpolicy -clearaccountpolicies

判断终端是否已经挂上代理

如果挂上代理,会有内容返回,如果没挂代理,将卡在原地
命令 curl www.google.com

xx.app已损坏,无法打开

sudo xattr -d com.apple.quarantine /Applications/xx.app