[翻译] 带有震动效果的 ShakingAlertView

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介:

ShakingAlertView  震动效果的AlertView

https://github.com/lukestringer90/ShakingAlertView

ShakingAlertView is a UIAlertView subclass with a password entry textfield. Incorrect password entry causes a "shake" animation similar to the OS X account login screen.

这是一个UIAlertView的子类并带有一个密码输入的textfield。输入错误的密码会触发震动效果,与 OS X 登陆界面相似。

Installation

Cocoapods

用COcoapods安装:

Add to your Podfile:

pod 'ShakingAlertView'

Adding source code manually

Clone the git repo and drag the "src" folder into your project. This contains the UI components and cryptographic helpers necessary for hashing passwords.

将“src”文件夹拖入到工程当中。这个文件夹包含了UI显示组件以及给密码加密用的文件。

Usage

Plaintext password

Use ShakingAlertView just like UIAlertView. For a checking a plain text password:

你可以像使用UIAlertView那样子来使用ShakingAlertView。检查文本合法性参考如下:

ShakingAlertView *shakingAlert = nil;
shakingAlert = [[ShakingAlertView alloc] initWithAlertTitle:@"Enter Password"
                                           checkForPassword:@"pass"];

[shakingAlert setOnCorrectPassword:^{
    // Code to execute on correct password entry
}];

[shakingAlert setOnDismissalWithoutPassword:^{
    // Code to execute on alert dismissal without password entry
}];

[shakingAlert show];

Rather than using a delegate, pass the instance a completion block to be executed for correct password entry and alert dismissal. ShakingAlertView uses ARC so no need to release your instances.

使用代理,或者传递一个block的实例变量来判断文本输入正确或者错误的执行入口。ShakingAlertView使用ARC所以不需要你来释放你的实例变量。

Hashed passwords

ShakingAlertView uses the Common Crypto C API to hash the entered text to SHA1 or MD5. Therefore if you only know the hashed counterpart of a password string you can specify this along with the hashing algorithm type in the constructor.

ShakingAlertView使用了通用C接口的SHA1或者MD5来加密文本。你可以指定某种加密方式来加密。

ShakingAlertView *shakingAlert = nil;
shakingAlert = [[ShakingAlertView alloc] initWithAlertTitle:@"Enter Password"
                                           checkForPassword:@"W6ph5Mm5Pz8GgiULbPgzG37mj9g=" //sha1 hash of 'password'
                                      usingHashingTechnique:HashTechniqueSHA1];

The hashing algorithm to use is defined by an enum and passed into the constructor.

加密算法用枚举值来标示。

typedef enum {
    HashTechniqueNone,
    HashTechniqueSHA1,
    HashTechniqueMD5
} HashTechnique;

HashTechniqueNone is used if no technique is specified, like in the initWithAlertTitle:checkForPassword andinitWithAlertTitle:checkForPassword:onCorrectPassword:onDismissalWithoutPassword constructors. Here the entered string is compared with the specified plaintext password using a simple isEqualToString: evaluation.

如果是显示标题,那就使用HashTechniqueNone。

Running the tests

The ShakingAlertView class is tested using the BDD tool Kiwi. To run the tests install Kiwi via Cocoapods, and the open the workspace:

cd Example\ Project/
pod install
open ExampleProject.xcworkspace/

Make sure the "ShakingAlertView" scheme is selected then run the tests with ⌘+U

Acknowledgements

NSData+Base64.h/m and b64.h/m from aqtoolkit by Jim Dovey

Kiwi testing tool.

 

 

 

 

目录
相关文章
|
6月前
|
人工智能 自然语言处理 数据可视化
比Sora更王炸,LTX Studio文本生成超25秒,视频自带背景音乐、转场等效果!
【2月更文挑战第13天】比Sora更王炸,LTX Studio文本生成超25秒,视频自带背景音乐、转场等效果!
140 3
比Sora更王炸,LTX Studio文本生成超25秒,视频自带背景音乐、转场等效果!
|
1月前
|
自然语言处理 搜索推荐 Docker
CosyVoice实现声音复刻
这篇文章介绍了如何使用CosyVoice平台实现个性化的声音复刻,包括录制样本音频、上传处理以及生成定制化语音的全流程。
414 6
CosyVoice实现声音复刻
|
5月前
|
人工智能 算法 安全
AI降噪耳机,可在嘈杂人群中单独通话,看一眼锁定目标
【6月更文挑战第15天】AI降噪耳机结合AI算法与麦克风阵列,能在嘈杂环境中确保清晰通话,提升沟通效率和隐私保护。尽管价格高、降噪效果有限且有安全隐患,它们为用户带来便利的同时,也引发了对隐私和安全的关注。
87 1
|
人工智能 JSON 安全
能听懂语音的ChatGPT来了:10小时录音扔进去,想问什么问什么
能听懂语音的ChatGPT来了:10小时录音扔进去,想问什么问什么
154 0
|
机器学习/深度学习 人工智能 自然语言处理
现实版「柯南变声器」来了,搜狗变声让你声音随心变
声音秒变志玲姐姐,秒变「矮大紧」,秒变萝莉、正太,现在通通不是问题!
704 0
现实版「柯南变声器」来了,搜狗变声让你声音随心变
|
机器学习/深度学习 人工智能 自然语言处理
高保真音色媲美真人,StyleTTS为QQ浏览器「听书」语音注入情感
QQ 浏览器「听书」背后的 StyleTTS 让合成语音有了情感的温度。
307 0
高保真音色媲美真人,StyleTTS为QQ浏览器「听书」语音注入情感
|
传感器 机器学习/深度学习 算法
“会说话”的手!这个手套可以翻译手语,还能通过APP转换语音
“会说话”的手!这个手套可以翻译手语,还能通过APP转换语音
299 0
惊天“巨浪”闪现首尔!LED屏幕高清复现文艺复兴技术,网友:真·裸眼3D
惊天“巨浪”闪现首尔!LED屏幕高清复现文艺复兴技术,网友:真·裸眼3D
168 0
|
人工智能 机器人 区块链
7月18日科技联播:意念操控机器人?我们不解码你的动作却能解码你的意图
你有想象过未来的某一天,你可以用意念操控你的手机电脑吗?美国初创公司CTRL-labs给出了答案。大英博物馆入驻天猫,这只猫都火到国外去了;还有哪些大事儿你不知道,科技联播提前为你分享!
1891 0