在没有互联网的情况下在 iPad 上下载和查看原型
Posted
技术标签:
【中文标题】在没有互联网的情况下在 iPad 上下载和查看原型【英文标题】:Download and view a prototype on iPad without internet 【发布时间】:2019-03-16 04:12:43 【问题描述】:有人知道如何下载原型(在本例中为 Zurb Foundation)并在没有互联网连接的 iPad 上运行它吗?
这对于我们不能依赖 WiFi 或蜂窝可用的演示来说是必需的。在计算机上这很容易,使用 Fenix 之类的东西,您只需添加一个包含您的 html 和资产的本地文件夹,给它一个端口并运行。
ios 有类似的东西吗?
编辑:我通过另一个问题发现使用 Coda 可以实现这一点。我已经尝试过了,它确实有效,但它非常繁琐。但是功能就在那里,它运行本地服务器,您可以查看文件。如果有一个“只是”这样做的应用程序,没有整个代码编辑器,那就太棒了!
有人可以解释为什么这个问题被否决了吗?
谢谢
【问题讨论】:
在运行网络服务器的本地笔记本电脑上托管 html 文件并通过 Wifi 将 iPad 连接到笔记本电脑? @Paulw11 恐怕这是不可能的,因为销售人员只会随身携带一台 iPad 我认为 Swift 中有一个网页抓取教程。也许您可以使用它来获取整个 html 文件,并且可能只是将其存储为一个巨大的字符串,可以通过将 html 注入 wkwebview 来离线运行? 【参考方案1】:在计算机上这很容易,使用 Fenix 之类的工具,您只需添加一个包含您的 html 和资产的本地文件夹,给它一个端口并运行。
在你的 mac 上做同样的事情,并确保它在你的本地服务器上运行(只需打开 safari 并在地址栏中输入“localhost”并查看结果”。
这是我的结果:
之后,打开网络设置并新建一个网络:
为您的网络命名并点击“创建”按钮。
然后,打开 iPhone 上的“设置”应用,禁用“蜂窝数据”(如果已启用),然后转到“Wifi”设置并连接到新创建的网络。 (可能需要一些时间才能出现在列表中,请耐心等待。)
然后,在你的 Mac 上打开终端应用程序,输入 "ifconfig |grep -w inet" 并找到你的本地 IP 地址(它将不是 127.0.0.1)。
现在,在您的 iPhone 上打开 Safari 应用程序,然后在地址栏中输入该 IP 地址。
在没有互联网连接的情况下,您会看到与 Mac 的 Safari 相同的结果。
很简单吧?
因此,只需在您的 macbook 上配置该站点,使其无需互联网即可在本地运行,然后随身携带该 macbook 进行演示。
祝你好运!
【讨论】:
【参考方案2】:最简单、最简单的想法(假设您要显示“原型”而不是正常运行的网站)是:获取/保存关键页面的屏幕截图和主要销售点的插图。以您的演示所需的任何顺序组装它们。合并所有文件(例如:PDF 格式)将使所有内容井井有条,并允许您在会议之前通过电子邮件将其发送给销售人员。
【讨论】:
【参考方案3】:我建议采用这种方法。这可能看起来很草率,但如果你做对了一切,它应该可以工作并且很简单。
从页面中抓取所有的 html 内容。您可以从 Swift 中执行此操作,也可以只放置所有本地 html 文件。
然后你就可以带上 javascript 代码来保持离线交互。
然后运行一个空的 wkwebview,然后注入 HTML 并评估 JavaScript。 Swift 支持这些,无需任何 3rd 方插件。然后,您可以使用 JavaScript 而不是使用 html 加载 css,因为我认为这些是唯一可行的方法。
你不需要互联网连接,因为这些东西是在本地注入的。然后,您可以添加几个文本视图,它们可以作为 html 和 JavaScript 的简单代码编辑器运行。这就是我认为 IOS 的 Fenix 服务壁橱的全部内容。
您可能还需要将 JavaScript 从 html 中分离出来,或者从抓取网站所获得的巨大字符串中创建自己的 JavaScript 解析器。
如果您希望完全从 iPhone 更新 git,您还必须重新发明 git,但我认为这就是您能够离线运行网站所需的全部内容。另外不要忘记添加一个 html 文件数组和与之对应的 css,这样您就可以在没有互联网连接的情况下更改页面。
(核心数据在这里是您的朋友。保存网站,这样您就不必再次抓取它。)
【讨论】:
【参考方案4】:要构建您建议的应用程序,我建议您执行以下操作:
-
有办法将“内容”提供到设备上,例如在线时通过 HTTP,并将其存储到文件中
运行与 iOS 兼容的 HTTP 服务器,例如 Kitura 或 GCDWebServer 以提供内容
使用SFSafariViewController 查看本地托管的内容
我建议将服务器和客户端都放在同一个应用程序中。让应用只提供内容并使用 Safari 作为客户端会很困难,因为当您切换到 Safari 时会怀疑服务器。
这是假设您的原型是简单的内容,例如 html、css、文件和 javascript。如果需要更多的“活动部件”,比如数据库,那就更复杂了。
【讨论】:
我认为您无法使用 SFSafariViewController 评估 JavaScript 或 HTML,还是我错过了从文档中阅读的内容?我认为你只能从 wkwebview 做到这一点。 SFSafariViewController 提供了一个“浏览网页的可见标准界面”。我建议在 iOS 设备上运行 Web 服务器以在本地提供内容服务器,并将 SFSafariViewController 用作客户端。以上是关于在没有互联网的情况下在 iPad 上下载和查看原型的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在不使用情节提要的情况下在 xib 文件中创建原型内容 UITableview?
如何在没有互联网连接的情况下在android中获取当前纬度和经度?
在没有互联网的情况下在android上获取位置坐标(纬度和经度)