uni-app appstore上架审核报错 request:fail abort statusCode:-1

uni-app appstore上架审核报错 request:fail abort statusCode:-1

开发环境 版本号 项目创建方式
Windows win10 HBuilderX
iOS IOS 14

示例代码:

uni.getNetworkType({
success: (res) => {
console.log(res.networkType);
if(res.networkType == 'none') {
uni.showModal({
title: '没有网络',
showCancel: false
});
} else {
this.login();//login方法参见下面
}
},
fail: () => {
uni.showModal({
title: '请求网络失败',
showCancel: false
});
}
});

-------------------------------------------分隔线------------------------------------

let _config = {};
login({
return new Promise((resolve, reject) => {
options.complete = (response) => {
let statusCode = response.statusCode
if (statusCode === 200) { //成功
resolve(response);
} else {
reject(response)
}
}
uni.request(_config);
});
}).then((res) => {
if (res.data && res.data.code == 200) {
uni.switchTab({
url: '/pages/tabbar/home/home'
})
} else {
uni.showToast({
title: res.data.message,
icon: 'none',
duration: 5000
})
}
}, (err) => {
uni.showToast({
title: err.errMsg,
icon: 'none',
duration: 5000
})
})

操作步骤:

预期结果:

实际结果:

bug描述:

appstore上架审核报错:request:fail abort statusCode:-1

这个问题只有在iOS上架审核时才有,安卓端没有,使用TestFlight安装也没问题,就是上架审核有问题

不知道是什么问题,应用能检查到有网络,但是http请求没发出来就直接报错民。

代码大概如下所示,为了保密已经去掉了参数信息

这个是苹果审核团队反馈的结果


更多关于uni-app appstore上架审核报错 request:fail abort statusCode:-1的实战教程也可以访问 https://www.itying.com/category-93-b0.html

7 回复

老毛病了,官方一直没解决 我现在的办法是针对可重试的场景加重试,并且开发了原生请求插件,如果重试 N 次后还失败则通过原生插件继续请求,如果还不行就投降了

更多关于uni-app appstore上架审核报错 request:fail abort statusCode:-1的实战教程也可以访问 https://www.itying.com/category-93-b0.html


确实坑人 后面肯定得换框架了

回复 x123456789x: 您解决这问题了吗

楼主问题解决了了吗?我也遇到这样的问题

安卓端没有,使用TestFlight安装也没问题,就是上架审核有问题 这情况一般就是接口失败,是在国外网络环境下审核的。先排查接口服务是否支持国外访问。

感谢提醒,我这边再排查看看

在iOS App Store审核过程中出现request:fail abort statusCode:-1错误,通常与网络请求的安全策略或配置有关。以下是可能的原因和解决方案:

  1. ATS配置问题
    iOS默认要求使用HTTPS,且必须符合ATS(App Transport Security)标准。检查manifest.json中是否正确配置了ATS:

    "app-plus": {
      "distribute": {
        "ios": {
          "ATS": {
            "NSAllowsArbitraryLoads": false,
            "NSExceptionDomains": {
              "your-domain.com": {
                "NSIncludesSubdomains": true,
                "NSTemporaryExceptionAllowsInsecureHTTPLoads": false
              }
            }
          }
        }
      }
    }
    

    确保所有请求的域名均支持TLS 1.2+,且证书有效。

  2. 网络权限检测时机问题
    审核环境可能在网络检测后立即触发请求,但网络状态实际未就绪。建议在uni.getNetworkType的成功回调中加入延迟或重试机制:

    setTimeout(() => {
      this.login();
    }, 500);
    
  3. 审核环境网络限制
    苹果审核网络可能屏蔽非标准端口或特定IP。确保请求的域名和端口均为常用配置(如HTTPS默认443),避免使用本地IP或非常用端口。

  4. 请求超时处理
    审核环境网络延迟较高,可在uni.request中显式设置超时:

    uni.request({
      ..._config,
      timeout: 10000 // 10秒超时
    });
    
  5. 全局错误捕获
    app.vue中通过onError捕获未处理的Promise拒绝,避免因请求失败导致应用崩溃:

    onError: function(err) {
      console.log('Global Error:', err);
    }
回到顶部