V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
wseani
V2EX  ›  分享创造

新手上架了人生第一个 iOS App,记录一下

  •  1
     
  •   wseani ·
    mazzzystar · 2022-11-11 10:28:12 +08:00 · 6046 次点击
    这是一个创建于 767 天前的主题,其中的信息可能已经有所发展或是发生改变。

    App 的名字叫:Benect

    寓意即 Be Connected, 因为它的功能是二次确认你的蓝牙耳机已经连上手机

    初衷

    可能是我买的 AirPods Pro 有 bug ,经常出现在手机上显示已连接,但实际播放音乐还是外放的情况。这种情况在家还好,在安静的书店或者咖啡馆,点击播放那一刻就会很忐忑。

    我的做法是:每次把音量调到最小凑近耳朵,以分辨耳机还是外放。但是,选一首音乐也很头疼,我的歌单大都是摇滚,所以即便很小声地测试,也会很吵。

    最近正好在学 SwiftUI ,想到也许可以自己写一个工具解决这个,11 月 1 号开始动手了。

    编写

    这个 app 的功能超级简单:

    • 打开 Benect 后,它会播放一段白噪声。
    • 如果你的手机是静音模式,外放情况下你将不会听到任何声音。
    • 即便不是静音模式,万一 AirPods 没连上,图书馆 /咖啡店里其他人听到的也只是一段海浪声、雨滴声。这很大程度上避免了尴尬。

    所以核心功能就是一个按钮,点击播放白噪声,产生念头的不到半小时内我就写完了。

    付费

    从朋友那得到的启发是:即便是最简单的产品,也应该设置一些付费的功能,以维持它能活的更久、给更多人带来免费服务。所以做完基本功能后我就在想,有什么不伤害体验、但确实值得付费的功能可以做成付费的呢?我想到了两个:

    • 提供更多白噪声,让 Pro 用户能切换自己喜欢的音乐,这些白噪音为无版权音乐,因此商用也没问题。
    • 支持用户录制。我能想到的场景是:你可以录制自己的小猫打呼噜声,或者如果你是妈妈,可以录制自己孩子牙牙学语的声音,也许能让测试变得温情。注意:Benect 无需网络连接,这意味着你的一切录音数据均存储在本地,所以无需担心隐私问题。

    最终,我设置的价格是¥ 6 永久购买。

    踩坑

    因为是第一次上架 App ,遇到了很多坑,被打回来了 3 次才上架,经验大概是:

    • 确定你的 App 是内购(in-app-purchase)还是订阅(subscribe)。我最初选择的是订阅,即 6 元 /年,但被驳回,他们认为我的 App 不适合订阅,我才了解到订阅的 App 需要源源不断地为用户提供新场景、新服务。
    • App 名字 /副标题里不要含有 Apple 的产品或者服务名。我的初衷是连接 AirPods ,所以在副标题里写的是确认你的 AirPods 连接,被打回说我侵犯了 Apple 的版权。

    最后

    最后,附上 App 的产品页面截图,也许它对你有帮助。

    第 1 条附言  ·  2022-11-11 10:58:56 +08:00
    第 2 条附言  ·  2022-11-11 11:31:56 +08:00

    补充V友提供的信息:

    调整音量图标就能确认
    

    这个提议蛮好的,我也是才发现,而且发现之后有点沮丧(app岂不是白做了),不过:对于我这种bug用户,视角和正常人会有些不同:因为 iPhone 文字显示「已连接」都不靠谱,所以图标的可信程度对于我就大打折扣,相较之下实际播放更简单粗暴一些,我感觉它(强行)还是有存在意义的。

    53 条回复    2022-11-13 13:16:53 +08:00
    bingshuiyixian
        1
    bingshuiyixian  
       2022-11-11 10:42:18 +08:00
    建议你把链接贴一下,搜都搜不到
    wseani
        2
    wseani  
    OP
       2022-11-11 10:45:46 +08:00
    @bingshuiyixian 多谢!
    链接是: https://apps.apple.com/cn/app/benect/id6444240484
    可能是因为今天上架第一天的缘故🤔
    kera0a
        3
    kera0a  
       2022-11-11 10:47:12 +08:00   ❤️ 4
    二次确认不是下拉看下音量标识吗😀~ 📢是外放,其他的有各自对应的图标
    TyCoding
        4
    TyCoding  
       2022-11-11 10:47:32 +08:00
    我也正想学习 ios 开发,请问 op 是新接触的 swift 吗?苹果开发者账号收费多少
    wseani
        5
    wseani  
    OP
       2022-11-11 10:52:21 +08:00
    @kera0a 我试试看,要真这么说,我不是白做了🙄
    sillydaddy
        6
    sillydaddy  
       2022-11-11 10:52:53 +08:00   ❤️ 1
    @wseani 感谢楼主具体和细节的分享。说实话「踩坑」里面提到的 2 点挺出乎我的意料。
    wseani
        7
    wseani  
    OP
       2022-11-11 10:53:08 +08:00
    @TyCoding 是的,纯新手直接开始 SwiftUI 了,个人收费是 688/年。
    likeme
        8
    likeme  
       2022-11-11 10:56:24 +08:00
    op 直接花了 688 开了账号?
    wseani
        9
    wseani  
    OP
       2022-11-11 10:58:36 +08:00
    @likeme 是的,想着之后多开发几个 App ,看有没机会回本哭
    painter
        10
    painter  
       2022-11-11 11:01:57 +08:00
    不错 lz 设计做得挺好的
    ufan0
        11
    ufan0  
       2022-11-11 11:02:13 +08:00
    @wseani #9 请问不发布至 App Store ,仅用 TestFlight ,也需要进行开发者账号收费吗?
    masker
        12
    masker  
       2022-11-11 11:08:29 +08:00 via Android
    想割韭菜太早了吧?
    cssk
        13
    cssk  
       2022-11-11 11:09:30 +08:00   ❤️ 1
    新手建议 swift+uikit ,swiftui 坑多到,不想说了
    cssk
        14
    cssk  
       2022-11-11 11:09:51 +08:00   ❤️ 1
    @ufan0 当然
    wseani
        15
    wseani  
    OP
       2022-11-11 11:10:44 +08:00   ❤️ 1
    @ufan0 抱歉,我不太清楚这种情况,不过本地 Xcode 连手机是可以跑的
    wseani
        16
    wseani  
    OP
       2022-11-11 11:11:21 +08:00
    @masker 这是免费 App ,不付费并不影响任何正常使用的。
    akakidz
        17
    akakidz  
       2022-11-11 11:22:27 +08:00
    从来没听说过这个 bug ,请问手机上显示蓝牙已连接的时候,按下音量键,屏幕上的音量弹窗中是否含有蓝牙标志?我觉得可以通过调整音量判断是否已连接。。。
    airbotgo
        18
    airbotgo  
       2022-11-11 11:24:55 +08:00
    没有人说你这个图标看着挺吓人的吗?
    wseani
        19
    wseani  
    OP
       2022-11-11 11:28:10 +08:00
    @akakidz 我相反,这个 bug 困扰我无数次。前天才看到有个 V2er 跟我类似: https://v2ex.com/t/893247#reply0
    可能是 AirPods Pro 二代特有的 bug 。

    你这个提议蛮好的,不过对于我这种用户不是那么完全适用,因为 iPhone 显示「已连接」都不靠谱,所以图标从我的视角也不值得信赖,相较之下实际播放更简单粗暴一些。
    Lin0936
        20
    Lin0936  
       2022-11-11 11:28:14 +08:00
    这。。。右上角下拉看下音量图标就能确认了
    Leonard
        21
    Leonard  
       2022-11-11 11:31:44 +08:00
    下拉音量图标就能确认了,感觉没必要用这个 App ,不过 OP 刚学 SwiftUI ,就当练手吧
    xieyqxie
        22
    xieyqxie  
       2022-11-11 11:33:52 +08:00
    看声音图标就可以确认 是否链接啊
    wseani
        23
    wseani  
    OP
       2022-11-11 11:34:37 +08:00
    @Lin0936 @Leonard 多谢两位分享。
    不过 bug 用户视角会有些不同,之所以称为 bug ,恰恰是因为 iPhone 文字显示已连接,但实际没连接。所以图标之于我的可信程度就很值得怀疑了,直接播放音频对我来说最保险。(强行赋予意义)
    xvIjicuCb
        24
    xvIjicuCb  
       2022-11-11 11:37:25 +08:00
    苹果开发者账号收费好贵啊
    excitedXXX
        25
    excitedXXX  
       2022-11-11 11:38:12 +08:00   ❤️ 1
    楼主很棒啊,icon 设计的很好看,风格也很极简,
    即使有其他更简单的方式查看,这个 app 上架后他的意义也变得不一样了。
    haosxianr
        26
    haosxianr  
       2022-11-11 11:40:28 +08:00   ❤️ 1
    @cssk 是啊,一堆坑,可是写界面快啊
    GrayXu
        27
    GrayXu  
       2022-11-11 11:41:40 +08:00   ❤️ 1
    从前我也有这个困扰,尤其是在 windows 上。直到最近 win11 的更新也给音量栏加上了耳机 or 扬声器的标注。
    所以我和楼上观点一致,系统级 feature 降维打击了。
    wseani
        28
    wseani  
    OP
       2022-11-11 11:50:32 +08:00   ❤️ 1
    @xvIjicuCb 所以我的建议是,先不要买,等学了一些开发只是 + 恰好有个 idea ,再买。
    danhahaha
        29
    danhahaha  
       2022-11-11 12:12:47 +08:00   ❤️ 4
    说实话,你是不是看片时候忘记连蓝牙了?
    wseani
        30
    wseani  
    OP
       2022-11-11 12:15:51 +08:00
    @danhahaha 刷推🌚
    as9567585
        31
    as9567585  
       2022-11-11 13:18:33 +08:00
    这个 Logo 好精致呀,是找设计师设计的吗? 多少钱呢?
    oncethink
        32
    oncethink  
       2022-11-11 13:26:33 +08:00   ❤️ 3
    再简单的想法能落实都很棒
    wseani
        33
    wseani  
    OP
       2022-11-11 13:42:47 +08:00   ❤️ 2
    @as9567585
    哈哈终于有人夸 Logo 了!我自己用 Processing(一个代码生成艺术工具)画的,很简单的:
    https://processing.org/tutorials/gettingstarted
    andrew2558
        34
    andrew2558  
       2022-11-11 14:11:14 +08:00
    恭喜 op, 但你这 logo 有点夸张呀!哈哈。。。。
    wseani
        35
    wseani  
    OP
       2022-11-11 14:15:10 +08:00
    @andrew2558 不会画画,只能投机取巧🌚
    7gugu
        36
    7gugu  
       2022-11-11 14:18:01 +08:00   ❤️ 1
    一个实用的小工具👍
    NouveauNom
        37
    NouveauNom  
       2022-11-11 14:26:10 +08:00   ❤️ 1
    @ufan0 需要。
    luck66
        38
    luck66  
       2022-11-11 14:27:01 +08:00
    @TyCoding 真别学 ios ,前端、后台机会更多
    lele140
        39
    lele140  
       2022-11-11 15:14:12 +08:00   ❤️ 1
    给楼主点赞!
    Norths
        40
    Norths  
       2022-11-11 15:29:55 +08:00 via Android
    很不错的创意
    leonPuck
        41
    leonPuck  
       2022-11-11 15:34:27 +08:00
    为楼主的行动力点赞
    ICB
        42
    ICB  
       2022-11-11 15:40:10 +08:00
    @airbotgo #18 哈哈哈,图标像一根发霉的猪血肠。
    freestyle26
        43
    freestyle26  
       2022-11-11 15:49:52 +08:00
    ZAN
    yoyoyoyolol
        44
    yoyoyoyolol  
       2022-11-11 17:11:09 +08:00
    下拉控制中心不就看见了
    WorldWideWeb
        45
    WorldWideWeb  
       2022-11-11 17:29:53 +08:00 via iPhone   ❤️ 1
    苹果开发者账号简直是抢钱😅
    mmmfj
        46
    mmmfj  
       2022-11-11 17:32:22 +08:00
    不连接耳机的时候把音量拉到最低,有 bug 也不怕,和连接耳机是两个音量条
    morize
        47
    morize  
       2022-11-11 17:49:07 +08:00
    我的解决方案是摸一下手机充电口旁边的扬声器就行了,如果有声音外放的话,手指是能感受到的。

    下拉看状态栏和写一个 App 做这件事,我觉得本质上没有任何区别,过度的程序员思维。
    wseani
        48
    wseani  
    OP
       2022-11-11 19:40:17 +08:00
    @morize 物理识别确实是个好方法,但是你的假设是已经在播放了,安静的场合如果音频比较奇怪还是会尴尬吧。
    LittleDust
        49
    LittleDust  
       2022-11-12 07:03:13 +08:00 via iPhone
    确实有这个问题…有时候电脑和手机都在旁边,戴上耳机不知道到底连哪个去了…
    ZztGqk
        50
    ZztGqk  
       2022-11-12 07:32:35 +08:00 via iPhone   ❤️ 1
    控制中心实际上有个自带的白噪。
    wseani
        51
    wseani  
    OP
       2022-11-12 08:21:49 +08:00
    @ZztGqk 没错没错,Mac+iPhone ,耳机一直跳来跳去的,在安静环境很恐怖
    wseani
        52
    wseani  
    OP
       2022-11-12 08:22:27 +08:00
    @ZztGqk 抱歉,回复错了人🌚
    wseani
        53
    wseani  
    OP
       2022-11-13 13:16:53 +08:00
    @ZztGqk 多谢,你让我第一次发现了这个功能!不过那有个问题是,静音模式下点击也会功放。如果苹果能设置,估计就真不需要我这个 App 了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5411 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 02:57 · PVG 10:57 · LAX 18:57 · JFK 21:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.