内部iPhone企业应用程序分发的替代解决方案

时间:2010-07-22 14:18:09

标签: iphone iphone-developer-program

客户要求我们开发专有的内部应用程序来管理其后端系统。但是,我们是一家小型开发公司,我确信他们的公司没有> 500名员工。

是否有任何其他类似的解决方案可以在不通过iPhone企业计划的情况下将此应用分发给他们的公司?

(只是为了澄清:显然,我们希望通过官方企业计划,但看看公司没有> 500名员工,这是不可能的)。

更新(27/09): Apple似乎已删除了企业发布的{500}员工限额See here。所以现在这可能是我们的路线(这很有用,因为应用程序即将完成)。如果有人愿意,我会在整个过程中更新这个,以便其他人可以了解实际过程是什么样的。

10 个答案:

答案 0 :(得分:22)

您可以在AppStore上将该应用程序作为完全免费的应用程序提交,但要求用户登录并进行身份验证才能使用它。这样任何人都可以下载它,但你可以控制谁可以实际使用它。 Apple为您完成所有分发,您不必担心Ad-Hoc部署或IT部门。

然后,您可以在Web主机(或Google AppEngine等平台)上构建一个非常简单的配置管理系统,用于管理应用程序的身份验证。

当用户启动免费应用时,系统会要求他们输入用户名/密码/等等。该信息将发送到基于Web的配置管理系统并进行确认。如果应用程序从配置管理系统收到可接受的确认,则会解锁自己以供该用户使用。

应用程序可以在每次启动时重新进行身份验证(如果您需要大量控制,则非常有用),或者可以在本地存储密钥文件,表明它已经过身份验证。如果它在应用程序启动时看到本地密钥文件,则会认为自己已经过身份验证,并且从不再次检查。

您是按人数使用一个用户帐户还是整个公司使用一个用户帐户。

如果您希望控制谁可以使用该应用但希望AppStore提供易于部署,则此分发方式非常有用。

Apple已经在AppStore上接受了许多使用这种远程服务器身份验证方法的应用程序(Skype就是一个很好的例子)。

如果您在配置服务器上跟踪设备UDID,您也可以预先加载它以允许某组设备工作。

此外,我所描述的内容都不是特定于iPhone的,因此如果您移植应用程序或构建其他需要此类应用的应用程序,您可以在其他平台(如Android(甚至桌面))上使用相同的配置管理系统和概念。 / p>

此外,由于验证设备的操作不是处理器或数据密集型,因此如果您在Google AppEngine上构建此设备,则可能永远不会产生成本,因为您永远不会超过免费配额,您将获得Google的稳定性和可扩展性后端架构。

由于此特定部署用于管理内部后端系统,因此应用程序中嵌入了专有信息,特别是允许其连接和验证的信息,因此通过AppStore部署内部后端系统似乎不安全。后端系统。

解决方法是不在应用程序中包含此信息,只是将该信息作为应用程序从配置管理服务器收到的响应的一部分。基本上,应用程序包含执行其功能所必需的逻辑,但没有连接信息,它无法管理任何后端系统。

如果您在每次启动时对应用进行身份验证,则可以更改配置服务器上的连接信息,并且应用程序将更新为新信息,而无需任何新部署。用户只需要重新启动应用程序。这使您的客户可以灵活地更改其内部网络配置,而不会使应用程序代码无效。您还可以在应用程序中手动配置此信息,但在每台设备上设置应用程序时,如果您已经要设置配置管理系统,则可能需要花费IT成本。

为了进一步保护上述解决方案,您可能希望将配置管理系统置于公司内部并位于公司防火墙后面,这样无论谁拥有应用程序,他们都无法连接到配置系统,除非他们位于公司的网络。

答案 1 :(得分:7)

我昨天和今天正在研究这个问题,而且似乎Apple(过去一周内)已经删除了> 500员工的企业发展要求。但是,我相信您需要使用客户端注册的开发工具包为特定客户端开发/部署。

因此,如果您为客户A和客户B工作,客户A和B都需要注册Apple作为业务开发人员,此时您可以为他们(作为承包商)开发应用程序并使用他们的工具在企业内部构建和部署。我认为贵公司也可以注册成为业务开发人员。

