国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

軟件授權控制

2019-11-14 18:22:51
字體:
來源:轉載
供稿:網(wǎng)友

對于這個app,因為它集成了很多電機性能調(diào)校的功能,我們并不希望競爭對手也能使用上它,所以只有公司內(nèi)部人員和客戶才能得到我們的授權,去體驗和調(diào)校我們的電機。

那么,軟件授權的機制是怎樣的?

  1. 提供用戶一個request code,用戶使用request code向我們請求PRoduct key。

NSMutableString requestCode = [NSMutableString stringWithCapacity : 8 ];

for(int I = 0 ; i < 8 ; i++){

int a = arc4random()%10;

[requestCode appendString : [NSString stringWithFormat:@"%i",a]];

}

  1. Product key校驗。
  • 在用戶給出request code后,我們通過一定的算法運算出product key來返回給用戶;
  • App自身也進行相同的運算得到product key,以便與用戶輸入的product key作對比。
  1. 用戶使用權限的保存。

    把用戶是否獲得了授權的狀態(tài)保存起來,以便每次啟動的檢查。

  • 使用NSUserDefaults對象。

    NSUserDefaults是用來保存、恢復應用程序相關的偏好設置和配置數(shù)據(jù)的。

[[NSUserDefaults standardUserDefault] setBool: YES forKey :@"haveLicence"]; 即可設置一個key為"haveLicence"的Bool值。

[[NSUserDefaults standerdUserDefault] boolForKey : @"haveLicence"]; 即可獲取名為"haveLicence"的鍵值的Bool值。

Refer to :www.survivalescaperooms.com/heyonggang/p/3663424.html

  • 使用keychain。

    NSUserDefaults只是個像游戲存檔一樣的東西,游戲刪了,存檔也就跟著一塊刪了。為了讓用戶獲得永久授權,而不必在app的卸載重裝后去重新申請,要使用keychain。

    Refer to :http://blog.k-res.net/archives/1081.html

  • 在ARC環(huán)境下使用操作keychain。

    apple官方所提供的KeychainItemWrapper類對ARC編譯環(huán)境并不友好。

    此時,當項目為ARC編譯環(huán)境,要對某個類單獨進行非ARC編譯,可以在Build Phases – Complie Sources中雙擊相應的類文件,輸入:-fno-objc-ARC。

    Refer to :www.cocoachina.com/ios/20140912/9605.html

    可惜本人進行的嘗試并沒作用。至于其不起作用的原因,本人尚未查明,如果有朋友知道,希望得到告知和指導!

    最后好不容易找到了一個SSKeychain類,它對蘋果安全框架API進行了簡單封裝,支持對存儲在鑰匙串中密碼、賬戶進行訪問,包括讀取、刪除和設置。

    Refer to :http://my.oschina.net/u/736617/blog/225833

[SSKeychain setPassWord :@"haveLicence" forService :@"VID" account:@"ONE" error:nil ]; 這樣即可在服務"VID"(這里可以是app的名稱,或某種操作、任務的名稱),對賬戶:"ONE"設置password : "haveLicense"。

 

NSString password = [[SSKeychain passwordForService:@"VID" account :@"ONE" error : nil ];即可取出VID中賬戶為ONE的密碼。

 

在這app里面并不是要讓用戶設置password,而是應用Keychain保存的數(shù)據(jù)不隨app的刪除而丟失的特點,當用戶得到授權之后,即往賬戶"ONE"中寫入password:"haveLicence";

在app啟動時,判定password 是否等于haveLicence來進行權限控制。

 

以上即為我在app中進行簡單軟件授權的要點。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 乌苏市| 维西| 昌平区| 景德镇市| 集贤县| 福海县| 湛江市| 远安县| 呼伦贝尔市| 梧州市| 怀柔区| 西乌珠穆沁旗| 浦北县| 麻城市| 额尔古纳市| 罗平县| 鲜城| 吕梁市| 盘锦市| 马尔康县| 乌兰县| 韶关市| 临泉县| 西乌| 古蔺县| 朔州市| 汕尾市| 酒泉市| 阿坝县| 山西省| 垦利县| 正阳县| 西和县| 大关县| 宜章县| 钟山县| 个旧市| 阿克苏市| 平舆县| 鲁山县| 嘉禾县|