成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

私有API:不能用?還是不能不用?

2012-02-13 12:54:24來源:CSDN作者:

2月9日,有網友爆料,奇虎360旗下的iOS應用調用私有API,并且涉及讀取用戶數據,并懷疑360應用是因此而遭蘋果商店下架。時隔一天,又有網友針鋒相對的提出一些對比,表示360 瀏覽器調用的API主要用于瀏覽器加速,也

2月9日,有網友爆料,奇虎360旗下的iOS應用調用私有API,并且涉及讀取用戶數據,并懷疑360應用是因此而遭蘋果商店下架。時隔一天,又有網友針鋒相對的提出一些對比,表示360 瀏覽器調用的API主要用于瀏覽器加速,也就是上網時使網頁在瀏覽器里顯示得更快,而且通過反編譯發現,多個國內外iPad瀏覽器應用都在調用這個接口。由于我們掌握的事實依據并不充分,這里并不做過多的判斷。

什么是私有API

iPhone中的API除了公開的API:Published API外(或者Documented API),還有兩類:私有API:Private API和未公開API:UnPublished API(或者Undocumented API)。

私有API是指放在PrivateFrameworks框架中的API,未公開的API是指雖然放在Frameworks框架中,但是卻沒有在蘋果的官方文檔中有使用說明、代碼介紹等記錄的API。

按蘋果的說法,未公開的API是還不夠成熟,可能還會變動的API,等完全成型了后會變成公開的API,但是目前不對其提供承諾,就是系統版本升級后可能會失效。而私有API是蘋果明確不能使用的API。雖然兩者有所區別,但是在具體使用方法上是類似的。

私有API也曾逃過審核

因為調用私有API而在審核中遭到拒絕的現象并不少見,甚至是在#ifdef DEBUG下,也有被檢測出來的。當然,也有很多應用都調用了私有 API但依然獲得了通過,或者是在被警告的同時得到通過。由于蘋果的審核機制,并未透露更多的信息給開發者,我們也不能確認蘋果到底是如何進行判斷。

但可以確認的是,蘋果并不是完全禁止私有API。在Apple官方的開發者論壇中曾公布允許開發者使用UIGetScreenImage() 這個私有API函數,還表示并在今后公布的SDK中,可能會公布跟這個函數等效的公開API函數。

Tumblr 和 Instapaper 的程序員 Marco Arment 還曾經“揭露”,蘋果在 iBooks 中使用了大量私有 API,致使第三方應用無法實現亮度控制和調用字典等類似的功能。

甚至是Google Voice這樣的應用,一樣調用了私有API,并且獲得了通過上架。Google曾承認在開發iPhone版Google Mobile應用的時違反Apple的iPhone軟件開放包的規則,使用了未發布的API來使用iPhone的接近感應器方便用戶進行語音搜索。

\
圖:Google Voice

私有API的不足

使用未發布的API有可能造成在Apple升級軟件時應用程序代碼可能會損壞。但是很多開發者愿意冒這個險來開發自認為更強力的應用,同時,也有很多開發者認為自己的應用不需要多次升級。以Google語音搜索感應識別為例,在原始的SDK使用規范中,使用這些技術的應用程序將無法通過Apple Store的審核。而事實上,如果嚴格遵守SDK規則的話,開發者是無法開發出Google Voice的。

關鍵詞:私有API開發

贊助商鏈接:

主站蜘蛛池模板: 新邵县| 隆德县| 宜都市| 西乡县| 通海县| 安康市| 乃东县| 开封县| 恩施市| 镇江市| 兴和县| 东源县| 会泽县| 儋州市| 托里县| 大英县| 绥滨县| 凌海市| 北宁市| 张家界市| 扎囊县| 嘉善县| 桂林市| 志丹县| 礼泉县| 涪陵区| 麟游县| 汽车| 保德县| 丹棱县| 米泉市| 临沧市| 泾源县| 秭归县| 油尖旺区| 宕昌县| 襄汾县| 余江县| 达孜县| 宁波市| 张家口市|