aiQG's Blog

Happy hacking. Happy developing.

aiQG's GitHub ⛓Links P
Other CTF Swift Developing & Reversing

Swift + ios开发

20 September 2019

by aiQG_

ios开发理念和以往开发有些不同, iOS讲究在使用之前才初始化, 而不是在程序启动时全部完成初始化(例如在按钮执行函数内进行警告窗口的声明+初始化, 而不能在函数外提前初始化)

//按钮: 点击弹出警告框
@IBAction func bt(_ sender: Any) {
	let uiAlert: UIAlertController = UIAlertController(title: "这是title", message: "这是message", preferredStyle: .actionSheet)
	let uiAAction: UIAlertAction = UIAlertAction(title: "what?", style: .cancel, handler: nil)
	let uiaaction2: UIAlertAction = UIAlertAction(title: "2", style: .destructive, handler: nil)
	let uiui: UIAlertAction = UIAlertAction(title: "4", style: .default, handler: nil)
	uiAlert.addAction(uiAAction)
	uiAlert.addAction(uiaaction2)
	uiAlert.addAction(uiui)
	self.present(uiAlert, animated: true, completion: nil)
}

关于session(AVCaptureSession)

session可以有多个input和output 当startRunning()后创建一个Connection session可以在input和output之间处理数据(暂时理解为管理数据的转发)(有点像交换机?) output可以设置setSampleBufferDelegate(一个队列(线程?)) 获得SampleBuffer后会调用captureOutput()

关于图像识别

使用setSampleBufferDelegate需要继承AVCaptureVideoDataOutputSampleBufferDelegate 才能调用captureOutput()//这里有个重载captureOutput(_:didOutput:from:)(写入视频帧时调用); captureOutput(_:didDrop:from:)(视频帧被丢弃时调用)//()何时丢弃 VNImageRequestHandler()可以初始化图像请求 perform()开始执行 VNDetectTextRectanglesRequest()请求分析图像, 返回分析结果

Developing & Reversing

return

email:nrxxmzlrovqw4z3fgeztcncaozuxaltroexgg33n