簡體   English   中英

Xcode-通過SFTP將應用程序上傳到iOS設備

[英]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功能(在我的情況下)。

將應用程序上載到根文件夾時

  • 構建存檔應用程序:(發布版本)
  • 導航到默認構建路徑
  • / Users /“user”/ Library / Developer / Xcode / DerivedData /“app of app”/ Build / Products / Debug-iphoneos /
  • 構建文件位於上面的目錄“ApplicationName.app”中
  • 將此文件上載到根應用程序目錄/ Application中
  • (不是/私人/ Var /手機/應用程序)
  • 使用SSH訪問iOS設備的文件目錄
  • 使用SFT協議進行文件傳輸 - (Cyber​​Duck是一款優秀的軟件)

通常按下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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM