自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

iOS游戲開發(fā)和提交的一些「坑」和「解決方案」

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

[[156840]]

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

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

iOS設(shè)備出現(xiàn)本地存檔丟失

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

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

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

Apple Watch 版本提交失敗

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

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

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

Apple Watch 版本審核被拒

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

原因:在iPhone上的Apple Watch的這個應(yīng)用內(nèi),我們的游戲名稱顯示為codename:xxx ios。

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

單機(jī)游戲內(nèi)購(IAP)被破解

描述:根據(jù)后臺的Counter報告,我們確信我們的單機(jī)游戲內(nèi)購被破解了。

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

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

Apple Watch OS2 運行時找不到圖片

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

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

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

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

描述:同標(biāo)題。

原因:未知,可能跟Xcode升級到7有關(guān)。

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

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

iOS 9 以下的設(shè)備不支持ReplayKit導(dǎo)致無法啟動游戲

描述:同標(biāo)題。

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

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

Xcode 7以上默認(rèn)不支持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以上為了安全考慮默認(rèn)只支持https請求。

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

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

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

原因:由于iOS 9引進(jìn)了多任務(wù)處理,所以iOS應(yīng)用必須設(shè)置其是否要求全屏顯示。

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

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

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

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

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

責(zé)任編輯:chenqingxiang 來源: CocoaChina
相關(guān)推薦

2011-04-08 09:13:13

游戲跨平臺iOS

2021-06-08 06:13:16

React開發(fā)開發(fā)技術(shù)

2021-06-30 07:19:35

微服務(wù)業(yè)務(wù)MySQL

2021-12-28 10:43:09

Hbase索引方案

2011-02-24 11:15:45

應(yīng)用商店

2015-07-28 14:39:02

IOS技巧

2018-02-06 11:10:27

iOS開發(fā)Xcode快捷鍵

2017-11-03 09:40:27

數(shù)據(jù)庫MySQLMHA

2013-07-18 16:16:51

2013-08-21 13:47:29

PhoneUDIDUUID

2017-10-13 12:23:17

蘋果

2009-07-21 09:29:27

iBATIS使用

2013-08-20 13:40:04

獨立游戲開發(fā)者移動應(yīng)用PR經(jīng)驗移動應(yīng)用營銷推廣

2012-12-24 14:51:02

iOS

2018-02-04 22:29:21

iOS開發(fā)

2014-05-13 09:55:13

iOS開發(fā)工具

2015-07-28 14:52:35

IOS技巧

2019-10-25 21:54:55

Python 開發(fā)編程語言

2009-08-26 18:11:01

ibmdwDB2

2013-03-29 09:03:59

iOS實用小代碼iOS開發(fā)
點贊
收藏

51CTO技術(shù)棧公眾號