1.開發(fā)環(huán)境
MAC環(huán)境:Xcode環(huán)境 7.2.1
Unity環(huán)境:Unity5.3
2.基本說明
首先,我說一下,這是我在對Unity發(fā)布到IOS的實際使用中,總結(jié)出來的經(jīng)驗!如果你想一次就發(fā)布成功,如果你想少走彎路,請仔細看我的說明。因為坑比較多!
由于Unity發(fā)布到IOS,是以Xcode工程的形式發(fā)布到MAC中,所以,在發(fā)布的時候需要注意以下幾點:
1. 發(fā)布的工程,需要以真機進行調(diào)試
(我發(fā)布的時候,選擇發(fā)布unity到模擬器版本,發(fā)布后無法用模擬器運行)
2. Unity發(fā)布真機:Build Settings->Player Settings->Other Settings->SDKVersion 選擇真機(不知道是哪個,可以有道翻譯一下)
3. Build Settings->Player Settings->Other Settings->ScriptingBackend 選擇IL2CPP支持64位
4. Build Settings->Player Settings->Other Settings->TargetDevice(這個如果只支持Iphone就選擇只有Iphone,如果支持Ipad,則發(fā)布到Itunes的時候,需要提交Ipad的相關(guān)信息如ipad截圖等。否則無法上線)
5. Build Settings->Player Settings->OtherSettings->Optmization->Api Compatibility Level 如果使用了文件一系列的操作,選擇.NET 2.0
6. Build Settings->Player Settings->Company Name 與Product Name的名字不要胡寫,審核不通過不要抱怨!?。?!
7. Build Settings->Player Settings->Other Settings->BundleIdentifier不要胡寫,審核不通過不要抱怨?。。?!
8. 發(fā)布前,注意需要把ICON與Splash Image設(shè)置好。要不發(fā)布后,還得重新發(fā)布,很麻煩。(Build Settings->Player Settings->Default Icon也要設(shè)置好)
發(fā)布到IOS中后,是一個Xcode工程!
現(xiàn)在,發(fā)布完成后,我們需要注意:
1. 這個程序只有真機可以調(diào)試。(如果發(fā)布為模擬器版本,那么在模擬器下應(yīng)該是無法運行的)
2. 如果發(fā)布為模擬器版本,則該工程無法在真機上運行!
3. 如果沒有開發(fā)者賬號的童鞋,此刻可以百度(Xcode7 無證書真機調(diào)試)按照其中的方法,真機調(diào)試Unity程序
4. 如果有開發(fā)者賬號的童鞋,可以在蘋果開發(fā)者平臺,導(dǎo)出真機調(diào)試證書進行真機調(diào)試
證書有很多,需要注意:
真機調(diào)試證書 (下載證書的時候,需要把測試設(shè)備的UDID加入進去)
沙盒測試證書 (該證書沙盒測試測試成功,至于是否可以提交審核上線,沒測試)
發(fā)布證書(該證書用于上線)
其中每個證書都不一樣,需要注意的就是,一個證書,請在自己電腦下申請一個鑰匙串再上傳生成證書。不要一個鑰匙串生成很多證書。
如何生成證書,以及如何使用,百度一下具體的操作。這里只講坑!?。?!
坑1:有些童鞋的證書,生成后,下載到電腦里就是過期的,那么請點擊一下系統(tǒng)跟證書,其中有一個系統(tǒng)證書是過期的,這是因為蘋果在2016年2月份以后,需要所有的設(shè)備都支持64位系統(tǒng),所以,如果你的電腦只有一個這個過期的證書,那么百度這個證書名字,下載新的證書。 如果你電腦有兩個相同的證書,一個過期,一個沒過期,那么直接刪除那個過期的證書。這個證書的名字是:apple worldwide developer relations vertification authority
坑2:程序?qū)懲辏瑴y試完成,上傳到APP Story的時候,使用 XCODE上傳工程,則,顯示上傳成功,其實根本就沒有上傳成功
解決方案:使用Application Loader 打包IPA后上傳。(具體方法度娘)
坑3:Unity不要使用prime31 storekit 破解版的內(nèi)購插件!
原因:因為這個插件,現(xiàn)在網(wǎng)上最新的也就是2014年的。 那時候,蘋果還不要求你的程序必須都支持64位系統(tǒng)。所以,如果你使用這個插件,沙盒測試是可以測試成功的,但是你就是提交不上去。?。?使用64位編譯器編譯,這個插件怎么折騰 也無法編譯過去。除非你是土豪,70美金買這個付費版。那我沒話說。
這里我推薦一個蘋果內(nèi)購插件:免費的,而且可以用。
具體下載鏈接:https://pan.baidu.com/s/1pLUXLGn
使用方法:將AppStore預(yù)置件拖入到場景中,在你要購買的按鈕上綁定BuyBtn腳本
Iap ID 輸入你內(nèi)購的ID(在ITunes中添加的id) ObjName (購買成功后通知的物體名)
Fun Name(購買成功要通知的方法) 其實這就是一個SendMessage
看到這里,你還要注意:
發(fā)布到Xcode后,使用這個插件還是無法編譯通過? 為什么呢 因為這個插件是使用的手動ARC釋放,不是使用蘋果的自動ARC釋放,所以,你需要在Xcode中設(shè)置這個插件中的類為不使用ARC釋放
這里需要注意:只對3個文件不使用ARC 如果你對整個工程都不使用ARC,那么,這個程序直接崩潰
在Xcode中 選擇項目的Tagets->選中BuildPhases,在Complie Sources中選擇SKProduct LocalizedPrice 與InAppPurchaseManager雙擊他們,在后方輸入-fno-objc-arc(如果找不到這個文件可以手動將這兩個文件添加進Complie Sources,或者直接編譯,不成功后,這里就出現(xiàn)這兩個文件了)
內(nèi)購測試:
坑1:一定要填寫好銀行信息,才能內(nèi)購測試,否則,無法測試 銀行信息需要咨詢銀行你的聯(lián)行號!
坑2:你的信用卡 包括你購買開發(fā)者賬號,在中國,必須是雙幣種信用卡,全幣種的不能付費與收款
坑3:內(nèi)購添加沙盒測試賬號?。ㄍ梁勒垷o視)
發(fā)布注意:
隱私政策網(wǎng)址:百度文庫找一篇然后輸入連接就可以
公司網(wǎng)址:填寫你個人博客的地址就可以
UnityADS廣告:
這東西吧,你添加進來以后,就不好刪了,如果添加后,輸入好在unity中的ID就可以了 發(fā)布的時候,把測試按鈕點擊false
Unity 發(fā)布到Android的注意事項開發(fā)環(huán)境
Unity端 Unity5.3
Android端 eclipse
廣告SDK:百度廣告SDK
總體說明
首先,我說一下,這是我在對Unity發(fā)布到android的實際使用中,總結(jié)出來的經(jīng)驗!如果你想一次就發(fā)布成功,如果你想少走彎路,請仔細看我的說明。因為坑比較多!
由于Unity發(fā)布到andorid如果你不接廣告,那么直接發(fā)布就可以,如果你要接其他SDK或者是廣告,那么需要以google android project方式發(fā)布成android工程:
1. Build Settings->Player Settings->Other Settings->ScriptingBackend 選擇Monox
2. Build Settings->Player Settings->OtherSettings->Optmization->Api Compatibility Level 如果使用了文件一系列的操作,選擇.NET 2.0
3. Build Settings->Player Settings->Company Name 與Product Name的名字不要胡寫,審核不通過不要抱怨.
4. Build Settings->Player Settings->Other Settings->BundleIdentifier不要胡寫,審核不通過不要抱怨.
5. 發(fā)布前,注意需要把ICON與Splash Image設(shè)置好。要不發(fā)布后,還得重新發(fā)布,很麻煩。(Build Settings->Player Settings->Default Icon也要設(shè)置好)
6. Build Settings->Player Settings->PublishingSettings->Keystore設(shè)置好,不設(shè)置的話是debug模式,很多平臺無法發(fā)布。當然,也可以在eclipse中進行包簽名
7. 64為的unity好像無法設(shè)置Splash Image 當然也有可能是我機器的問題
8. 廣告啊,付費什么的,不要使用第三方 unity包.(因為第三方包,打包的時候,包名與你的工程名稱并不對應(yīng),你發(fā)布后,icon與splash也會無法顯示,這個你需要修改AndroidManifest .xml的設(shè)置,有很大可能SDK中的功能也無法使用)
Eclipse中的坑
1.Android SDK與Andorid開發(fā)插件的版本需要一致.
如果不一致,你新建的工程,src中與res-> layout中沒有文件(百度下載一致的工程文件也可以,不過需要注意不要太舊,要不與unity發(fā)布的SDK版本不對應(yīng))
2.Unity調(diào)用Android的包, 你寫了一個SDK想讓Unity調(diào)用,需要注意的是:打成Jar包的時候,只打src 與res文件夾! 因為5.0以后版本的unity 如果你全打包,那么會有很多.classes文件,unity是無法編譯通過的
3.android的包名需要與Unity中的一致.
4.android-support-v4 需要與sdk中的一致,否則eclipse無法編譯通過
5. 注意第三方SDK:
這點需要特別說明,我第一次調(diào)用百度SDK的時候,廣告都介入完畢,怎么都調(diào)用不出來。起初我還懷疑是UnityPlayerActivity修改了Activity的方法,所以無法調(diào)用。后來仔細觀察,發(fā)現(xiàn)百度的Demo中,將顯示廣告的方法寫在了 Print Log方法中,特別的坑。所以大家需要注意!
6. 360平臺你必須使用它的廣告SDK,而且還不能帶其他廣告的SDK.包括ADS,ADS關(guān)閉很麻煩,需要刪除編譯器中的ads模塊 unity也是坑
7. Unity有可能出毛病,有時候,你總發(fā)布,總發(fā)布不過去,你重啟下unity就能發(fā)布過去。