以安全格式存储游戏偏好和保存的游戏

这是从苹果文档: 当您devise一个向Game Center报告分数的游戏时,您还应该考虑游戏的安全需求。 您希望报告给Game Center的分数是玩家如何做的准确logging。 这里有两点build议: 以安全的格式存储游戏的偏好和保存的游戏,而不是以明文forms存储。 如果您的游戏数据以明文forms存储,玩家可以使用iTunes下载已保存的游戏数据,对其进行修改,然后重新同步到设备。 这可能会让玩家获得比你想要的更高的分数。 始终为排行榜设置合理的最小值和最大值。 我知道数据可以存储在.plist文件或.xml或.json中,即使在数据库中也是如此。 但所有这些都是非encryption的纯文本。 什么被认为是一个安全的格式? 还有什么方法/类/技术可以用来存储敏感数据?

使用多个故事板与TabBarController

好吧,在开发我的最新应用程序的过程中,我发现我的storyboard变得非常庞大,所以为了清理它,我已经将它分成了multiple storyboards然后才失控。 仅仅为了设置,我有大约20个从根NavigationController分支的tableviewcontrollers 。 navigationcontroller是TabBarController上的一个TabItem,它是application's根视图控制器。 我已经将TabBar作为Root_Storyboard移动到它自己的StoryBoard ,导航控制器现在是Settings_Storyboard的初始视图。 仅仅为了testing目的,我在TabBarController (Root_Storyboard)和子类中放置了一些UIViewControllers作为选项卡项,并将下面的代码添加到它的viewWillAppear方法中。 它工作得很好,但我知道presentViewController以模态presentViewController显示NavigationController并隐藏tabBar 。 显然我不想要那个,我怎么得到它正确推,使TabBar保持可见? – (void) viewWillAppear:(BOOL)animated { UIStoryboard *settingsStoryboard = [UIStoryboard storyboardWithName:@"Settings_iPhone" bundle:nil]; UIViewController *rootSettingsView = [settingsStoryboard instantiateInitialViewController]; [self.tabBarController presentViewController:rootSettingsView animated:NO completion:NULL]; } 编辑 – 澄清。 以上代码是Root_iPhone.storyboard中UIViewController (child of UITabBarController:index(1))的子类方法。 我尝试加载的UINavigationController/UITableViewController可以在Settings_iPhone.storyboardfind。 在这种情况下,不知道如何实现下面build议的linkView。

在Xcode中开发全屏4英寸的应用程序

可能重复: 我如何支持更高的iPhone 5屏幕尺寸? 如何使我的应用程序4英寸准备好? 我在iOS6GM模拟器的应用程序看起来不是4英寸大小。 有没有在Xcode选项使用所有4英寸?

仅在iOS应用中捆绑视网膜图像

我们可以只使用iOS应用程序使用视网膜图像吗? 在没有非视网膜图像的情况下,应用程序可以在3GS设备上使用吗? 请帮帮我? 提前致谢。

如何在swift中使用.a静态库?

我想在swift中使用我的webrtc .a静态库。 你能帮忙吗? 我读了你不能在迅速使用静态库,这是真的吗?

将UIImageView触摸坐标转换为UIImage坐标

我能够确定在UIImageView触摸事件的坐标。 我需要然后将这些坐标转换为正在显示的图像的坐标 – 这应该是不同的,因为我的图像比UIImageView大得多,我用AspectFit缩放图像。 给定UIImageView的视图坐标,确定触摸事件的图像坐标的最佳方法是什么?

IOS Bluetooth LE:无法使用存储的配对数据进行连接

