【问题标题】:iOS External Accessory Framework from web appWeb 应用程序中的 iOS 外部附件框架
【发布时间】:2013-07-16 02:10:15
【问题描述】:

我被要求构建一个与 iphone 配件接口的网络应用程序。我看到本机应用程序使用ExternalAccessory.framework 访问附件,但到目前为止,我没有看到任何迹象表明该框架以任何方式暴露给网络应用程序。这可能吗(如果可以,入口点是什么),还是我们只需要构建原生?

【问题讨论】:

    标签: ios iphone-web-app external-accessory


    【解决方案1】:

    您可能需要做的是使用原生应用作为 iOS 配件和网络服务器之间的通信层。换句话说,您将不得不拦截来自 Web 服务器的所有响应,并通过本机 Objective-C 将这些响应转换为附件。如果您使用 UIWebViewController 的 viewcontroller 编写本机应用程序,并且让 Web 服务器在其响应消息中烘焙命令有效负载,或者费力地解析 HTML 以获取嵌入式命令,您可以将其关闭。我的公司以这种方式使用第 3 方配件,虽然它不是很漂亮,但它可以工作。我的意思是“不漂亮”,因为根据您的应用程序构建和附件的底层处理,您的命令是静态的。祝你好运!

    快速编辑:根据您希望与此附件交互的可重用程度,您始终可以创建一个包含内置命令的框架。这样,当您需要更改或扩展命令/控制架构时,您只需要要做的是更改框架(是的,这将需要构建)。它还可以让您轻松快速地跨多个应用采用相同的控件。

    【讨论】:

    • 这或多或少是我的想法。我们可能会构建本地,完成所有处理设备端并通过 TCP 发送结果,因为服务器细节在我们的控制范围内。关心扩展“Web 服务器烘焙命令有效负载”吗?
    • 如果我的应用程序导航到 www.mysite.com/page2.aspx,您实际上可以让 Web 服务器响应某些内容(这是一个任意的简化示例),例如“doCommand=3&option=2.5” .然后,在您的本机代码中,您可以分解服务器响应的内容并说:“好的......我知道我现在应该打开那个 LED(那是 doCommand 3)并让它闪烁 5 次(那是选项 2.5) . 实际上,一旦你开始按照你想用你的配件做什么来打开潘多拉魔盒,你实际上可以做任何你想做的事情,但权衡是改变 = 构建。
    • 当谈到原生代码和 web 视图之间的通信时,我唯一的建议是不要尝试从头开始滚动自己的代码。很多人以前都做过这种事情,你至少应该在重新发明轮子之前看看他们是怎么做的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-17
    • 2011-04-08
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多