2014年5月29日 星期四

Gamesalad Viewer Ad-hoc實機測試(Ad-hoc testing on an iOS device)


其實原本並沒有特別打算針對這個主題進行紀錄的,
一來是gamesalad官網其實就有完整的說明了(請點我),
雖然是英文的,
但步驟並不多,
二來整個過程其實真的不困難,
gamesalad官方已經把流程簡化到最簡單了,
其實就跟一般用xcode開發其他的app要裝上實機測試的步驟幾乎一樣,
不過看到有網友留言說希望能介紹一下,
那就紀錄一下吧.
也方便之後自己查看^^

簡單說就是要把gs viewer這個app安裝進你要測試的iOS device中,
之後就可以用wifi無線(需要在同網段)的方式
傳輸檔案到已經安裝了gs viewer的iOS device進行實機測試,

只要安裝過一次,
以後就可以在開發機的gamesalad中按一鍵就發佈同時測試多台設備.
這個東西叫做Ad-hoc testing on an iOS device,

ad-hoc其實有在玩掌機遊戲的人應該很熟,
就是pap或psv,3ds這些掌機所謂的面連^^
機器對機器直接連線,

那這邊用在gamesalad實機測試的情形,
就是開發機直接對要測試的iOS device(iPad,iPod,iPhone)對連,
把開發的檔案直接傳送到iOS device中,
這個很重要,
因為開發機是電腦,
效能絕對是比手持裝置好非常多,
一定要隨時測試在實機上運作的情形,
以免做到後期發生實機跑不動導致crash或者會lag的慘案

因為gs viewer是一個由xcode產生的開發用app,
所以要透過特別的安裝步驟才能裝進你的iOS device
如果你有開發其他app的經驗,
那其實過程是一樣的.

以下是安裝gamesalad viewer到iOS device的步驟

1.先確認你已經擁有apple的開發者帳號,
並且完成Certificate跟Provisioning Profile的申請.
此外,
需要在apple developer後台登錄你的iOS device測試機.
不管是用哪一套開發工具,要做實機測試都需要這個動作,
不過這篇文章主要在介紹gamesalad viewer,
Certificate跟Provisioning Profile這邊就不多介紹.


apple developer後台這張圖可以看到我有登錄三個測試機iOS device,
ipad2,iPod touch4跟iPod touch5.

2.連接你的iOS device到你的mac主機,
就..插上線接上.

3.下載並解壓縮gs viewer,連結在官網的最下面


4.執行解壓縮後的GameSalad Viewer.xcodeproj 檔案,
它是一個已經編譯好的xcode檔案.


5.開啟後把bulid的對像選擇你的iOS device,
如果你目前沒有iOS device的話也可以選擇bulid在一個模擬器上.


6.等待bulid跑完,你的iOS device裡就會多出一個gs viewer的app.


7.要實機測試的話,
只要確定你的iOS device有跟mac在同一個無線網段下,
開啟gs viewer app.

mac端的gamesalad就會多出一顆preview on xxx(iPad,iPod,iPhone)的按鈕


按下去就會使用ad-hoc無線傳輸的方式,
在你的iOS device上開啟你的gamesalad遊戲了!
以後要實機測試的話,
也不需要再接傳輸線了,
只要開啟這個gs viewer,
就可以一鍵無線測試了,很方便:)

實機測試的動作愈早開始愈好,
可以避免掉後期發生各種稀奇古怪狀況的危險.
而且這個測試其實也還不算最終測試,
等遊戲整個製作好,
封裝完成之後,
一定還是要在上傳到iTunes審查之前,
把遊戲完整的安裝到iOS device上測試一遍會比較好.
有的問題透過這個gamesalad viewer是有可能看不出來的.
根據我的經驗,基本上是一定會測出問題要再修改的...^^"

以上就是gamesalad viewer的我流簡單說明,
跟官網的有點不一樣,
提供給大家參考,
希望對有興趣使用gamesald開發遊戲的朋友有幫助.

