【发布时间】:2011-07-07 04:59:06
【问题描述】:
今天越狱iOS设备很容易,但我不打算在这里弄清楚如何做到这一点。
我想问一下,如果测试设备越狱,对正常的ios开发有影响吗?
我的简单回答是“不”。
但我不确定越狱设备到底发生了什么。所以在这里提问以获得更严肃的答案。谢谢
【问题讨论】:
今天越狱iOS设备很容易,但我不打算在这里弄清楚如何做到这一点。
我想问一下,如果测试设备越狱,对正常的ios开发有影响吗?
我的简单回答是“不”。
但我不确定越狱设备到底发生了什么。所以在这里提问以获得更严肃的答案。谢谢
【问题讨论】:
我花了一个多星期才弄清楚一个大问题:
inAppPurchase 开发不适用于 JB 设备(它为所有 inApps 提供 InvalidProductID)
(一些报道说它适用于安装了 AppSync 的 JB)
【讨论】:
基本上,越狱乍一看并没有任何负面影响,在“有效 - 无效”级别。作为一名越狱开发人员,我可以确认几乎所有(技术上)在非越狱设备上工作的东西也可以在越狱设备上工作。越狱不会放弃 API,不会删除运行官方应用程序所需的软件或系统组件。它只会带来额外的设施和功能,以扩展开发人员(以及用户)的机会。
但是,鉴于越狱系统几乎是完全开放的,需要考虑安全相关问题。具体而言:
您的应用程序可能会被破解。有些人会这样做。请注意它。有(曾经)Install0us,有 In-App Purchase 破解程序等。不过,如果您不在乎,那也没关系:只有一小部分 iOS 用户越狱了他们的设备,不是每个每个越狱者都是盗版者,其唯一目的是窃取您的应用程序!
可以从设备获取敏感数据。如果你不够小心,可能会发生两种情况。要么您将一些敏感的用户数据存储在文件系统 (even the Keychain is insecure on jailbroken devices!) 上并且其他人可以查看它(有效地启用身份盗用),要么您的应用程序可能被黑客入侵(想象一下,如果您将用户的分数存储在 plist 中的游戏中文件,用户只需覆盖 plist 中的值即可作弊)。
使用 MobileSubstrate 框架可以轻松更改应用程序的行为 - 您可能想要也可能不想要:)
总而言之:提防作弊者和破解者,但仍然不要惩罚无辜的用户!弹出窗口说“此应用无法在越狱设备上运行”是不公平的,并且会降低您作为开发者的声誉。
【讨论】:
这取决于安装的内容,如果您开始添加一些作为基础服务挂钩的软件包,您可能会看到一些奇怪/不可预测的活动。除此之外,我认为你应该没问题,JB 社区都在 JB 设备上开发和测试他们的应用程序,所以我认为总体上你没问题。
【讨论】:
只有安装了会影响@Flash84x 所说的任何框架或服务的东西时,它才会起作用。
除此之外你很好。
【讨论】:
基本的开发工作,就像任何其他设备一样,因此使用它应该是安全的。问题是越狱(不是调整,jb 本身)修改了系统的一些核心组件(即一些微妙的沙箱东西)。由于这些变化,可能会发生根本不应该工作的事情突然在越狱设备上工作(更不用说你可以安装的所有调整,这些调整可以改变很多事情)。
所以,您绝对可以使用越狱设备开发(毕竟不是每个人都能买得起专用设备进行开发),但请务必彻底测试您的应用在普通设备上,否则您可能会遇到意外。
@H2CO3 我还不能发表评论,但我认为你错过了重点:他没有询问在越狱设备上运行应用程序的问题,而是在越狱设备上测试应用程序(这是很糟糕的主意)。
【讨论】:
ldid 被发明了? 2. 为什么在官方应用程序中会尝试运行未签名的代码?