我有一个使用应用内购买的应用程序。显然,如果用户使用带有Cydia的越狱设备并使用Cydia的AppSync,则用户无法购买任何应用程序内对象,因为AppSync会干扰应用程序。
问题是Apple显示的错误消息表明用户没有说明问题所在。
我没有任何越狱的iPhone,所以我无法测试。
我想要做的是使用代码以编程方式识别iphone是否已越狱,然后在用户点击购买应用内购买之前显示消息。
这是代码
NSString *filePath = @"/Applications/Mail.app";
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath])
{
NSString *title = @"problem";
NSString *message = @"you are using a jailbroken iphone";
NSString * buttonOK = @"OK";
UIAlertView *alert = [[UIAlertView alloc] title message
delegate:self cancelButtonTitle: buttonOK otherButtonTitles:nil];
[alert show];
[alert release];
}
我的想法是检查我是否可以在/ Applications上找到Mail.app。由于任何锁定的iphone无法在其环境之外检查并且越狱的iphone可以,此代码将在找到文件时显示警报...换句话说,当iphone可以找到Mail.app时。
我的第一个问题是:1)iPhone上的邮件应用程序是Mail.app吗?我猜它是。如果不是这样,请告诉我任何开箱即用的iPhone应用程序的名称。
使用越狱iphone的人是否可以测试此代码以查看它是否正常工作? 谢谢你的帮助。
答案 0 :(得分:1)
我可能会建议,如果你愿意把时间投入其中,那么暂时越狱对blackra1n来说并不难。
备份手机,越狱,开发代码以检测越狱,然后从备份中恢复手机,这将再次对其进行解除破坏。我自己做了这个尝试一些Cydia的东西,然后再回去。在当前3.x版iPhone固件下工作正常。
通过这种方式,您可以随时自行测试。
[注意到downvoters:是的,我知道我没有告诉他“答案”。我的想法是给他一个工具,以便将来能够回答其他问题。这是我喜欢的那种答案,我自己。]
答案 1 :(得分:0)
邮件应用程序称为MobileMail.app
。我有一个安装了Cydia但已成功使用应用程序内购买(Epic Chef Wars)的越狱iPhone。
答案 2 :(得分:0)
显然没有办法使用这段代码而不会冒苹果拒绝该应用程序的风险,因为他们应该认为你正在试图规避沙箱......