記錄一下unity 打包Xcode以及上傳testflight的一些坑---untiyplayersettings

unity內設關於playersettings的一些選項。

 

寫在最前:由於手欠,開發時將公司電腦的系統升級到了最新的macOS Catalinna 10.15.2,於是打開untiy2017導入項目時,發現不管導入什麼格式的音頻資源,unity都會卡死- -。也是懵逼了,後來查了資料,也不曉得是unity的鍋還是macOS的鍋,總之把unity升級到2018以後的版本就會解決這個問題。。

 

1後臺機制

(但是unity默認的按home鍵時會暫停遊戲,此處的設置只能設置按home鍵時程序是掛起suspend還是退出exit還是自定義custom),但是嘗試做一個後臺播放音頻的app時,發現無論怎麼自定義,程序都會在點擊home鍵時暫停app。mono的update那些函數並不會執行,unity機制下的所有代碼似乎都會停止。音頻播放隨之就會停止,網上搜索了很多辦法,例如在xcode工程里加入如下代碼,切後臺時,當前音頻會繼續執行,但是播放完當前曲目時並不會自動播放,因爲自動播放的那套代碼還是C#寫的,始終運行在unity的機制裏,遂放棄。這是代碼:

    //unity後臺播放音樂
    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
    [[AVAudioSession sharedInstance] setActive:YES error: nil];
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];

2 關於splash

pro版是支持自定義splash的,但是操作過程中發現。設置unity的logo圖片時,自定義圖片都會被縮放居中,以logo形式去顯示。由於我想要的是一個全屏顯示的效果,折騰了一番之後遂放棄,有哪位大哥知道如何在unity內設置一個全屏的splash頁面的請不吝賜教。於是在後面的xcode工程中設置。unity裏面只設置了icon。splash那一欄統統清空不設置。

3關於xxxshader的錯誤

由於工程最初是在Android下,playersettings-othersettings下的graphics apis默認的是metal,並沒有隨着我切換iOS平臺而切換過來,所以打包運行會報錯。原因是iOS並不支持metal,此處應設置爲opengles3。如圖:

4包名及公司名的設置

Company Name和Product Name最好直接設置爲在蘋果開發者賬號中申請的那個,這樣打完xcode包之後會直接生成對應的Company Name和Product Name,方便打ipa包。(當然打包前還是仔細對照一下看看對不對- -)

5打包 Build

build時如果之前build過,在對應目錄打包時會有提示問你是要replace(替換)append(追加),例如xcode裏有自定義的c,c++代碼。這裏選擇append不會刪除之前的代碼,不過如果打包有什麼異常的話,這裏建議直接點replace,生成新的包。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章