记录一下unity 打包Xcode以及上传testflight的一些坑---xocde11上传App Store connect-testflight(ipa上传至Apple服务器- -)的坑

接上文

写在最前,开发的话,真的没事不要升级最新的系统,最新的开发工具,真的一堆坑,而且解决起来还贼麻烦,因为新系统可能用的人不多,所以文档搜索起来也麻烦- -

Xcode11下上传testflight

1 先说一下网络问题吧

如果报什么连接不到Apple服务器啊,什么需要将端口port设置为443啊,吧啦吧啦的。先在网络偏好里将当前使用的网络代理给关掉,可能是代理的锅。记录一下unity 打包Xcode以及上传testflight的一些坑---xocde11上传App Store connect-testflight(ipa上传至Apple服务器- -)的坑_第1张图片

然后还是连接不上的话就尝试更换网络,比如手机热点,然后多尝试几次,总能连接上Apple的服务器,总能提交你的ipa。

2好了,最关键的问题来了!!!

当你设置了网络之后还是没法把你的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的应用商店搜索到了这个玩意并下载:记录一下unity 打包Xcode以及上传testflight的一些坑---xocde11上传App Store connect-testflight(ipa上传至Apple服务器- -)的坑_第2张图片

打开之后登陆你的开发者账号,然后将你在xcode里打的ipa文件直接拖拽进这个app内,记录一下unity 打包Xcode以及上传testflight的一些坑---xocde11上传App Store connect-testflight(ipa上传至Apple服务器- -)的坑_第3张图片稍等几秒就会检测完毕像这样:记录一下unity 打包Xcode以及上传testflight的一些坑---xocde11上传App Store connect-testflight(ipa上传至Apple服务器- -)的坑_第4张图片

然后点击交付就ok了,然后就会出现进度条,直到上传成功,如果上传失败。尝试切换一下网络,我在传的时候也是各种不ok,最后切换手机热点上传,速度嗖嗖的,上传成功后后就可以在开发者账号官网内查询到你上传的app。

3 开发者网站 App Store Connect

在Apple developer网站上点击跳转至App Store Connect至如下页面然后点击我的app:

记录一下unity 打包Xcode以及上传testflight的一些坑---xocde11上传App Store connect-testflight(ipa上传至Apple服务器- -)的坑_第5张图片

然后找到你将要发布的app点击进去,

记录一下unity 打包Xcode以及上传testflight的一些坑---xocde11上传App Store connect-testflight(ipa上传至Apple服务器- -)的坑_第6张图片

然后构建版本,选择你上传的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后台播放音乐
}

 

你可能感兴趣的:(记录一下unity 打包Xcode以及上传testflight的一些坑---xocde11上传App Store connect-testflight(ipa上传至Apple服务器- -)的坑)