在没有iPhone/Mac的情况下开发一个 iPhone 网站

5
我需要开发一个仅限于iPhone和iPad上使用的网站。我没有这些设备,也没有Mac电脑。
在开发过程中,有哪些可能的免费解决方案可以让我测试网站?
最明显的一个是使用iPhone SDK,但由于其每年需要100美元的费用,并且只能在Mac上使用,所以在我的情况下不是一个解决方案。您可以尝试使用iPhone模拟器进行测试。

5
您的信息有误,iPhone SDK是免费的,但只能在Mac上使用。 - Felix Kling
1
以及运行Snow Leopard的Mac电脑 - David Sykes
7个回答

1

建议您使用jsconsole

远程调试移动Web应用程序

jsconsole.com是一个简单的JavaScript命令行工具。但它也提供了跨越其他浏览器窗口的能力,以远程控制和调试该窗口 - 无论是在另一个浏览器还是另一个设备中。

事实上,移动Web应用程序调试非常棘手,以至于我放弃了,并决定构建这个工具。如果您想立即查看此工具的示例,请参见视频示例。

创建会话

要创建新会话,在jsconsole提示符中,只需运行:

:listen

这将生成一个类似于FAE031CD-74A0-46D3-AE36-757BAB262BEA的唯一键。现在,使用此唯一键,在您希望调试的Web应用程序中包含一个<script>标签:
<script src="http://jsconsole.com/remote.js?FAE031CD-74A0-46D3-AE36-757BAB262BEA"></script>

现在,你的Web应用程序中的任何console.log调用都将在监听你的密钥的jsconsole会话中显示结果。同样,如果在jsconsole会话中运行命令,则代码将注入到您的Web应用程序中,并将结果返回给jsconsole。
除了使用:listen生成新代码外,您还可以要求jsconsole监听预定义代码(但为了您自己的安全,请尝试选择一些只有您知道的独特内容):
:listen FAE031CD-74A0-46D3-AE36-757BAB262BEA

现在我可以在我的Web应用程序中使用相同的远程密钥,以避免每次重新生成新代码。请注意,只有最后一个远程客户端(即您的Web应用程序)连接到jsconsole时,才会接收到远程调试调用 - 先前的窗口将被忽略。
为了知道Web应用程序何时连接,jsconsole将通过显示设备的userAgent字符串来通知您:
:listen FAE031CD-74A0-46D3-AE36-757BAB262BEA
Creating connection...
Connected to "FAE031CD-74A0-46D3-AE36-757BAB262BEA"
Connection established with Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-GB; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8

警告

请注意,这种技术也会将代码直接注入到您的Web应用程序中 - 此工具仅应用于调试。我无法对您使用此工具的方式负责,基本上:小心使用!

当前已知支持

远程调试已经开发出来以在所有平台上运行,即使技术不被支持。但是,jsconsole远程调试已经在以下移动设备上进行了特定测试并且可以正常使用(欢迎添加到此列表中):

  • iOS 4.2.x - iPad,iPhone 4

  • Andriod 2.2.2 - Nexus One

  • webOS - Palm Pre

还有一些视频示例

更详细的信息,请参见以下链接: http://jsconsole.com/remote-debugging.html


1

您可以在任何浏览器中测试您的网站,但是移动浏览器可能在某些方面表现不同。

如果您找不到 iPhone 的 移动 Web 浏览器模拟器,那么“最便宜”的替代品可能是 iPod touch。

更新:

您可能需要查看 iBBDemo

iBBDemo2 - 跨平台 iPad 和 iPhone 模拟器


1

如果您正在为一个内部应用程序进行开发并在上述网站上进行测试,是否存在任何安全风险? - Rod

1

下载 Safari 5 for Windows,启用开发者菜单功能并将用户代理更改为 Mobile Safari iPad 或 Mobile Safari iPhone。这样可以让您看到 iPad 或 iPhone 渲染网站的效果。只需缩小窗口即可获得完整体验。

如果分析师的预测是正确的,很快 eBay 上就会有大量的 iPhone 3G 设备,因为很多人明天都有资格升级到 iPhone 4。购买一个便宜的 3G 可能是您测试要求的最佳解决方案。

