我開發了一個應用程序,我需要從生成的iPA文件中刪除我的電腦本地路徑。解壓縮iPA後顯示應用程序文件的內容,並打開exec顯示我的本地路徑
我做了以下內容:
- 解壓IPA文件。
- 點擊顯示打包內容。
- 使用文本編輯器打開exec(appname.exec)文件。
現在我可以看到一些二進制的東西,串用我的電腦本地路徑(我的MAC名)。
由於安全問題,我必須從exec文件中刪除這些路徑。我該怎麼做?
我開發了一個應用程序,我需要從生成的iPA文件中刪除我的電腦本地路徑。解壓縮iPA後顯示應用程序文件的內容,並打開exec顯示我的本地路徑
我做了以下內容:
現在我可以看到一些二進制的東西,串用我的電腦本地路徑(我的MAC名)。
由於安全問題,我必須從exec文件中刪除這些路徑。我該怎麼做?
由於Accessing Files and Directories說:
雖然可以打開任何文件,並作爲字節流中讀取它的內容,這樣做並不總是正確的選擇。 OS X和iOS提供了內置的支持,使打開許多類型的標準文件格式(如文本文件,圖像,聲音和屬性列表)變得更加容易。對於這些標準文件格式,您應該使用更高級別的選項來讀取和寫入文件內容。表2-1列出了系統支持的常用文件類型以及有關您如何訪問它們的信息。
你有很多方法來保存數據:
您選擇Specifying the Path to a File or Directory
,作爲@Droppy說
首先,它會破壞代碼簽名,其次是耗時且容易出錯。
你最好選擇Locating Items in the Standard Directories
這就是爲什麼你應該選擇的方式:
定位在標準目錄 項目當你需要定位的一個文件標準目錄,請使用系統框架先找到目錄,然後使用生成的URL構建文件的路徑。 Foundation框架包含幾個用於查找標準系統目錄的選項。
The URLsForDirectory:inDomains: method of the NSFileManager class returns a directory’s location packaged in an NSURL object. The directory to search for is an NSSearchPathDirectory constant. These constants provide URLs for the user’s home directory, as well as most of the standard directories. The NSSearchPathForDirectoriesInDomains function behaves like the URLsForDirectory:inDomains: method but returns the directory’s location as a string-based path. You should use the URLsForDirectory:inDomains: method instead. The NSHomeDirectory function returns the path to either the user’s or app’s home directory. (Which home directory is returned depends on the platform and whether the app is in a sandbox.) When an app is sandboxed the home directory points to the app’s sandbox, otherwise it points to the User’s home directory on the file system. If constructing a file to a subdirectory of a user’s home directory, you should instead consider using the URLsForDirectory:inDomains: method instead.
您可以使用URL或基於路徑的字符串,你從前面的程序接收到建立與的位置新的對象:通過使用這些方法,您的應用程序是否在沙盒與否的路徑將是正確的你想要的文件。 NSURL和NSString類都提供了與路徑相關的方法,用於添加和刪除路徑組件並對路徑進行一般更改。清單2-1顯示了一個搜索標準應用程序支持目錄併爲包含應用程序數據文件的目錄創建新URL的示例。
你不能這樣做。首先它會破壞代碼簽名,其次是耗時且容易出錯。
正確的做法是不使用代碼中的完整路徑,而是使用諸如NSSearchPathForDirectoriesInDomains
之類的方法來獲取Documents文件夾或任何想要使用的目錄。
我改變了所有的路徑與NSSearchPathForDirectoriesInDomains,但我仍然可以看到本地路徑。我使用的是openCV框架,我可以將開發人員姓名字符串視爲exec文件中文件路徑的一部分。我正在爲adhoc生成iPA。 – BoazGarty