接上文
写在最前,开发的话,真的没事不要升级最新的系统,最新的开发工具,真的一堆坑,而且解决起来还贼麻烦,因为新系统可能用的人不多,所以文档搜索起来也麻烦- -
如果报什么连接不到Apple服务器啊,什么需要将端口port设置为443啊,吧啦吧啦的。先在网络偏好里将当前使用的网络代理给关掉,可能是代理的锅。
然后还是连接不上的话就尝试更换网络,比如手机热点,然后多尝试几次,总能连接上Apple的服务器,总能提交你的ipa。
当你设置了网络之后还是没法把你的ipa成功上传至appstore connect,这时候发现,xcode11好像并没有上传的功能?好像并没有applicationloader.app?(也是搜索了一堆资料后发现的),到这里你可能也搜到了这篇文章:https://www.jianshu.com/p/031cec0feb1a
里面是有一个旧版的Application Loader供你下载使用,我最初也是这么弄的,但是将上文提到的app复制进xcode文件夹内之后还是无法上传,会出现巴拉巴拉的报错,后来继续百度,是用命令行去清除xcode的缓存,类似这样:
1、cd ~
2、mv .itmstransporter/ .old_itmstransporter/
3、"/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/itms/bin/iTMSTransporter"
但是我在终端敲了之后会报no directory or file的错误,似乎是xcode没有这个目标文件夹。就在我快放弃上传至appstore connect的时候,发现上文提到了:"苹果在Mac AppStore 发布了transporter 来代替Application Loeader,可视化上传更方便",于是便在mac的应用商店搜索到了这个玩意并下载:
打开之后登陆你的开发者账号,然后将你在xcode里打的ipa文件直接拖拽进这个app内,稍等几秒就会检测完毕像这样:
然后点击交付就ok了,然后就会出现进度条,直到上传成功,如果上传失败。尝试切换一下网络,我在传的时候也是各种不ok,最后切换手机热点上传,速度嗖嗖的,上传成功后后就可以在开发者账号官网内查询到你上传的app。
在Apple developer网站上点击跳转至App Store Connect至如下页面然后点击我的app:
然后找到你将要发布的app点击进去,
然后构建版本,选择你上传的app,然后吧啦吧啦一顿设置,就会提交beta版本的审核。之后点击添加群组,输入待测者的Apple ID,选择你构建的版本,之后点击确定,等到版本审核通过之后,待测者就会收到Apple的邮件邀请。之后在手机上下载testflight这个app,就可以参与测试了。
好了,到这里就算是完成了unity-xcode-appstore connect-testflight的全部设置。第一次搞iOS的话,简直可以说是经历了九九八十一难(算上把mac格式化重装系统开始- -)。然后能想到的一些坑就这些,也全都记了下来,有问题再说吧。就这样。
写在最后。写在xcode生成的unitycontroller.mm文件里的,可以让app退出后台时播放当前曲目的代码(也仅限于当前曲目,播放完毕之后并不会继续播放,想实现完整播放器功能的话还是建议直接写一个原生的iOS应用,而不是通过unity),代码如下:
#include
- (void)startUnity:(UIApplication*)application
{
NSAssert(_unityAppReady == NO, @"[UnityAppController startUnity:] called after Unity has been initialized");
// we make sure that first level gets correct display list and orientation
[[DisplayManager Instance] updateDisplayListCacheInUnity];
UnityLoadApplication();
Profiler_InitProfiler();
[self showGameUI];
[self createDisplayLink];
UnitySetPlayerFocus(1);
//unity后台播放音乐
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
[[AVAudioSession sharedInstance] setActive:YES error: nil];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
//unity后台播放音乐
}