日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
iOS游戲開發(fā)和提交的一些「坑」和「解決方案」

鑒于在iOS類的游戲開發(fā)和提交審核的過程中老是遇到一些坑,為了避免在同一個坑里跌倒兩次,故在產生了記錄之的想法。經過了幾個月,已經積攢了十個坑,現在將其共享出來,以后將會持續(xù)更新。

創(chuàng)新互聯建站是一家專注于成都網站制作、網站設計、外貿網站建設與策劃設計,北鎮(zhèn)網站建設哪家好?創(chuàng)新互聯建站做網站,專注于網站建設10多年,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:北鎮(zhèn)等地區(qū)。北鎮(zhèn)做網站價格咨詢:18982081108

我已經將本文markdown源文件放在了Github上,通過Fork和P&R來提交你的「坑」和「解決方案」,幫助我完善之。你也可以通過關注這個項目對這些「坑」保持持續(xù)關注。

iOS設備出現本地存檔丟失

描述:在蘋果設備上,當系統提示存儲空間已滿時,發(fā)現本地的存檔會丟失。

原因:在默認情況下,本地存檔放在了/Library/Caches下面,根據蘋果官方的描述,放在/Library/Caches目錄下的任意文件將在系統彈出存儲空間將滿的警告時被系統清空。

解決方案:將所有數據和熱更新文件放在/Library/Application Support目錄下,此目錄下的所有文件在收到空間將滿警告時不會被移除。此外,這還避免了放在Documents目錄下可能會被蘋果在審核中干掉的風險。

Apple Watch 版本提交失敗

描述:***向AppStore提交帶Apple Watch的版本,提示失敗,導致提交無法繼續(xù)。

原因:Apple Watch版本的AppIcon的PNG圖帶了Alpha通道,故被拒。

解決方案:去除Apple Watch版本的所有AppIcon的PNG圖的Alpha通道。

Apple Watch 版本審核被拒

描述:Apple Watch版本提交后,在蘋果審核的階段被拒了。

原因:在iPhone上的Apple Watch的這個應用內,我們的游戲名稱顯示為codename:xxx ios。

解決方案:發(fā)現在Watchkit Extension的Info.plist里,Bundle name為默認的PRODUCT_ID,這就是我們的codename,將Bundle name修正為游戲名稱即可。需要注意的是Bundle name不等同于Bundle display name,前者用于系統的設置的一些顯示名稱,后者用于在Launcher的App的名稱顯示。

單機游戲內購(IAP)被破解

描述:根據后臺的Counter報告,我們確信我們的單機游戲內購被破解了。

原因:一個高度可能的原因是我們把訂單編號存在本地的一個緩存文件里,每次去蘋果服務器詢問訂單是否成功時,先去此緩存文件內查找是否有相同的訂單編號,若找到則說明訂單有重復發(fā)。但是一旦玩家刪除了這個緩存文件,則可反復利用一個已經支付成功了的訂單號來反復刷了。

解決方案:最穩(wěn)妥的解決方案是將訂單編號存在服務端,然后對服務端的通信進行加密。我們采用了一種不走服務器的方法:即在***充值成功時,給金幣的緩存文件添加一個標記位(負號),然后查詢訂單緩存文件時,先去查詢此標記位,若找到標記位,則說明之前充值過,訂單緩存文件應有內容,如果訂單緩存文件內容為空,或找不到有意義的訂單編號,則說明玩家作弊,此次充值金幣將不會加上(作弊懲罰)。由于緩存文件事先已被AES加密過,所以玩家很難去找到該標記位。

Apple Watch OS2 運行時找不到圖片

描述:Apple Watch OS1的版本一行代碼沒改,但運行起來卻提示圖片無法找到。

原因:WatchKit App 下的Images.xcassets里的圖只設置了1x的圖片,2x和3x沒有設置。

解決方案:設置好2x和3x的圖片。

用Application Loader 上傳二進制時報錯ERROR ITMS-90168: "The binary you uploaded was invalid."

描述:同標題。

原因:未知,可能跟Xcode升級到7有關。

解決方案:打開命令行,輸入以下代碼:

 
 
  1. cd ~/.itmstransporter 
  2. rm update_check* 
  3. mv softwaresupport softwaresupport.bak 
  4. cd UploadTokens 
  5. rm *.token 

iOS 9 以下的設備不支持ReplayKit導致無法啟動游戲

描述:同標題。

原因:ReplayKit是iOS9才引入的framework,所以無法在iOS9以下的設備上使用。

解決方案:打開Xcode,在target的Build Phases下搜索ReplayKit,把ReplayKit.framework的Status由Require改成Optional。同理,在遇到低版本iOS系統不支持的情況,比如iOS8以下不支持CloudKit,一律將framework的Status由Require改成Optional即可。

Xcode 7以上默認不支持http請求

描述:Application Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.。

原因:Xcode 7以上為了安全考慮默認只支持https請求。

解決方案:打開Xcode,編輯Info.plist或選中target的Info欄,新增字段App Transport Security Settings,將其內鍵Allow Arbitrary Loads設置值為YES。

Xcode 7 ERROR ITMS-90474: “Bundle Invalid…”

描述:提交二進制文件時報錯:ERROR ITMS-90474: "Bundle Invalid. iPad Multitasking support requires there orientations: 'UIInterfaceOrientationPortrait,UIIinterfaceOrientationPortraitUpsideDown,UIInterfaceOrientationLandscapeLeft,UIInterfaceOrientationLandscapeRight'. Found 'UIInterfaceOrientationPortrait' in bundle.。

原因:由于iOS 9引進了多任務處理,所以iOS應用必須設置其是否要求全屏顯示。

解決方案:打開Xcode,選中target,在General一欄,將Requires full screen勾選上。

Xcode 7 ERROR UnityAds.Bundle ITMS-90535 Unexpected CFBundleExecutable Key

描述:提交二進制文件時報錯:ERROR UnityAds.Bundle ITMS-90535 Unexpected CFBundleExecutable Key。

原因:老版本的UnityAds.Bundle里包含CFBundleExecutable字段,蘋果在Xcode7之后會對其進行驗證。

解決方案:Xcode內搜索UnityAds,找到UnityAds.Bundle里的Info.plist,刪除其CFBundleExecutable字段即可,該字段在Xcode中顯示的名稱為:Executable file。


網站欄目:iOS游戲開發(fā)和提交的一些「坑」和「解決方案」
轉載來源:http://www.5511xx.com/article/dpigpih.html