Windows上的iOS开发[重复]

Posted

技术标签:

【中文标题】Windows上的iOS开发[重复]【英文标题】:iOS development on Windows [duplicate] 【发布时间】:2012-03-24 15:04:54 【问题描述】:

可能重复:How can I develop for iPhone using a Windows development machine?

我已经阅读了很多关于在 Windows 上开发 ios 应用的问答:

iPhone development on Windows

How can I develop for iPhone using a Windows development machine?

但大多数实现这一点的方法是因为有这个问题的人(在 Windows 上制作 ios 应用程序)想要为自己制作应用程序。此外,其中一些建议使用网络应用程序。

我正在为一家需要制作小应用程序的公司工作(以后其他公司将需要更多),负责所有 IT 的人告诉我们,我们需要一些事实,这样我们才能证明我们确实需要一台 Mac 来合法地为 iOS 开发应用程序。

首先,我不知道这个页面上的所有内容是否足够https://developer.apple.com/support/ios/ios-dev-center.html

要使用 iOS SDK 和 Xcode 进行开发,您必须拥有基于 Intel 的 Mac 运行 Mac OS X Snow Leopard 或更高版本,您必须注册为 苹果开发者。

现在我有一些问题:

公司是否有合法的方式在 Windows 上制作 iOS 应用程序? 如果其中一种方式是在虚拟机下运行 OS X... 是否可以使用 OS X Lion USB Thumb Drive 来实现? 我知道有一些 SDK,例如 Marmalade、Corona、DragonFire……它们给了我们许可证,但它们 100% 可靠吗?如果我们使用其中一种 SDK,苹果会支持我们吗? Apple 是否会检查应用程序是否是通过合​​法的 OS X 副本创建的?我的意思是,在编译代码时,是否有迹象表明 Apple 可以检查该应用程序是否在没有作弊的情况下制作? 在 OS X (VM) 上创建游戏会很困难吗? 如果我们得到 Mac (mini)... 我们是否需要 Magic Touch 或 Magic Trackpad 来测试多点触控?还是只能通过按其中一个键并单击左键才能做到这一点? 创建 Web 应用程序会是一个解决方案吗?我知道我们不能使用 javascript 使用设备的相机,但其余的可以吗?。

测试

我们的一些同事拥有 iTouch,但我们不知道公司是否应该购买新的。另外,您建议购买最老一代的 iPod Touch 用于测试目的还是只购买第 3 代和第 4 代?

我希望你能理解我。提前致谢!

更新

我得到了这个答案:

您将使用各自的 SDK 在 Windows 上工作

我:我知道 Apple 没有用于在 Windows 上开发 iOS 应用程序的官方 SDK。

我们将使用的编程语言与安装在 PC 或 MAC 上的编程语言相同。 我:不可能?

更新 我们得到了 Mac。 ":D"

【问题讨论】:

您希望您的应用具有 iOS 原生外观吗? 如果您最终浪费了一周的时间来解决使用 PC 进行 iOS 开发的限制,那么浪费的时间将比 Mac Mini 和 KVM 切换器花费更多。 我们必须创建的第一个应用程序不需要外观和感觉,但我们希望它能够合法地进行。是的,这是真的,但我需要一些真实的事实。我们只有 2 周的时间来创建应用程序。 +1 表示一个非常系统、问得很好的问题,尽管它可能重复。 两周?您的开发人员是否已经了解 Objective-C 和 Cocoa Touch api?对于任何不平凡的事情来说,两周都是非常积极的。 【参考方案1】:

    公司是否有合法的方式在 Windows 上制作 iOS 应用?

    我的建议是尽可能地购买 Mac。

    但只是提供另一种选择:

    试试Phonegap。它基本上是一个 HTML5 包装器,主要用于需要在多种类型的设备上发布的应用程序。但是它也可以访问 native 资源,例如 camerastorage,您可以在他们的feature 页面中看到这些资源。

    如果您更关心开发机器,通过使用 Phonegap,您可以在任何操作系统中开发应用程序。您无需为所有开发者购买多台 Mac。

    PhoneGap 还有一个名为PhoneGap build 的服务,它实际上是一种云服务,能够将您的代码构建到包括 Iphone 在内的多个平台。这是合法的,你可以在应用商店发布它。

    如果其中一种方式是在虚拟机下运行 OS X... 是 用 OS X Lion USB 拇指驱动器可以做到吗?

    不,您也只能在 OSX 中运行 OSX 虚拟机。

    在 OS X (VM) 上创建游戏会很困难吗?

    这取决于开发人员。但是由于应该在模拟器中测试游戏,因此您的问题并不重要。

    如果我们得到 Mac (mini)... 我们是否需要 Magic Touch 或 Magic Trackpad 来测试多点触控?还是只能通过按其中一个键并单击左键才能做到这一点?

    Xcode Emulator 能够模拟它。阅读此blog

    创建网络应用程序会是一个解决方案吗?我知道我们不能使用 设备的摄像头使用 Javascript,但其余的都可以吗?

    如果您使用的是PhoneGap,它基本上是由native 包装的Web 应用程序。它仍然可以让您访问相机、指南针、存储等资源。

【讨论】:

我曾尝试将 Phonegap 用于一些专业项目,但效果并不理想。这些应用程序似乎不是原生的,并且有一些让我们的用户发疯的小特质。事实证明,使用 Phonegap 进行开发比使用 iOS SDK 需要更多的时间,但是 YMMV。【参考方案2】:

您是否建议购买最老一代的 iPod Touch 测试目的还是仅用于第 3 代和第 4 代?

