【问题标题】:How can I keep my app alive forever without VOIP in IOS?如果没有 IOS 中的 VOIP,我如何让我的应用程序永远活着?
【发布时间】:2014-12-09 07:17:17
【问题描述】:

我的应用包含需要在后台运行的功能。该应用程序需要在后台监控加速度计,以便在检测到跌倒时发出通知。

我使用 VOIP 添加了“永远活着”功能,但我的应用被拒绝了。那么有没有其他方法可以永久在后台运行我的应用程序?

更新

Apple 建议在我的代码中删除 VOIP 或添加更多 VOIP 功能。所以我阅读了一些教程来添加 VOIP 功能。

https://www.twilio.com/docs/client/ios

http://www.raywenderlich.com/29948/backgrounding-for-ios

但会感到困惑。所以请提供一些解决方案。以便我的应用程序被苹果接受。

【问题讨论】:

  • 您提议的做法违反了 Apple 的政策。重新考虑您的应用概念,抱歉。
  • 不可能。我得到了同样的问题。我在后台更新我的位置,并在后台模式下更新我的应用程序。如果您不断更新您的位置然后应用被拒绝,那么还有一件事。
  • 它是安全应用程序,需要在后台运行。这是我的应用程序的主要功能。所以请建议任何其他方式。我可以使用位置更新程序吗?它被接受了吗?
  • 重新阅读上面的 cmets - 你做不到。这违反了 App Store 政策。
  • 我可以使用 VOIP 吗? @AshleyMills

标签: ios cocoa-touch


【解决方案1】:

你可以试试CocoaPods库KeepAppAliveForever

  pod 'KeepAppAliveForever'

thisgithub 存储库。

【讨论】:

    【解决方案2】:

    https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/iPhoneAppProgrammingGuide.pdf

    我发现这个网站下载了这个 pdf 并转到第 60 页并从那里阅读你的秘密隐藏,如果你很绝望,它需要一些阅读。哈哈。

    阅读愉快。 :D 希望这对您有所帮助。

    我做了一些代码研究

    - (void) backgroundForever {
            backgroundTaskID = [application beginBackgroundTaskWithExpirationHandler:^{
                 [self backgroundForever]; 
            }];
    }
    
    - (void) stopBackgroundTask {
           UIApplication *application = [UIApplication sharedApplication];
           if(backgroundTaskID != -1)
                [application endBackgroundTask:backgroundTaskID];
    }
    

    所以基本上我们在当前后台任务结束时启动一个新的后台任务。每当您想停止后台任务时,您都可以调用 stopBackgroundTask。这取决于您的应用程序逻辑,例如您可以在 applicationDidEnterForeground 中调用它。

    它有效,但我不确定您的应用是否会通过 Apple 审核。

    来自 AJTech

    【讨论】:

    • 我已经用过这段代码了。但它可以工作 10 分钟。 @AJ 科技
    猜你喜欢
    • 1970-01-01
    • 2018-10-26
    • 2021-10-21
    • 2016-04-03
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    • 1970-01-01
    • 2021-04-13
    相关资源
    最近更新 更多