Objective c 使用iOS存储和同步图像
我有一个用Objective c 使用iOS存储和同步图像,objective-c,ios,xamarin.ios,synchronization,Objective C,Ios,Xamarin.ios,Synchronization,我有一个用Monotouch编写的应用程序,它提供的一个功能是拍摄照片,然后将照片同步回服务器上的Sybase Sql Anywhere数据库。这个机制在我们的应用程序的Windows版本上运行良好,但在iOS上,我们遇到了与将照片保存在iPad或iPhone上的Sybase Ultralite数据库中有关的技术问题。非常简单地说,如果我们在iPhone上将分辨率设置为非常低,则照片可以正确保存,但如果分辨率更高,则无法保存。该问题与正在保存的图像数据的大小有关。在iPad上,照片通常比用iPh
Monotouch
编写的应用程序,它提供的一个功能是拍摄照片,然后将照片同步回服务器上的Sybase Sql Anywhere
数据库。这个机制在我们的应用程序的Windows
版本上运行良好,但在iOS
上,我们遇到了与将照片保存在iPad或iPhone上的Sybase Ultralite
数据库中有关的技术问题。非常简单地说,如果我们在iPhone上将分辨率设置为非常低,则照片可以正确保存,但如果分辨率更高,则无法保存。该问题与正在保存的图像数据的大小有关。在iPad
上,照片通常比用iPhone
拍摄的照片大,因此在iPad
上保存到数据库的失败率要高于iPhone
无论如何,这只是我们的一些背景情况,而实际的Ultralite
问题并不是这个问题的焦点。我在这里寻找的是提供此功能的替代解决方案(Objective-C
或Monotouch
)。我立即考虑保存到本地数据库,然后将照片数据复制回服务器,因为我在数据库复制方面有很多经验。但也许有更好的办法解决这个问题
解决方案必须允许应用程序:
- 保存照片,使其在本地可用(即使在关闭应用程序或重新启动设备后)
- 必须允许脱机拍摄和保存照片,因为internet连接并非始终可用
- 要么将图像数据同步回服务器数据库,要么将URL同步回后台应用程序可以检索照片的位置。显然,在同步时,应用程序必须在线
有谁能推荐一些解决方案或API,使我能够在不同步图像数据的情况下提供此功能?我在考虑将图像保存到云端,然后只同步一个可以在后台用来检索照片的URL。有什么建议吗?根据您所写的内容,我可能会建议您不要在iOS设备上正确保存图像。内存非常有限,在RAM中保留成批的HR映像将导致内存警告和应用程序崩溃。您应该考虑使用<代码> CordaDATA/CODEC>将本地链接存储到保存到磁盘的图像中。我想,您熟悉
UIImagePickerController
委托回调,它允许您检索UIImage并将其保存到应用程序的Documents目录中,因此我省略它。我不知道“必须允许脱机拍摄和保存照片”是什么意思,因为UIImagePickerController
和AVFoundation
都不依赖于Internet连接。因此,为了离线保存图像,只需使用其中一个(UIImagePickerController
更可取,如果您不需要在相机屏幕上显示任何自定义UI,并且更容易开始使用)。如果需要同时同步多个图像,则应显示UIProgressBar并在队列中上载图像,而您发出的每个REST请求都是用于一次上载单个图像的多部分数据请求。这样你就不会有任何内存管理的问题,你也可以使用HR质量的拍摄图像,没有必要使用最低的。对于HTTP连接,您可能需要考虑使用它简单明了,使用起来非常简单,并且可以节省多个部分请求的时间。你好幼珍。谢谢你的回答。是的,您是对的,如果使用CoreData存储图像,然后再同步数据,那么拍摄照片时应用程序处于脱机状态这一事实就无关紧要了。我在考虑是否可以将数据保存在云中,这样数据就不必同步,但应用程序的脱机特性使得此选项不切实际。我以前使用过AsitpRequest,必须承认它非常容易使用。谢谢你的建议。