或者,如果您的网站可以通过互联网访问或在具有点对点 WiFi 连接的笔记本电脑上使用,则可以在 Apple Store 进行测试。


使用Safari并切换到Mobile Safari对我来说似乎是最简单和最快速的解决方案。即使存在一些差异(如启用了Flash),它似乎也能产生预期的结果。谢谢! - Arseni Mourzenko

0

这里有一些显而易见的事情:

1)非常努力地让您的网站在所有主要浏览器上运行 - 包括Safari和除iPad之外的任何其他移动设备...这将确保它在较小的屏幕上运行良好。

2)阅读这些浏览器中已知的故障,并尝试避免它们。

3)每当您与朋友在展示他们的iPad或者拥有iPhone时,请请求测试您的网站。


1
我需要开发一个网站,该网站将专门用于iPhone和iPad。 - Emil
1
那又怎样?你不能在其他浏览器上测试吗?你怎么可能阻止网站在其他设备上的使用,这是一个真正愚蠢的想法。 - Mr. Boy
iPad 和 iPhone 移动浏览器拥有一些专属于这些设备的功能。 - JBRWilkinson

0
我需要开发一个仅在iPhone和iPad上使用的网站
这似乎不是个好主意。如果它只是用于iPad/iPhone,你应该编写一个App,以获取所有用户界面等方面的优势。

1
如果发帖人为企业客户编写一个内部网站,这是完全合理的,因为这可能是商业敏感信息,不适合放在应用商店中。 - JBRWilkinson
他知道他的客户只使用苹果手机吗?除非他在苹果工作,否则我不太相信 :) 但是好吧,关于应用程序不适合内部数据的观点是正确的。 - Mr. Boy
事实上,我意识到这是一个不好的想法(它是一个网站,而不是一个内部网)。但是网站规格说明是由另一个人编写的,所以我希望他有一些严肃的理由,既选择网站而不是应用程序,又只针对iPhone / iPad用户并忽略其他所有人。 - Arseni Mourzenko
他是否实际使用了任何 iPxx 专属功能?或者说这个网站能够在普通浏览器上工作,作为额外的奖励吗? - Mr. Boy
不,没有任何仅适用于iPxx的功能可供使用。目前我还没有最终需求。根据我所拥有的一些信息,我认为这是一个网站,旨在针对在使用iPhone的情况下使用iPhone的用户。可能开发成本是主要问题:仅为小屏幕和仅为iPhone开发将比大屏幕版本+移动版本便宜得多。 - Arseni Mourzenko

-2

网站不应该与特定设备绑定。

现在已经不是1998年了:最好在IE中查看,事实上,你的建议比那还要糟糕。

如果你真的想要一个只能在这些设备上运行的网站,那么你需要检查用户代理字符串,但除此之外,HTML就是HTML,不像苹果想让你相信的那样,它在塞班、黑莓、安卓、S40、Windows、Windows Mobile等等设备上同样有效。

(事实上,在塞班上它的效果更好,因为塞班实际上支持Flash。)


3
OP特别要求提供如何开发iPad/iPhone专属网站的建议,而不是讨论这是否是道德或政治上的好主意。 - JBRWilkinson
1
这就是廉价的离岸开发人员的想法...不承担责任,只按照规格书上的字面意思去做。从道德上讲并不是一个坏主意,但从技术上来说却是个坏主意。 - Mr. Boy
2
@John:然而这就是专业开发的现实。你被聘请来交付一个规范,你就要交付那个规范。如果你有意见要提出,你应该在第一次接触规范时就提出来。 - Dan Ray
2
开发人员有责任了解需求。我们不是无名的可替换齿轮。在我的经验中,没有一个规范能够完全按照要求交付,事实上这可能会导致用户接受度低。开发人员(而不仅仅是编码人员)参与设计,而不仅仅是将图表转化为代码。 - Mr. Boy
我不认为负面评价是合理的,我提出了一个建议,即限制只适用于特定设备是一个不好的方法,但随后告诉他如何实现他所询问的内容...! - Dynite

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接