2012年10月4日 星期四

iOS6 Game Center authenticate 強迫以直式顯示登入劃面,橫式Game app 解決方法

把手邊的Game app從iOS5要升級到iOS6 並支援iPhone5,
在Game Center SDK上的升級問題還不少,
首先遇到的是登入Game Center的畫面改為全螢幕且強迫為(Portrait)直式的登入Dialog,

原本是只有支援(Landscape)橫式的Game App,一執行到check authenticateLocalUser 就當掉,
以下是解決的方法

在AppDelegate裡加入以下function
isGCAuthd要自己先在AppDelegate中定義為BOOL
其中isGCAuthd是用來判斷是否執行完成登入動作(不論是否登入),這個function的用意是在未完成登入時讓程式允許直式顯示,當完成登入後不允許(Portrait)直式顯示。

接下來就是要讓執行完登入後將isGCAuthd設為YES,如下程式片段:
利用authenticateWithCompletionHandler的callback function來將appDelegate.isGCAuthd 設為 YES;

以上修改即可讓程式順利執行。

--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
請叫我 喬巴船長  ><"
「保持專業」與「發覺創意」最重要
只要人們繼續追求自由的答案 這一切的一切將永不停止
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

解決 XCode Error "Could not change executable permissions on the application."

在做完Simulator測試後要,正打算進行Device測試,然後就可以快樂的submit到ITC審查

但是確出現了以下的訊息:

天呀! 這是什麼erro呀,要從何下手呢!!
看來只能從Device log下手查看在device install時出了什麼問題,找到了在chmod時發生錯誤,應該是找不到目錄或檔案


此時我回想了一下,目前版本的Source是重新建立的,並不是沿用舊Source,雖然Bundle ID一樣,但Project Name不同,
而在Device上還保有舊版的app,所以可能是因些讓xcode 找不到正確的app進行chmod指令。

因此我先做個實驗,先不修改Project Name,我先在Device上把舊版的app刪除後重新安裝新版app,果然沒有問題,可以正常安裝執行。

為了確保舊版的使用者在更新後能正常使用,我再重新由App Store上安裝舊版的app,然後再回到新版本的Source上,把Project Name 修改成與舊版本Source本相同,
再透過xcode安裝新版app,這次可以順利執行了。

所以有此可以瞭解app的安裝目錄編碼與Project Name有相當大的關連。