V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
wseani
V2EX  ›  程序员

上架 App Store 流程中遇到一个奇怪的 Bug

  •  1
     
  •   wseani ·
    mazzzystar · Jan 20, 2023 · 3801 views
    This topic created in 1196 days ago, the information mentioned may be changed or developed.

    应该很少 iOS 开发会遇到的一个 bug ,供大家参考。

    事情是这样,我在两周前上架了一个 iOS App ,用到很大的深度学习模型,当时只支持英语输入,上架地区选了全球,当时还给 v2er 们送了些促销代码。

    这周训练了一个中文模型,想上架中文版,地区也选了全球,但被苹果审核拒绝了,还标记为spam,甚至最下面还警告我如果判定为 spam 会把我的开发者账号禁封了(当时忘截图了)。

    我解释说 App 里模型不支持多语言,不像那种可以做多语言本地化的 UI 文字,客服很快回复说理解了,但「两个同一功能的 App 不能上架在同一片领土」,我试图挣扎说:两个 App 支持的输入语言不同,貌似也不算“功能相同”?应该有在美国的中国人,或生活在中国的美国人希望使用母语输入。估计苹果有一套自己的标准,审核把之前的回复又发了一遍。

    最终我把英语版 App 从中国大陆下架了,中文版只上架了中国大陆。但这其实损害了之前付费购买了英文版的国内用户,我能做的是让他们联系我,免费赠送中文版促销代码。

    后来,我在产品推荐 App 里看到英语区用户问这俩不是同一个 App 吗,而昨晚在电报看到有国内用户问为啥英文版没了,就贴了个我回复的截图:

    总结一下造成现在这么奇怪局面的几点原因:

    • 模型是语言敏感的,不同语言的模型不一样。
    • 模型文件巨大,集成两个模型会导致 App 大小翻倍。
    • App 不能联网,无法使用翻译 API 将所有语言先翻译成英语。
    • 苹果政策导致英语版在国内被下架。

    估计审核也没见过这种情况吧。

    Supplement 1  ·  Jan 20, 2023
    我意思是,我好像遇到了一种情形,这种情形通常只会出现在恶意 spam 和马甲包身上,但因为特殊情况和因素,在我出于正常、合法目的下发生了,神奇。
    28 replies    2023-01-22 12:29:10 +08:00
    polo3584
        1
    polo3584  
       Jan 20, 2023 via Android
    我司以前遇到过这种问题,当时是把两个外国地区分别发包,分为两个工程,方便维护,两个工程也有不少地方代码不一样。结果某次更新就被下架了,被指两个工程代码重复性过高,最后没办法,加班把两个包合成一个包才让过。
    unnamedhao
        2
    unnamedhao  
       Jan 20, 2023 via iPhone   ❤️ 1
    可以和审核人员刚,并不是他说什么就是什么
    minibear2021
        3
    minibear2021  
       Jan 20, 2023   ❤️ 1
    有没有可能将训练好的不同语言的模型放在服务器端,类似语言包一样,当需要切换模型语言的时候,如果本地没有就从远端下载?
    lianyue
        4
    lianyue  
       Jan 20, 2023
    我觉得最好的方案就是 联网权限要到。 手动点击下载语言包模型 就好了 当模块用
    fds
        5
    fds  
       Jan 20, 2023
    1GB 其实不大呀,很多游戏都是几个 GB ,反正流量都是苹果出,放几个模型让用户自己选着用应该是最简单的办法。
    wseani
        6
    wseani  
    OP
       Jan 20, 2023
    @polo3584 还能这样,我有点害怕哪次更新就给我下架了。
    wseani
        7
    wseani  
    OP
       Jan 20, 2023
    @jstony @lianyue 隐私考虑,App 不太能联网
    Chihaya0824
        8
    Chihaya0824  
    PRO
       Jan 20, 2023
    @lianyue +1 我也觉得模块化靠谱
    dd991
        9
    dd991  
       Jan 20, 2023
    +1 模块化
    okakuyang
        10
    okakuyang  
       Jan 20, 2023
    这就是典型的马甲包。
    apple 审核只在你上架的时候比较严格。
    当你同一个账户内的两个 App 高度相似的时候就可以判断为马甲包了。
    wseani
        11
    wseani  
    OP
       Jan 20, 2023
    @fds 游戏当然另当别论,但一个工具 App 1G 有点说不过去吧
    kongkx
        12
    kongkx  
       Jan 20, 2023 via iPhone
    不知道 “应用不能联网”是 产品的自我约束,还是用户的要求。
    realpg
        13
    realpg  
    PRO
       Jan 20, 2023
    自己的版本规划失误喷苹果
    wseani
        14
    wseani  
    OP
       Jan 20, 2023
    @kongkx 需要访问相册,我有隐私洁癖,算是自我约束吧。
    wseani
        15
    wseani  
    OP
       Jan 20, 2023
    @realpg 大师有什么解法吗
    hguandl
        16
    hguandl  
       Jan 20, 2023   ❤️ 1
    第一次使用的时候联网下载,后续使用的时候让在意隐私的用户关闭联网权限我觉得就够了。
    wseani
        17
    wseani  
    OP
       Jan 20, 2023
    @hguandl 是不错的办法,如果不是很在意弹窗索要网络权限的话
    strengthen
        18
    strengthen  
       Jan 20, 2023   ❤️ 1
    这个好办。云端部署不同的训练的模型,可以设置规则自动分区域下载。不懂可以问我。
    wseani
        20
    wseani  
    OP
       Jan 20, 2023
    @also24 学到了 lol
    lslqtz
        21
    lslqtz  
       Jan 21, 2023 via iPhone
    其实你给原来那个多加个模型和中文是最好的, 审核没问题, 用户权益也轻松继承.
    wseani
        22
    wseani  
    OP
       Jan 21, 2023
    @lslqtz 但是那样 App 尺寸就接近 600M 了,大部分人其实只用一种语言,有些臃肿。
    lianyue
        23
    lianyue  
       Jan 21, 2023
    @wseani 还有一招 给连接语言模块地址 https://xxx.xxx.xx/zh.zip 用户在浏览器下载后 使用分享功能把文件 分享到你 app 里面 就能调用储存该模块了了
    wseani
        24
    wseani  
    OP
       Jan 21, 2023
    @lianyue 原来还能这样!还没见过下载外部文件然后在 App 使用的场景,我看看👀
    lslqtz
        25
    lslqtz  
       Jan 21, 2023
    @wseani 那还是做成可选项吧, 不一定需要用浏览器, 可以内置下载功能的.
    icatme
        26
    icatme  
       Jan 21, 2023 via Android
    你可不可以预置英语模型,中文的后续下载?安卓里的游戏也好或者某些软件也好,比较大的可选数据包分开下还是挺常见的,苹果按理也支持的
    B1ankCat
        27
    B1ankCat  
       Jan 21, 2023
    @wseani #15 大师只管喷不管解决的
    wseani
        28
    wseani  
    OP
       Jan 22, 2023
    @icatme 如我在#21 所回复的那样,绝大部分人只使用某一种语言,所以增加一种永远不会用到的语言也挺奇怪的,而且需求还是不联网。

    我在想要,要是苹果支持同一个 App build 多个 target 就好了,而不是逼迫开发者必须做成两个 App 。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4963 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 144ms · UTC 09:25 · PVG 17:25 · LAX 02:25 · JFK 05:25
    ♥ Do have faith in what you're doing.