iPhone應用程式 PXL格式程式開發執行個體操作

來源:互聯網
上載者:User

iPhone應用程式 PXL格式程式開發執行個體操作,首先來瞭解一下PXLPXL是國內廣泛使用的一種iOS程式安裝包,他只能安裝於破解版的iPhone/iPad等裝置上。和官方的IPA格式相比,pxl格式的程式有他獨特的特點。

1、PXL與IPA格式優缺點比較

IPA作為蘋果官方的安裝包格式,顯然在先天上有他的優勢,他易於安裝和卸載,只要使用iTunes就可以進行安裝、同步和卸載,而其他第三方的助手類軟體一般都支援IPA格式。但是由於是官方的格式,所以存在沙箱特性的限制。也就是說,他只能訪問沙箱下的目錄。

PXL作為國內應用相當廣泛的軟體,他也有自身的優勢。首先,他具有更強的檔案目錄存取範圍。由於PXL是安裝在破解過的機子之上,所以PXL軟體對實現對整個檔案系統訪問,因此如果你想做些和系統相關的軟體,例如安裝其他軟體或者是修改系統配置,IPA是絕對做不到的。

其次,他在安裝和卸載前後具有更強的靈活性。如果你想在安裝前做些準備工作,或者卸載時做些特殊的事情,可以通過PXL的安裝後和卸載前指令碼來完成你的目的。

第三,PXL程式可以獲得更高的許可權,可以通過一些手段,讓你的應用程式具有root的許可權。

而PXL的缺點也是顯而易見的!他僅僅支援破解過的iOS裝置。同時他也會失去IPA軟體所具備的一些特性。

2、PXL軟體開發過程與IPA軟體開發過程的差異性

PXL的開發過程和IPA的開發過程具有一些差異性,不瞭解這些差異性可能對你的軟體運行過程中有些影響。

1、PXL可能會無法擷取Document、Library等IPA必定存在的目錄。

在IPA格式的軟體中,軟體安裝後,他的目錄格式大概如下:

 
  1. XXXXXX蘋果產生的GUID目錄)  
  2. |  
  3. |____MyApp.app  
  4. |____Document  
  5. |____Library  
  6. |____tmp  
  7. |____xxxx其他目錄) 

而PXL的軟體安裝在破解機後,他的目錄格式如下:

 
  1. /Applications  
  2. |  
  3. |____MyApp.app 

2、PXL程式中是否可以使用Document、Libarary等目錄?

答案是應該可以。為什麼是應該呢?因為這個可能和機器的破解情況相關。一般情況下,使用系統的API來擷取Document目錄,你將獲得的目錄是:/var/mobile/Document,同樣,Library會指向/var/mobile/Library。基本上的破解機上這些目錄都是存在的!但是_並不保證_這些目錄一定存在,有非常小的機率遇到破解有問題的機器這些目錄不存在。)

那麼使用這些目錄有什麼要注意的事項嗎?

首先,所有pxl軟體的Document目錄都是指向同一個目錄/var/mobile/Document目錄,所以存在可能重名的危險!

其次,軟體在被卸載的時候,你存在Document和Libary下的檔案不會被刪除!

3、PXL程式開發時推薦的資料儲存方式?

那麼在PXL的程式開發過程中,推薦使用什麼樣的方式來儲存資訊呢?

一般而言,採用自己指定目錄的方式,你可以通過NSBundle來擷取你的app的路徑,在你的app目錄下建立一個你的資料存放區目錄當然,可以打包的時候直接帶入,也可以直接放在你的app目錄下也行)。然後將你的資料存放在這個目錄底下。

還有一種情況,就是很有可能你的程式既需要產生ipa,也需要產生pxl,所以你可能需要在程式中對這些情況進行適配。那麼這種情況你該怎麼處理呢?

首先,代碼中應該盡量避免直接使用Document、Libarary這些目錄,在訪問這些目錄前,封裝一下。例如:

 
  1. NSString *getMyDocumentPath()  
  2. {  
  3. NSString *path = nil;  
  4. if (isJailBreak)  
  5. {  
  6. path = MyJailBreakPath; //破解版自訂的路徑  
  7. }  
  8. else  
  9. {  
  10. path = DocumentPath; //系統的Document路徑  
  11. }  

那麼應該用什麼方式來判斷是否jailBreak呢?一個方法是你打包之前,代碼裡頭直接指定。那麼動態判定的方法呢?其實很簡單,你直接取訪問一個超出沙箱目錄的檔案,如果你能訪問到,那麼他一定是jailBreak過的。

例如:

 
  1. BOOL isJailBreak()  
  2. {  
  3. int res = access(”/var/mobile/Library/AddressBook/AddressBook.sqlitedb”, F_OK);  
  4. if (res != 0)  
  5. return NO;  
  6. return YES;  

小結:iPhone應用程式 PXL格式程式開發執行個體操作的內容介紹完了,希望本文對你有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.