繁体   English   中英

NSURL和iPhone SDK 3.0发出电话问题

[英]Issues with NSURL and iPhone SDK 3.0 for placing phone calls

iPhone 3.0 SDK有一个新引入的问题,以及它如何处理NSURL方法来自动拨打电话。 过去,您可以调用方法(NSURL),传入带有URL前缀的字符串(tel://,sms等),然后iPhone OS会将消息发送到设备(例如iTunes) ,App Store,电话,SMS,邮件,Safari等...代码如下:

[openURL:[NSURL URLWithString:@"tel://8005551212"]];  

调用该方法时,将自动拨打电话。 在iPhone OS 3.0中,调用此方法时,应用程序会弹出一个对话框,要求确认电话。 这破坏了几个现有的应用程序,以及我们刚刚推入App Store进行审查的应用程序。

谁能想到解决此问题的方法? 目前,我对于该做什么并试图决定在工作中处理此新扳手的其他方式感到迷茫。

在博客上对此进行了建议,并建议人们与Apple联系并让他们知道此问题。 我还推荐了一个我和朋友正在考虑的解决方案-即使用位置感知应用所具有的相同“授权”; 应用知道它的位置信息,并询问用户是否可以使用其位置信息。

同样,如果有人有针对此问题的修复程序(并且该解决方案属于iPhone SDK范围之内,因此Apple不会予以拒绝),请告诉我; 我将不胜感激。

更新:朱利安·罗梅罗·涅托(Julian Romero Nieto)对该错误有一个很好的描述,并引用了(更新的)Apple文档并显示了手头的问题。 您可以在此处阅读他对Oper Radar的帖子。

我认为这是一项安全功能-假设有一个应用程序每天凌晨3点拨打10分钟,叫900号。 如果将其与新的“应用内购买” API进行比较-则几乎相同。

位置API比较是一个不好的例子-获取用户位置是隐私问题,而不是财务问题。

您无法解决此问题,因为这是要解决的问题-您为解决该问题所做的任何事情都将导致该应用无法获得批准。

当应用可以在未经用户同意的情况下选择拨打号码时,认为用户体验不好。 软件可能会拨打“高级”号码,从而使用户不知不觉地花了很多钱。

这在所有移动软件平台和OS上都是标准的-如果只是在OS 3.0中进行了更改,则表明它一定是一个最初苹果认为可以解决的问题。 但是,我认为移动运营商会给苹果公司施加压力,迫使他们推出这种产品,然后最终不得不退还用户-但已经将钱付给了“高级”号。

我不确定美国是否会像欧洲那样存在“溢价”数字,这也许是很难理解的原因。

tel://的RFC表示不允许通过tel:方案自动拨号。

因此,他们必须在RFC遵从性和破坏这几个应用程序之间做出选择。

我希望选择忽略RFC,至少允许应用程序在允许的情况下继续拨号。

我怀疑这是否是苹果方面的意图,如果用户想要语音拨号,这会迫使用户购买新的iPhone-这个问题破坏了所有第三方语音拨号应用程序,使它们不安全且基本无用。

让我们保持对Apple的压力,以使其成为用户可配置的设置。

也许您的意思是新引入的功能而不是问题?

我认为您不会让Apple删除确认弹出窗口,特别是如果它符合RFC。

Lemmy引用Joel(http://www.joelonsoftware.com/items/2009/06/10c.html)关于损坏的应用程序的信息:

一个好的平台总是为应用程序提供机会,而不仅仅是填补空白。 这些是供应商不太可能考虑核心功能的应用程序,通常是因为它是垂直的-这不是每个人都想要的。 苹果要为牙医增加iPhone功能的可能性几乎为零。 零。

未经我的同意,我不希望某些应用程序拨打电话,发送短信或什至连接到Internet(生活在一个未来仍存在无限移动数据计划的国家)。

当客户抱怨账单不明时,运营商当然会头疼。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM