客户要求我们开发专有的内部应用程序来管理其后端系统。但是,我们是一家小型开发公司,我确信他们的公司没有> 500名员工。
是否有任何其他类似的解决方案可以在不通过iPhone企业计划的情况下将此应用分发给他们的公司?
(只是为了澄清:显然,我们希望通过官方企业计划,但看看公司没有> 500名员工,这是不可能的)。
更新(27/09): Apple似乎已删除了企业发布的{500}员工限额See here。所以现在这可能是我们的路线(这很有用,因为应用程序即将完成)。如果有人愿意,我会在整个过程中更新这个,以便其他人可以了解实际过程是什么样的。
答案 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)
关于你唯一真正的选择......
越狱可能听起来很吓人,但它实际上非常先进,现在已经很多了,并且可以很容易地管理。但是,它会使你的保证人失效(除非你愿意恢复工厂并且不诚实;)
从技术上讲,如果您愿意计划,它仍然是一个可用的选项,可以使用。
让我们知道你的决定,以及专业人士和职业选手。该方法的缺点。
答案 3 :(得分:1)
答案 4 :(得分:1)
奥利说:
关于你唯一真正的选择是...... 最多100个设备作为临时分发。 Enterprize发行(需要> 500名员工) 每个人都必须将他们的设备推向某个IT中心,并将其构建为“开发人员”设备。 (哎呀!) 越狱。
但要明确(如果我错了,请纠正我):
所以,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
有没有人试过这个成功的?还有其他想法吗?