【无聊数学】总结一下我们在开发中踩到的那些坑儿

1.背景

 不管什么原因,人们的时间是越来越碎片化了,更甚至,时间的碎片化已经成了一部分人的生活常态。零星的时间碎片往往让人觉得无聊,除了无脑地刷短视频,能不能做些灵动点的事情呢?比如说,思考,甚至是深度点的思索!毕竟,人的脑子是越用越灵光,越不用越生锈。哲学家、思想家培根曾经说过“数学是思维的体操”。在碎片化的时间里,整两道数学题,动动脑子,应该是不辜负时光的一个好法子。那就开发一款手机应用,满足这个初衷。在无聊的时间里,玩玩数学,那这个应用就叫无聊数学了。       

         

本文主要是记录《无聊数学》在设计、开发、运维、营销和推广过程中,一切和《无聊数学》有关的问题,记录每个踩到的坑。每个踩坑经历都包含三个部分:

  1. 描述问题:描述遇到的问题,争取描述问题的现象以及复现的操作路径;
  2. 分析问题:分析问题产生的原因,争取把原因写明白;
  3. 解决问题:描述解决问题的思路、方案以及操作的路径。

预计本文会不断更新吧,因为总会遇到问题,一切都在待续中。。。。。。

2.遇到的问题列表

  1. 关于app图标:Invalid App Store Icon. The App Store Icon in the asset catalog in 'HBuilder.app' can't be transparent nor contain an alpha channel
  2. 关于App Store Connect设置:ITMS-90919: Invalid entitlement --The “HBuilder.app” bundle has the com.apple.developer.shared-with-you entitlement, but it doesn’t use the Shared with You framework
  3. 上架被拒绝:Guideline 2.5.4 - Performance - Software Requirements--Your app declares support for audio in the UIBackgroundModes key in your Info.plist, but we are unable to play any audible content when the apps running in the background.

3.兵来将挡水来土掩

        本章节将讲述解决具体问题的方法。

3.1关于app图标:Invalid App Store Icon

(1)描述问题

在使用Transporter上传ipa包之前,先做个验证,结果提示有一个问题。

问题的具体内容如下:

Asset validation failed (90717)
Invalid App Store Icon. The App Store Icon in the asset catalog in 'HBuilder.app' can't be transparent nor contain an alpha channel. (ID: 13953254-594d-4e0e-be55-ebxxxxxxxxx)

中文翻译过来的内容就是:

资产验证失败(90717)

无效的应用商店图标。在“HBuilder”的资源目录中的App Store图标。应用程序不能是透明的,也不能包含alpha通道。(ID:13953254 - 594 d - 4 - e0e be55 ebxxxxxxxxx)

(2)分析问题 

依据提示的信息,IOS应用程序的图标文件不能是透明的,也不能包含alpha通道。出现这个问题的原因,是在配置app应用图标的png文件包含了alpha通道。查看app图标文件的属性(windows)或者是简要信息(macOS),可以看到图片的alpha通道信息,如下图所示。

(3)解决问题

问题解决也简单,就是把图标文件的alpha通道关闭就行。具体的操作,以PS为例,在导出png图标文件时,取消图片的“透明度”,如图所示。

具体的操作路径:“文件-->导出---->导出为(...)---->打开“导出对话框”,在“文件设置”中,取消“透明度”设置。

重新指定图标文件,重新打包,检查通过,就可以上传应用。

自此问题解决!!!

3.2关于App Store Connect设置:ITMS-90919: Invalid entitlement 

   《无聊数学》的Android版本、小程序、鸿蒙元服务,都已经上线了,现在准备在苹果的App Store上线。

(1)描述问题

        使用Transporter上传ipa包之后,在App Store Connect没有看到软件包,但是收到了一封邮件,内容如下:

Dear Developer,

We identified one or more issues with a recent delivery for your app, "无聊数学-用数学打发无聊时间,越打发,越灵光" 1.1.2 (114). Please correct the following issues, then upload again.

ITMS-90919: Invalid entitlement - The “HBuilder.app” bundle has the com.apple.developer.shared-with-you entitlement, but it doesn’t use the Shared with You framework. Please remove the entitlement and upload a new build.

Best regards,

The App Store Team

