專利名稱:一種iOS設(shè)備的標(biāo)志方法
技術(shù)領(lǐng)域:
本發(fā)明屬于移動應(yīng)用技術(shù)領(lǐng)域,具體涉及ー種iOS設(shè)備的標(biāo)志方法。
背景技術(shù):
iOS設(shè)備是指安裝了 iOS操作系統(tǒng)的硬件設(shè)備,如iPad,iPhone等,iOS是由蘋果公司開發(fā)的手持設(shè)備操作系統(tǒng)?,F(xiàn)有技術(shù)中,為了唯一標(biāo)志iOS設(shè)備,一般的方法是讀取硬件相關(guān)信息,如設(shè)備序列號,網(wǎng)卡物理地址,UDID等信息。這些信息涉及用戶隱私,蘋果公司官方不建議開發(fā)者讀取這些信息。雖然i0S6有了替代方案,但是目前仍然存在大量i0S5用戶和少量的iOS4用戶,而且不是所有設(shè)備都能升級到i0S6。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明所要解決的技術(shù)問題是提供一種不讀取硬件信息的iOS設(shè)備的標(biāo)志方法。為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案如下ー種iOS設(shè)備的標(biāo)志方法,包括以下步驟(I)查找iOS設(shè)備操作系統(tǒng)緩存中是否緩存過該iOS設(shè)備ID,如是,則使用該iOS設(shè)備ID,結(jié)束;否則執(zhí)行下ー步驟;(2)定義ー個標(biāo)識符,并賦給所述標(biāo)識符ー個約定值;(3)在iOS設(shè)備操作系統(tǒng)的粘貼板中,查找所述標(biāo)識符的約定值+ “O”至“N”中出現(xiàn)次數(shù)最多的值及M個未占用的索引,如果未找到未占用的索引,則生成一個隨機(jī)數(shù),所述隨機(jī)數(shù)即為所述iOS設(shè)備的ID,結(jié)束;所述N和M為正整數(shù);如果找到未占用的索引,則用所述未占用的索引將出現(xiàn)次數(shù)最多的值存儲在操作系統(tǒng)的粘貼板中;(4)緩存出現(xiàn)次數(shù)最多的值,該值即為iOS設(shè)備ID。如上所述的iOS設(shè)備的標(biāo)志方法,步驟(2)中所述約定值類型為字符串或者數(shù)字。如上所述的iOS設(shè)備的標(biāo)志方法,步驟(3)中,所述未占用的索引數(shù)量M為兩個。如上所述的iOS設(shè)備的標(biāo)志方法,步驟(3)中,所述N彡50XM。如上所述的iOS設(shè)備的標(biāo)志方法,步驟(3)中,生成隨機(jī)數(shù)后,將所述隨機(jī)數(shù)存儲在操作系統(tǒng)的緩存及粘貼板的索引中。如上所述的iOS設(shè)備的標(biāo)志方法,其中,在將隨機(jī)數(shù)存儲在粘貼板的索引后,將所述索引的可持久化屬性設(shè)置為YES。如上所述的iOS設(shè)備的標(biāo)志方法,其中,在用未占用的索引將出現(xiàn)次數(shù)最多的值存儲在操作系統(tǒng)粘貼板后,將所述索引的可持久化屬性設(shè)置為YES。采用本發(fā)明所述方法,可以在不讀取硬件信息的情況下唯一標(biāo)志iOS設(shè)備,并且具有容錯性。容錯性主要表現(xiàn)在待查找的設(shè)備標(biāo)志被冗余存儲在系統(tǒng)粘貼板的多個鍵中,取出現(xiàn)次數(shù)最多的值作為設(shè)備唯一標(biāo)志,避免了由于ー些意外導(dǎo)致部分鍵值丟失或被篡改的情況。由于設(shè)備ID是緩存在系統(tǒng)粘貼板中,即使應(yīng)用軟件被刪除后依然會保留下來,其他新安裝的應(yīng)用軟件或者此應(yīng)用軟件被再次安裝后仍可讀取到原來的設(shè)備ID。
圖I是具體實施方式
中iOS設(shè)備的標(biāo)志方法流程圖。
具體實施例方式下面結(jié)合附圖對本發(fā)明的具體實施方式
進(jìn)行詳細(xì)描述。如圖I所示,本實施方式中不讀取硬件信息標(biāo)志iOS設(shè)備方法,包括以下步驟(I)查找iOS設(shè)備操作系統(tǒng)緩存中是否緩存過該iOS設(shè)備ID,如是,則使用該iOS設(shè)備ID,結(jié)束;否則執(zhí)行下一步驟。(2)定義ー個標(biāo)識符udidkey,可以是字符串或數(shù)字類型,賦給udidkey —個約定的值,以字符串為例^com. gridsum. tracker, udid”。定義標(biāo)識符udidkey的目的是為后續(xù)步驟存儲和查找隨機(jī)數(shù)uuid,由于系統(tǒng)粘貼板是ー個公共的地方,其他程序也可以訪問,因此標(biāo)識符udidkey也是為了與其他程序隔離。(3)在系統(tǒng)粘貼板中,查找標(biāo)識符的約定值+ “O”至“N”中出現(xiàn)次數(shù)最多值,即找出 com. gridsum. tracker. udidO 至 com. gridsum. tracke r. udidN 的值中出現(xiàn)次數(shù)最多的值。同時,查找M個未占用的索引。如果沒有找到未占用的索引,則生成一個隨機(jī)數(shù)uuid,存儲在udidkey+ “O”中,該隨機(jī)數(shù)uuid即為iOS設(shè)備的唯一標(biāo)志,結(jié)束。生成隨機(jī)數(shù)uuid后,將所述隨機(jī)數(shù)存儲在操作系統(tǒng)的緩存及粘貼板的索引中,并將所述索引的可持久化屬性設(shè)置為YES。如果找到未占用的索引,則用該索引將出現(xiàn)次數(shù)最多的值存儲在系統(tǒng)粘貼板中,并將系統(tǒng)粘貼板的可持久化屬性(persistent)設(shè)置為YES。這是為了使存儲在系統(tǒng)粘貼版中的值能夠永久保存下來,否則關(guān)閉電源后數(shù)據(jù)就會被清空。尋找未占用的索引數(shù)量M可以是ー個,也可以是兩個或多個。為了增強(qiáng)容錯性,避免因ー些操作導(dǎo)致索引值丟失或被篡改,優(yōu)選的,選擇兩個以上未占用的索引來存儲出現(xiàn)次數(shù)最多的值,進(jìn)行冗余備份。所述N和M為正整數(shù),優(yōu)選的,當(dāng)M=I吋,N > 50 ;當(dāng)M=2吋,N彡100 ;即N彡50XM。本實施方式中,M=2,N=IOO0例如假設(shè)目前系統(tǒng)粘貼板中的數(shù)據(jù)狀態(tài)如下
權(quán)利要求
1.ー種iOS設(shè)備的標(biāo)志方法,包括以下步驟 (1)查找iOS設(shè)備操作系統(tǒng)緩存中是否緩存過該iOS設(shè)備ID,如是,則使用該iOS設(shè)備ID,結(jié)束;否則執(zhí)行下一步驟; (2)定義ー個標(biāo)識符,并賦給所述標(biāo)識符ー個約定值; (3)在iOS設(shè)備操作系統(tǒng)的粘貼板中,查找所述標(biāo)識符的約定值+“O”至“N”中出現(xiàn)次數(shù)最多的值及M個未占用的索引,如果未找到未占用的索引,則生成一個隨機(jī)數(shù),所述隨機(jī)數(shù)即為所述iOS設(shè)備的ID,結(jié)束;所述N和M為正整數(shù); 如果找到未占用的索引,則用所述未占用的索引將出現(xiàn)次數(shù)最多的值存儲在操作系統(tǒng)的粘貼板中; (4)緩存出現(xiàn)次數(shù)最多的值,該值即為iOS設(shè)備ID。
2.如權(quán)利要求I所述的iOS設(shè)備的標(biāo)志方法,其特征在于步驟(2)中所述約定值類型為字符串。
3.如權(quán)利要求I所述的iOS設(shè)備的標(biāo)志方法,其特征在于步驟(2)中所述約定值類型 為數(shù)字。
4.如權(quán)利要求f3中任一項所述的iOS設(shè)備的標(biāo)志方法,其特征在于步驟(3)中,所述未占用的索引數(shù)量M為兩個。
5.如權(quán)利要求f3中任一項所述的iOS設(shè)備的標(biāo)志方法,其特征在于步驟(3)中,所述N彡50XM。
6.如權(quán)利要求廣3中任一項所述的iOS設(shè)備的標(biāo)志方法,其特征在于步驟(3)中,生成隨機(jī)數(shù)后,將所述隨機(jī)數(shù)存儲在操作系統(tǒng)的緩存及粘貼板的索引中。
7.如權(quán)利要求6所述的iOS設(shè)備的標(biāo)志方法,其特征在于在將隨機(jī)數(shù)存儲在粘貼板的索引后,將所述索引的可持久化屬性設(shè)置為YES。
8.如權(quán)利要求f3中任一項所述的iOS設(shè)備的標(biāo)志方法,其特征在于在用未占用的索引將出現(xiàn)次數(shù)最多的值存儲在操作系統(tǒng)粘貼板后,將所述索引的可持久化屬性設(shè)置為YES0
全文摘要
本發(fā)明涉及一種iOS設(shè)備的標(biāo)志方法,屬于移動應(yīng)用技術(shù)領(lǐng)域。本發(fā)明首先查找iOS設(shè)備操作系統(tǒng)緩存中是否緩存過該iOS設(shè)備ID,如是,則使用該iOS設(shè)備ID,結(jié)束;否則執(zhí)行下一步驟;定義一個標(biāo)識符,并賦給所述標(biāo)識符一個約定值;在iOS設(shè)備操作系統(tǒng)的粘貼板中,查找所述標(biāo)識符的約定值+“0”至“N”中出現(xiàn)次數(shù)最多的值及M個未占用的索引,如果未找到未占用的索引,則生成一個隨機(jī)數(shù),所述隨機(jī)數(shù)即為所述iOS設(shè)備的ID,結(jié)束;所述N和M為正整數(shù);如果找到未占用的索引,則用所述未占用的索引將出現(xiàn)次數(shù)最多的值存儲在操作系統(tǒng)的粘貼板中;緩存出現(xiàn)次數(shù)最多的值,該值即為iOS設(shè)備ID。
文檔編號G06F9/44GK102915240SQ20121034322
公開日2013年2月6日 申請日期2012年9月14日 優(yōu)先權(quán)日2012年9月14日
發(fā)明者王海 申請人:北京國雙科技有限公司