Apple仍然要求你有一个Dun& Bradstreet DUNS号码注册成为业务开发人员。

答案 2 :(得分:1)

关于你唯一真正的选择......

  • 最多100个设备作为临时分发。
  • Enterprize发行(需要> 500名员工)
  • 每个人都必须将他们的设备推向某个IT中心并构建为“开发人员”设备。 (让人惊讶!)
  • 监狱破碎。

越狱可能听起来很吓人,但它实际上非常先进,现在已经很多了,并且可以很容易地管理。但是,它会使你的保证人失效(除非你愿意恢复工厂并且不诚实;)

从技术上讲,如果您愿意计划,它仍然是一个可用的选项,可以使用。

让我们知道你的决定,以及专业人士和职业选手。该方法的缺点。

答案 3 :(得分:1)

答案 4 :(得分:1)

奥利说:

  

关于你唯一真正的选择是......   最多100个设备作为临时分发。   Enterprize发行(需要> 500名员工)   每个人都必须将他们的设备推向某个IT中心,并将其构建为“开发人员”设备。 (哎呀!)   越狱。

但要明确(如果我错了,请纠正我):

  1. 如果您使用“Ad-hoc”分发方法,您的客户将在3个月后看到应用程序消失。
  2. 最多只能使用100个设备进行测试(即在“开发者模式”下使用),此外,应用程序将在3个月后消失。
  3. 所以,Apple没有给我们任何选择,你真的很大(> 500名员工)?好的,所以你可以做你想要的事情等等......“byebye”

    此外,忘记“布莱斯”之前所说的内容,像他所描述的那样的应用程序会因“受众”的动机而被拒绝。

    iOS不适用于企业应用....如果你不想依赖一些聪明的黑客(即越狱)

答案 5 :(得分:0)

Ad-hoc分发限制为每个应用程序100个设备,这是真的,但您可以将项目添加n次到Apple开发人员中心,这样您就可以将它部署到n * 100设备

答案 6 :(得分:0)

Apple如何确保您的企业拥有超过500人?无论如何,我还是试着通过企业计划......

我不会越狱,我不会特意,因为它只限于100,我不会让每个人都把他们的手机放在开发者模式。

为了将来的可维护性,企业模式是可行的方法,所以看看你是否可以在整个过程中导航,而不会提到你可能不是500个用户。

另外,我看到了关于使用MonoTouch进行开发的评论。在你做其他任何事情之前我会和Apple讨论这件事,因为考虑到他们最近的政策变化,我很确定这会让你的应用程序从App Store和企业程序中被拒绝。

编辑:我查看了Mono网页。看起来Apple可能仍然会让单声道应用程序进入,并且Mono创作者坚持认为它是犹太人,但你可能会冒着将你的未来应用随时从手机中取出的风险。

更好的编辑:直接从单声道网站:企业MonoTouch

重要的是要指出,新的iPhone开发者协议条款适用于AppStore部署,而不是允许在企业中向用户部署内部应用程序的企业程序(使用企业部署程序)。

只要你能进入企业计划,那么你可能会很好。

答案 7 :(得分:0)

如果您将应用程序开发为纯HTML5解决方案,则可以完全绕过App-Store或Enterprise Developer Program批准过程。 这项技术称为webapps。而且它们的功能非常先进。您自动拥有跨平台准备和非常简单的部署选项(因为webclip可以通过.mobileconfig配置文件分发) 见http://www.apple.com/webapps/whatarewebapps.html

答案 8 :(得分:0)

还有另一种解决方案:自己的应用商店:

http://rhomobile.com/products/rhogallery/

不幸的是只与RhoHub结合使用。

或者: http://www.appcentral.com/

更多信息: http://www.apple.com/iphone/business/integration/mdm/ http://www.cio.com/article/638175/Emerging_Tech_Alternatives_to_Apple_App_Store_For_Enterprises?page=2&taxonomyId=3002

答案 9 :(得分:-1)

理论上,针对一家公司发布免费应用程序的建议解决方案无效,因为应用程序商店中的已发布应用程序不应用于“有限受众”(无论这意味着什么),根据:

http://appreview.tumblr.com/post/952395621/cannot-be-intended-for-a-limited-audience

有没有人试过这个成功的?还有其他想法吗?