翻译中文,内容如下:

亲爱的开发者,

我们发现了您的应用程序最近交付的一个或多个问题,"无聊数学-用数学打发无聊时间,越打发,越灵光" 1.1.2(114)。请更正以下问题,然后重新上传。

ITMS-90919:无效的授权-“HBuilder”。app bundle有com.apple.developer.shared-with-you权限,但它不使用Shared with You框架。请删除权限并上传新版本。

最好的问候,

App Store团队

(2)分析问题

        出现这个问题的原因,是我在App Store Connect管理后台,勾选了App Store Connect管理后台选择了“Shared with You”,打开了分享的功能,但是,我并没有在app中实现“Shared with You”的功能,App Store Connect就提示了上述的错误。

(3)解决问题

        知道了问题的原因,解决起来就简单了 ,有两个思路:

        第一个思路,就是在app中完善苹果系统的“Shared with You”功能;

        第二个思路,就是在App Store Connect管理后台取消“Shared with You”的能力。

        由于眼前的任务是在App Store上架,具体的“Shared with You”功能就留到下一个版本开发了,所以,按照第二个思路,在App Store Connect管理后台把 “Shared with You”的能力取消。   

 “Shared with You”具体的操作路径如下:“Certificates, Identifiers & Profiles” ---> “Edit your App ID Configuration”---->“Capabilities”--->“Shared with You”,如下图所示。

        重新打包,使用Transporter上传,问题解决!!! 

3.2关于上架被拒绝:Performance - Software Requirements

(1)描述问题

把《无聊数学》打包成ipa,上传之后,才过了2个小时,就被拒绝了,拒绝的信息如下:

Guideline 2.5.4 - Performance - Software Requirements


Your app declares support for audio in the UIBackgroundModes key in your Info.plist, but we are unable to play any audible content when the apps running in the background.
Background audio is intended for use by apps that provide audible content to the user while in the background, such as music player, music creation, or streaming audio apps.

Next Steps
If your app has a feature that requires persistent audio, reply to this message and let us know how to locate this feature. If your app does not have a feature that requires persistent audio, it would be appropriate to remove the "audio" setting from the UIBackgroundModes key.

Resources
- Learn more about our requirements for apps using background services in App Store Review Guideline 2.5.4.
- Review documentation for the UIBackgroundModes key.

大致的翻译:

你的应用在Info.plist中的UIBackgroundModes键中声明了对音频的支持,但是当应用程序在后台运行时,我们无法播放任何声音内容。

背景音频用于在后台为用户提供可听内容的应用程序,例如音乐播放器、音乐创作或流媒体音频应用程序。

下一个步骤

如果您的应用程序有需要持续音频的功能,请回复此消息并告诉我们如何定位此功能。如果你的应用程序没有需要持久音频的功能,那么从UIBackgroundModes键中删除“audio”设置将是合适的。

 (2)分析问题

从拒绝的理由来看,是在Info.plist中的UIBackgroundModes键中声明了对音频的支持,但是app却没有实现播放声音的功能。因此,解决这个问题的思路有两个:要么app实现播功能,要么取消“audio”设置。

(3)解决问题

uni-app没有Info.plist文件,只有manifest.json文件,找到ios的部分,去掉"audio"的功能声明。但是,配置界面不支持设置。

只能直接编辑manifest.json源文件,找到ios相关的节点,取消audio设置。

  /* ios打包配置 */
            "ios" : {
                "UIBackgroundModes" : ["audio"],
                "dSYMs" : false,
                "idfa" : true,
                "capabilities" : {
                    "entitlements" : {
                        "com.apple.developer.associated-domains" : [
                            
                        ]
                    }
                }
            },

删除 UIBackgroundModes数组的内容,从新编译打包上传App Store Connect,静等通知了。

4.无聊数学系列文章

无聊数学是我们开发的一款数字益智应用,本系列文章,都是介绍相关的移动开发技术以及服务端开端技术,如果你感兴趣,欢迎继续阅读。

【无聊数学】从零开始开发一个鸿蒙元服务

【无聊数学】总结一下我们在开发中踩到的那些坑儿

【无聊数学】uniapp直传腾讯云COS(云对象存储)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yeahforce

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值