我被困在我的IOS开发中,我需要帮助。 我不是专家,这也许是一个愚蠢的问题。 我正在尝试做什么 我试图将我的应用程序连接到需要配对的蓝牙LE设备。 目前的行为 没有配对设备和我的iPhone应用程序没有问题。 我能够连接,重新连接和读/写特性没有任何问题。 但是,如果设备需要配对 ,我只能在配对popup确认之后第一次读取/写入特征。 下一次,我发现并连接到我的设备的应用程序,但我没有读/写特性数据的权利,因为(我猜)我没有使用配对信息。 最后… 花了几个小时在网上search没有运气这里是我的问题: 如何使用手机中存储的配对数据将我的应用程序从我的iPhone应用程序连接到蓝牙LE设备? 我错过了什么吗? 是否有可能不是IOS问题,因为如果连接设备的手机中存在配对数据,它会自动使用? 有没有与蓝牙LE和IOS的经验,以帮助我? 更新2013-10-27 我已经发现, 如果配对存在 (没有确认popup),那么通过配对authentication之后就不能读取受保护的特性 。 没有保护的特点没有问题! 我不知道为什么发生,但行为是IOS应用程序永远不会收到设备的答案。 所以如果第一次阅读完成后,不会造成问题。 这里是我用来发现评论中的数据阅读特征的代码。 – (void) peripheral:(CBPeripheral *)peripheral didDiscoverCharacteristicsForService:(CBService *)service error:(NSError *)error; { NSArray *characteristics = [service characteristics]; CBCharacteristic *characteristic; if (peripheral != servicePeripheral) { NSLog(@"Wrong Peripheral.\n"); return ; } if (service != batteryService) […]

从iOS发送多部分POST并读取PHP $ _POST中的参数?

我试图从iPhone / iPad发送一个多行文章到一个PHP服务,问题是,由于某种原因,POST内容types似乎是应用程序/ x-www-form-urlenconded,(我发现这个使用Wireshark) 这实际上是Wireshark POST数据包捕获的一个片段: **Content-Type: application/x-www-form-urlencoded\r\n** Content-Length: 324\r\n [Content length: 324] Connection: keep-alive\r\n \r\n [Full request URI: http://my.server.com/mobile/tools/authentication] Line-based text data: application/x-www-form-urlencoded –0xKhTmLbOuNdArY\r\n Content-Disposition: form-data; name="login"\r\n \r\n hello@hello.com\r\n –0xKhTmLbOuNdArY\r\n Content-Disposition: form-data; name="password"\r\n \r\n somepassword\r\n –0xKhTmLbOuNdArY\r\n \r\n –0xKhTmLbOuNdArY–\r\n 问题是,在服务器我试图从这个POST请求读取login和密码variables,但这是不可能的,因为我认为php认为POST请求是x-www-form-urlencoded ,所以如果我设置authentication.php来做: <?php echo("<pre>") print_r($_POST) echo("</pre>") ?> 我得到这个: <pre>Array\n (\n [–0xKhTmLbOuNdArY\r\n Content-Disposition:_form-data;_name] => "login"\r\n \r\n hello@hello.com\r\n […]

当应用程序未打开时收到推送通知时更新徽章号码

我有一个应用程序,在这个应用程序中,我面对的问题是,只有当我打开通知时,徽章号码才会更新,但即使应用程序未打开,我也需要更新徽章号码。 任何人都可以帮助我?

使用AVFoundation扫描Swift 3.0中的条码或QR码

我正在按照这个教程,并试图将代码从Swift 2.0转换为3.0。 但是当我启动应用程序,该应用程序不起作用! 我的意思是,没有任何反应 这是我的代码: 视图控制器: class ViewController: UIViewController ,BarcodeDelegate { override func prepare(for segue: UIStoryboardSegue, sender: Any?) { let barcodeViewController: BarcodeViewController = segue.destination as! BarcodeViewController barcodeViewController.delegate = self } func barcodeReaded(barcode: String) { codeTextView.text = barcode print(barcode) } } BarcodeVC: import AVFoundation protocol BarcodeDelegate { func barcodeReaded(barcode: String) } class BarcodeViewController: UIViewController,AVCaptureMetadataOutputObjectsDelegate { var […]