16 則留言:

  1. 作者已經移除這則留言。

    回覆刪除
  2. 感謝了!確實是不難,主要是因為xcode這種東西對我來說,介面太複雜太苦手,所以變困難了(光想到上面那個objective-c語言我就搖頭),剛剛試了一下,出現了無數的紅色驚嘆號,build失敗!不知是否和必須先有Certificate跟Provisioning Profile,還有測試機需先行登入才能成功有關(但我iphone有jb),那!只好就先付錢吧^^!

    回覆刪除
    回覆
    1. 對,要安裝gs viewer實機測試一定要有開發者帳號,
      並且搞定Certificate跟Provisioning Profile以及登錄你的iPhone為測試開發裝置,

      不過用模擬器的話不用,
      你急著測的話可以把bulid的對像先設為模擬器開一個iphone或ipad的
      不過模擬器其實測不太出實機有的問題.
      畢竟gamesalad本身就有previwe了.
      模擬器跑出來的效果跟那差不多.

      刪除
  3. 我的遊戲要申請上架了,最後還想請教的是,您的企鵝是做成universal版本的,這在gamesalad上要如何才能做到呢? 網上是有影片和些許資料,不過還是不太能了解,,在用gamesalad的網頁生成Xcode專案時,確是有三個選項如填滿,留空隙等等選項可以選擇,,但這都不是做成universal的正確方法,,不知您能稍為說明一下要如和才能把app做成universal呢?謝謝。

    回覆刪除
    回覆
    1. 先恭喜你啊!
      現在是在in review階段了嗎?

      關於universal的製作方式,
      是挺麻煩的,
      不是把那些選項勾一勾就能輕鬆完成的,
      選項是要勾沒錯,
      但是在遊戲中該實際手工製作調整的工作還是需要人工去做.

      然後針對每個解析度分別去製定各物件在各解析度應該呈現的位置與尺寸,
      如果只是iOS的話universal倒還算容易(但不代表輕鬆),
      主要就是當解析度是1024x768(iPad)的時候
      以及是320x480(iPod touch4 or iPhone4)或
      320x568(iPod touch5 or iPhone5長版)
      每個物件的位置都要分別指定.

      如果還要對應android的話會更頭痛
      解析度爆炸多.

      當然每個創作者對於universal的定義不同,
      有人可能覺得旁邊有黑邊沒關係,
      只要有某一邊撐滿畫面就好,
      不追求完美的話.
      的確只要靠打勾就可以達成,
      你可以比較看看三種打勾撐滿畫面的方式,
      基本上效果各有不同,
      但都是會有些缺陷跟問題.

      據我所知大部份開發者所謂的移植android解析度有重做都是騙人的,哈哈
      都是用偷懶的letter box留放大後留黑邊的方式,
      這個不管什麼開發工具都是一樣會遇到的問題,
      用unity也是一樣的.
      要做到完美的對應該解析度,
      就必須人工一個一個去設定的.
      整個過程很麻煩又累人.

      可以參考我之前提的這篇有紀錄到一些心得
      http://kirafugames.blogspot.tw/2013/12/0026-amazon-kindle-android.html#more
      "開發日誌-0026 從iOS到amazon kindle & android跨平台"

      刪除
    2. 前面好像沒有回答到重點^^"
      if(scene width=1024){
      物件的位置
      if(scene width=320 &hight=480){
      物件的位置
      }
      原理大概是這樣.以此類推一個一個去設定,
      然後用放大填滿的打勾設定.

      刪除
  4. 懂了!原來所謂的universal是這麼生成的,不知道用其他的工具甚至用原廠的Xcode是不是也是用這原理,這讓我想到,也可以不改物件要呈現的尺寸,相同物件直接畫不同解析度的圖丟入,設定在哪個裝備上就顯現哪個圖一樣也可以,只是容量應該會大大的暴增。

    光想像已可知道是一件很煩很煩的工作了,遊戲做完,精神一放鬆,根本提不起勁再繼續這樣幹,看來先上架iphone版的就好了,等以後更新時再做成universal吧^^。

    您的答覆都很讓人好理解,,從不會操作gs,一點程式概念什麼都沒有的0開始,看到這個網頁,一直問些觀念問題,,到最後作品生成準備上架,真是謝謝您了,應該以後還會繼續麻煩您喔^_^。

    回覆刪除
  5. 作者已經移除這則留言。

    回覆刪除
  6. 可以請問一下
    我的電腦是APPLE的
    我用wifi連到我的android手機
    但是不管怎麼連都會出現
    Could not resolve address.
    A network problem occurred.
    請問這要怎麼設定???...

    回覆刪除
    回覆
    1. android有可能出現這個網路錯誤問題,
      如果在同網域下仍然出現這個訊息,
      官方是說這無解,只能用usb來傳檔案了...^^"

      刪除
  7. 我又有新問題的....
    又超多問題的QAQ
    不知道找誰問...
    請問Kira大大這個要怎麼處理...
    這次我換WIN版把的遊戲變成APK出現的問題..
    Signing error
    JAR signed Warning No -tsa or -tsacert is provided and this jar is not
    timestamped.
    Without a timestamp, users may not be able to validate this jar after the
    signer certificate's expiration date (2045-06-02)or after any future
    revocation date
    圖:http://imgur.com/uRu7Ar1
    想在手機上玩自己做的遊戲真的超難的>..<

    回覆刪除
    回覆
    1. 別的論壇是說JAVA降版就可以解決問題..
      降版後很順利的產生了APK檔..
      但是放到手機的時候卻出現
      "應用程式尚未安裝"的訊息...
      請問這個要怎麼辦QAQ..
      感覺離成功不遠了....

      刪除
    2. 這些問題我都沒有遇到耶@@
      不過應用程式未安裝感覺是不是你沒有sign你的apk啊.

      抱歉這幾天在趕東西,忙到幾乎沒時間上來看@@

      刪除
  8. 請問「封裝完成之後,把遊戲完整的安裝到iOS device上測試一遍會比較好」,具體是怎麼操作呢?我沒經過這步驟就上架,也想測試看看。

    回覆刪除
    回覆
    1. 在itunes開發者後台中新建一個Provisioning Profile,然後裝置選擇你自己的測試機,然後打包的時候選擇它,就可以安裝進測試機了.

      刪除
    2. 作者已經移除這則留言。

      刪除