[Cordova] 將 app 安裝到 iPhone 上執行測試

[Cordova] 將 app 安裝到 iPhone 上執行測試

之前已經可以在 iOS 模擬器上執行 Cordova app

今天想要把 app 裝到自己的 iPhone 上看看效果~

 

首先將 iPhone 用 Lightning 線連接到 Mac 上,

再執行 cordova run 指令:

cordova run ios --device

 

在 cordova run 不加 –device 參數時,預設是跑在 iOS 模擬器上面,

加了 –device 參數,就會將 app 裝到實體手機上。

不過此時出現了錯誤訊息,說簽章需要一個 development team:

=== BUILD TARGET Library Multi-Login OF PROJECT Library Multi-Login WITH CONFIGURATION Debug ===

Check dependencies
Code Signing Error: Signing for "Library Multi-Login" requires a development team. Select a development team in the project editor.
Code Signing Error: Code signing is required for product type 'Application' in SDK 'iOS 11.3'

** ARCHIVE FAILED **

 

老實說對 iOS 的開發很不熟,只知道要在 App Store 上架的話,

需要每年花約 100 美金加入 Apple Developer

這樣你的 Apple ID 才會有可以幫 app 簽章的權限。

但我想在真正上架之前,先在自己手機確定 app 跑起來沒問題,

不然如果花錢註冊後,還要耗費時間修改 app,實在太浪費錢了~

 

查了一下,原來還是有辦法不花錢,把 app 裝在自己手機上測試的~

來記錄一下步驟吧~

 

1. 將 Apple ID 加入 Xcode 設定中

打開 Xcode,到 Preferences > Accounts,

按下 + 鈕來加入帳號:

 

我要加入一個 Apple ID 帳號:

 

這個 Apple ID 帳號就是平常我用來登入 App Store 用的 Apple ID,

還沒有付費加入 Apple Development Program:

 

加好之後的樣子:

 

2. 修改 Xcode 專案設定

Cordova 會幫我們做出一個 Xcode 的專案檔,

通常是在 platforms/ios/<專案名稱>.xcodeproj,

像我的是 platforms/ios/Library Multi-Login.xcodeproj~

 

把它點兩下,用 Xcode 打開後,

我在上面的工具列,選擇要安裝到我的手機 (EPH’s iPhone),

再按執行鈕,還是出現和 Cordova 一樣的 Code signing error:

 

這是因為我們還沒有設定好 Development Team~

在左邊先點下專案名稱,右邊到 General 設定區,

在 Signing 這邊可以看到目前的 Team 是 None:

 

點下 None,可以下拉選擇 Personal Team。

選擇好之後,按  Try again 鈕,

但出現了另一個錯誤訊息,

說 Failed to create provisioning profile:

 

這點很奇怪…

上網找了半天,找到一個更奇怪的解法,就是修改 Bundle identifier…

許多人說,只要在 Bundle identifier 後面加個亂數數字,就沒問題了。

像我原本的 Bundle identifier 是 idv.ephrain.multilibrarylogin,

我在後面加個 2 變成 idv.ephrain.multilibrarylogin2,

結果還真的就成功了!!

 

有人說可能是因為 Bundle identifier 和其他人衝突的關係,

加個數字可能就避開了衝突,

但我的這個識別字應該不太可能和別人衝到,不太能理解…

 

點下 Xcode Managed Profile 旁的 (i) 圖示,

可以看到這個 profile 的相關資訊,注意它的期限很短只有六天:

 

3. 允許 iPhone 執行 app

這樣設定好之後,再次按下 Xcode 中的執行鈕,

這次就可以看到 Xcode 有寫出 Deploying to iPhone 之類的訊息,

但 iPhone 上出現了 Untrusted Developer 的訊息後,就失敗了:

 

解決方法很簡單,

在 iPhone 上到 Settings > General > Device Management,

這邊可以看到開發者的帳號,點下去:

 

可以看到下面列出了這個開發者 (也就是我) 的 app,

說明上寫著除非信任這個開發者,否則所有的 app 都不能執行。

按下 Trust 鈕繼續吧:

 

這邊再次警告只要信任了這個開發者,

這個開發者寫的所有 app 都可以被執行。

按下 Trust 繼續:

 

現在在 iPhone 上執行剛裝好的 app,就沒有問題囉:

 

總算可以將 app 安裝到 iPhone 上測試了,

離 app 上架到 Apple Store 又近一步囉~^^/

 

參考資料:

Cordova iOS Platform Guide

How to install cordova(phonegap) ios app to device via cli and not via xcode

error installing ios-deploy

Deploying to a Device without an Apple Developer Account

Failed to create provisioning profile

(本頁面已被瀏覽過 6,095 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料