[英]Xcode- uploading app to iOS device through SFTP
嗨,我正在嘗試將應用程序上傳到我的iPad,(iOS 5.1) - Jailbroken,
它是一個網絡搜索應用程序,我正在使用私有API,據我所知,我需要將我的應用程序的構建版本放在devices /Applications
文件夾中!
(假設我使用cyberduck計算了這個過程)
到目前為止一切順利,一切正常!
但每次我在我的應用程序上更新代碼時,我需要替換哪些文件? 只有/Applications
目錄中的那些或者/User/Applications/
。 。 。 ? atm每次我更新我的代碼似乎代碼將不會更新,直到我重新啟動設備
在我重新啟動之前,我通過Xcode得到以下錯誤:
具有給定捆綁標識符的系統應用程序已安裝在設備上,無法替換。
請幫忙
僅僅因為您使用私有API並不意味着您總是需要在/Applications
安裝該應用/Applications
。 這取決於哪些私有API,以及您正在嘗試做什么。 系統應用程序和通過Cydia分發的應用程序通常安裝在/Applications
。 正常的第三方App Store應用程序(我們的)安裝在/var/mobile/Applications
( /User/Applications
是/var/mobile/Applications
的鏈接,因此這兩個是相同的位置)。
因此,默認情況下,Xcode不會在/ Applications中安裝應用程序。 它會在/var/mobile/Applications
下的某個地方安裝應用/var/mobile/Applications
。
如果您手動將應用程序放入/Applications
,然后嘗試從Xcode再次構建和運行它,Xcode將在/Applications/MyAppName.app
看到該版本,即使它正在嘗試安裝到/var/mobile/Applications/*/MyAppName.app
,它將根據包標識符(在應用程序的Info.plist文件中指定)識別沖突。
因此,您無法在/Applications
和/var/mobile/Applications
安裝具有相同捆綁標識符的/var/mobile/Applications
。 我會選擇你想要的地方。
如果您希望應用程序位於/Applications
,請使用腳本進行安裝(例如,使用SFTP)。 如果你想在/var/mobile/Applications
你的/var/mobile/Applications
,那么你可以直接從Xcode構建和運行 。
至於需要重啟,這不應該是必要的。 您可能需要ssh
到您的設備,並發出uicache
命令:
ssh mobile@iphone
uicache
要么
ssh root@iphone
su mobile -c uicache
讓SpringBoard識別新安裝的應用程序。 如果您直接從Xcode運行,則沒有必要,但如果您從Xcode構建,然后運行(SFTP)安裝腳本,那么您可能需要運行uicache
。
希望這可以幫助。
編輯:我沒有遇到編寫自定義后構建腳本/步驟從Xcode中調用的問題。 所以,當我在上面的答案中提到從Xcode運行時,我指的是Xcode工作的默認模式。
是的,並非所有私有API都需要管理權限; 即Apple80211功能(在我的情況下)。
將應用程序上載到根文件夾時
通常按下Xcode中的“運行”按鈕會將應用程序安裝在/ Var / mobile / applications目錄下,但是,如果Xcode檢測到應用程序已存在於/ Applications中,則它只使用后者。
因此:當您更新代碼時。 。 。 。 - 你必須創建一個新的版本! (如上所述) - 從/ Applications中刪除文件夾“ApplicationName” - 並將(新的)更新版本(ApplicationName.app)放入/ Applications目錄中
Stumbler,是嘗試上述步驟的一個很好的例子; Stumbler使用Apple80211功能,要求應用程序在/ Applications中; 對代碼稍作修改並嘗試上述步驟。 。 。 。 代碼見: http : //blog.guvenergokce.com/iphone-wireless-scanner-ios5/170/
希望這有助於一路走來!
任務i
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.