iOS 5 SDK 具有许多使应用开发更容易的新功能。当您的应用程序准备好发布时,大多数用户将转移到 iOS 5。据我了解,iOS 5 不支持第 3 代设备,因此如果您要使用 SDK,那么获取这些设备是没有意义的5.

【讨论】:

【参考方案3】:

我没有 Mac,但我按照此博客 http://tonymacx86.blogspot.com/ 的指南设置了 hackintosh(在 pc 中运行的 MacOSX)。如果您的电脑规格兼容,Mac OSX 将完美运行,就像在普通 Mac 中一样。

既然你问了这个问题,我假设你不想花钱买 Mac,所以设置一台 hackintosh 机器是你的最佳选择。您只需要花一些钱购买 Mac OSX 的合法副本。是的,我还设置了 hackintosh,以便在 pc 上开发 iphone 应用程序。

【讨论】:

请注意,hackintoshes 违反了 OS X EULA。大多数人不会在意,但他确实明确表示他需要一个合法的选择。【参考方案4】:

尽管总是有一些技巧和变通方法,但您需要一台 Mac 来进行任何严肃的 iOS 开发。你可以花不到 1000 美元买一台 Mac Mini,如果你能以不到 1000 美元的工时安装一台可以构建 iOS 应用程序的 Windows 机器,我会感到惊讶……而且你可能最终不得不经常修补以使其继续工作。

AFAIK,Mac OS X 不能可靠地在 Windows 机器上的 VM 中运行,但自从我上次检查以来,情况可能已经改变。

大多数跨平台开发工具都回退到基于 HTML/Javascript 的技术,该技术在嵌入式浏览器中运行并与自定义工具打包在一起,我倾向于避免将这些作为他们生产的应用程序不会觉得是原生的。

我不相信 Apple 会检查代码的构建位置。 Adobe 的 FlashBuilder 可以导出到 iOS 二进制文件,这些应用程序被 Apple 接受。

创建它们应该不难...测试它们可能有点慢,但您肯定希望尽早并经常在真实硬件上进行测试。

如果您使用的是 Mac Mini,您可以按住选项并单击以在 iPhone 模拟器中模拟双点触控,但对于更重要的多点触控测试,您需要以真实设备为目标。

根据您的目标,Web 应用程序可能是一个很好的解决方案。你可能会失去一些性能和一些控制,但你可能不需要那么多来完成你的任务。

【讨论】:

【参考方案5】:

我在 IT 方面的个人经历一直是让他们允许/支持任何 Apple 产品。不要让他们说服您使用一些修补程序替代系统来制作应用程序。直接使用 OSX 无疑是最好的方法,尤其是因为你们正在谈论以后做更多的事情。从一开始就做好。

【讨论】:

我们会努力的!我仍在寻找使用虚拟机的缺点。 @JoseAdrian:VM 最大的缺点是它会违反 OS X EULA。您不能合法地虚拟化 OS X(Lion 除外,但即使该 VM 也只能在真正的 Intel Mac 上运行)。 能够在虚拟机中使用 OSX 的唯一方法是在 OSX 中安装 VM(也)。 @Jose Adrian(“使用”“虚拟”“机器”)【参考方案6】:

虽然有诸如 FlashBuilder 之类的东西,但这些解决方案无法提供实际原生应用程序的性能或灵活性。至于虚拟化 OS X,这不是一个选项。所有 OS X 版本的 EULA 都明确禁止硬件虚拟化(尽管我相信 Lion 允许这样做但只有在直接在真正的 Apple 硬件上运行时。换句话说,没有办法在 OS X 上运行任何不违反 EULA 的 Mac 以外的计算机。

【讨论】:

你的回答真的很有帮助。此信息在此页面中apple.com/legal/sla 对吗? Mac OS X 的最后一个链接已损坏,但我想 Lion 10.7 足以证明这一点。 如果您是欧盟居民,在您想要的任何硬件上运行您合法购买的 OS X 系统都是合法的。 @nostrzak:你有一个链接可以说明这一点吗? EULA 仍然不允许这种做法,因此除非您能指出具体使合同的该部分无效的内容,否则您仍然可以建议人们违反版权法。【参考方案7】:

现在使用 adobe flashbuilder,您可以通过 windows http://www.adobe.com/devnet/air/articles/packaging-air-apps-ios.html 制作 iphone 应用程序,它都将像 flash 一样在 actionscript 中编码,但看起来非常相似。就我个人而言,我从未使用过它,我拥有一台 mac,但我的学校确实欢呼

我也知道您可以将来自该构建器的应用程序直接放入应用程序商店,就像 OS X 进程一样

你不能直接把它放在拇指驱动器上,因为 OS X 的启动方式不同,你需要在你的计算机上安装一个新的引导加载程序,但是可以这样做,查找 Hackintosh

最后,你不需要魔法触控板,通过OS X在模拟器上运行时无法进行多点触控,你必须将应用程序放在手机上测试多点触控

【讨论】:

只是附带说明,性能绝对无法与原生相比(根据我的经验) 你能用这个获得 iOS 原生的外观和感觉吗? 我也推荐使用 OS X,如果你设置使用 windows,这可能是最好的选择 你无法获得原生 iOS 的外观和感觉......它很接近,但并不完全在那里。 正如 JesseCurry 所说,你不能。它看起来像 Flash 应用程序。

以上是关于Windows上的iOS开发[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Windows下iOS开发的替代方案[重复]

Windows系统上的IOS编程[重复]

Windows 上的 Meteor JS,支持 iOS 和 Android

来自应用程序的 iOS 上的 iTunes 应用程序审查 [重复]

它存储在设备上的 IOS 应用程序和数据的大小限制 [重复]

来自另一个 IOS 应用程序的 IOS 应用程序命令 [重复]