V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cy18
V2EX  ›  iOS

如何用最简单的方法开发一个 iOS APP?

  •  
  •   cy18 · 2019-08-29 23:06:06 +08:00 · 4456 次点击
    这是一个创建于 1672 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在做一些手机充电相关的东西,需要记录手机的充电曲线,即以一定的间隔抓取手机电量,电压,充电状态等信息,保存到一个文件或者通过 WiFi 发送出来。

    功能非常简单,但是在 APP Store 里面找了半天还是没找到功能符合要求的 APP,大部分电池相关的应用都只能显示当前电量,偶尔有几个能显示曲线的,都没有办法导出数据,而且采集的间隔也都太长了。

    无奈想自己开发一个 APP 实现这个功能,但是之前没用 iOS 开发经验,手头也没有 MAC,苹果帐号之类的东西,大概看了一下,很难绕过申请苹果开发者帐号,还得搞一台 Mac 或者黑苹果之类的。

    这个 APP 只需要在公司内部的几台测试机上运行即可,不需要上架什么的。

    我没有没有移动平台开发经验,但是 C,C++,C#,Python 之类的都搞过,用什么方法开发这样一个 APP 最简单?预计需要多久?

    PS:Android 上面这类现成的 APP 多一些,能够记录数据,但是没法导出数据,需要手动导出,但是勉强够用。如果能够用简单的办法开发出安卓、iOS 通用的 APP 那就更好了。

    18 条回复    2019-09-11 19:51:28 +08:00
    zongren
        1
    zongren  
       2019-08-29 23:24:03 +08:00
    为啥没有这样的 APP
    可能是因为没用
    cy18
        2
    cy18  
    OP
       2019-08-29 23:27:07 +08:00
    @zongren 一般人还真用不上,但是我们这边确实有用- -现在的方法是,隔 10 分钟看一下电量,手动记录……
    WenhaoWu
        3
    WenhaoWu  
       2019-08-29 23:27:17 +08:00 via Android
    Flutter 了解一下,考虑外包吗
    brickyang
        4
    brickyang  
       2019-08-29 23:33:09 +08:00 via iPhone
    只需要 iOS 的话,最简单的方法就是直接撸 Swift。Books 里有本官方免费教程《 App Development with Swift 》,踏踏实实花一两天时间跟着走一遍。

    开发者账号淘宝花点小钱搞定。

    切记欲速则不达。
    lleon
        5
    lleon  
       2019-08-29 23:43:29 +08:00 via iPad   ❤️ 1
    pythonista 自带的示例:

    # coding: utf-8

    '''Simple demo of using UIDevice to query the current battery state'''

    from objc_util import *

    UIDevice = ObjCClass('UIDevice')
    device = UIDevice.currentDevice()
    battery_states = {1: 'unplugged', 2: 'charging', 3: 'full'}

    device.setBatteryMonitoringEnabled_(True)
    battery_percent = device.batteryLevel() * 100
    state = device.batteryState()
    state_str = battery_states.get(state, 'unknown')
    print('Battery level: %0.1f%% (%s)' % (battery_percent, state_str))
    device.setBatteryMonitoringEnabled_(False)
    lleon
        6
    lleon  
       2019-08-29 23:47:34 +08:00 via iPad
    运行结果:
    Battery level: 52.0% (unplugged)

    稍微改下应该能满足你的需求
    Building
        7
    Building  
       2019-08-29 23:49:43 +08:00 via iPhone
    因为做不到,iOS 没有真后台,申请后台刷新会有误差。
    shouc
        8
    shouc  
       2019-08-30 07:29:46 +08:00
    React Native 最方便而且和原生感觉没区别 Flutter 毕竟还得学 Dart
    lowSiver
        9
    lowSiver  
       2019-08-30 11:45:17 +08:00
    做不到的,没有真后台,虽然可以通过一定手段保持一段时间,但是说不准就在什么时候被系统 kill 了,所以肯定不准确,没有意义😂
    zmlu
        10
    zmlu  
       2019-08-30 11:56:14 +08:00
    雇一个人,让他开发
    cy18
        11
    cy18  
    OP
       2019-08-30 14:03:48 +08:00 via Android
    @lowSiver 那就保持在前台?
    cy18
        12
    cy18  
    OP
       2019-08-30 14:04:12 +08:00 via Android
    @zmlu 外包估计多少钱?
    Elecoxy
        13
    Elecoxy  
       2019-08-30 14:18:58 +08:00
    想想 在开启记录之后,让它设置每隔十秒一个本地通知。然后使用通知功能可以唤起程序运行一小段代码来实现。貌似不难。建议原生 swift 或者 oc 开发,使用别的跨平台框架担心你哭。
    Building
        14
    Building  
       2019-08-30 16:22:29 +08:00 via iPhone
    @cy18 找我,几百块帮你写一个。
    cy18
        15
    cy18  
    OP
       2019-08-30 19:55:52 +08:00
    @Building 后台问题有把握解决么?
    Building
        16
    Building  
       2019-08-30 21:26:42 +08:00
    @cy18 只能保持在前台,或者通知中心,要手动刷。
    monson
        17
    monson  
       2019-09-06 15:27:51 +08:00
    换个想法,iOS 自身就有记录啊,15 分钟一次。既然是测试机,你直接越狱了在系统数据库文件里找找更容易些吧。
    Mo7878
        18
    Mo7878  
       2019-09-11 19:51:28 +08:00
    写一个播放器 24 小时后台运行也没关系
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5108 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 09:44 · PVG 17:44 · LAX 02:44 · JFK 05:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.