iOS恢复应用程序购买与收据

下面的摘录是从苹果文件如何恢复在iOS 7的应用程序购买。他们说,你可以存储收据,以后找出他们已经买了什么,或者你可以刷新应用程序收据。 我的问题是: 1)是否有一个应用程序收据或有多个单一的收据? 2)存储这些收据是否更有意义,而不是直接存储用户已经购买的function 3)如何检查我从刷新中得到的收据? 我所有的尝试parsing它失败了。 4)是否有框架已经有很多function(在iCloud上保存收据/购买产品,使购买更容易,处理下载,处理各种连接问题等)已经? 甚至可能支持远程服务器(和validation)。 我希望有人能帮助! 🙂 刷新应用程序收据 创build一个收据刷新请求,设置一个委托,并开始请求。 该请求支持在testing期间在各种状态下获取收据的可选属性,例如过期收据 – 有关详细信息,请参阅SKReceiptRefreshRequest的initWithReceiptProperties:方法的值。 request = [[SKReceiptRefreshRequest alloc] init]; request.delegate = self; [request start]; 刷新收据后,检查并交付添加的任何产品。

ios 5将导航控制器中后退button的背景更改为透明

我已经定制了导航控制器标题栏的背景图像,但我真的很努力将后退button的背景颜色更改为透明,以便它与下面的绿色标题栏相匹配。 我对iOS开发相当新颖。 任何人都可以build议可以做什么? 以下是我用来更改导航控制器标题栏的代码,以防万一: – (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. if ([self.navigationController.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)] ) { UIImage *image = [UIImage imageNamed:@"greenbar.png"]; [self.navigationController.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault]; // [[UIBarButtonItem appearance] setBackButtonBackgroundImage:image forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; } //change back button image } 编辑 :经过一些研究,我设法得到我想要的。 这是更改后退button的背景图片的代码: UIImage *image1 = [UIImage imageNamed:@"back-bt.png"]; […]

iOS上的线程安全延迟初始化

我有一个视图控制器,我想懒惰地初始化,一旦初始化,尽可能使用相同的副本(我不使用单身,因为我最终要从内存中删除它),我使用getter来这样做,我的代码看起来像这样: @property (retain) UIViewController *myController … @synthesize myController = _myController; … – (UIViewController *)myController { if (!_myController) { // Evaluation _myController = [[MyViewController alloc] init]; // Object Creation } return _myController; } 这是有效的,但它不是线程安全的,如果在创build对象之前有多个线程求值为true,那么我会发生内存泄漏。 我试过的一个解决scheme是@synchronized的代码,但我不知道正确的方法来做到这一点。 这似乎工作,(lockForMyController是一个简单的NSString),但它使这部分的代码慢很多: – (UIViewController *)myController { @synchronized(self.lockForMyController){ if (!_myController) { _myController = [[MyViewController alloc] init]; } } return _myController; } 我想知道是否有其他的方式来实现一个懒惰的初始化,线程安全的属性?

在曲线上绘制文本的最高效方法,并对其进行animation处理?

我猜测是从单独的CATextLayers中创build一个string,然后根据需要将它们定位在曲线上,然后进行animation处理。 因为这就是我现在正在做的事情,但是它失去了克宁。 就是这样: 为什么我的曲线文本本身不对? 但核心文本是否更高性能,能够避免整个“拉近上下文”的废话,与精益,平均的核心animation处事方式相比,减less了一切下降,并尊重字距? 即避免drawRect:以及所有其他方面,大大放慢速度,就像在屏幕上绘制的方式一样: https://github.com/darcyliu/CocoaSampleCode/tree/master/CoreTextArcCocoa 设想一串200个字符,绕着一个圆圈弯曲,能够为字符之间的间距设置animation,希望能达到稳定的60fps。 核心animation可以实现这个function,但这是通过将string分成单独的字符并以相同的间距放置在圆周上,导致字距信息完全丢失。 我希望能够做到这一点,而不会失去字距信息,仍然可以dynamic调整60fps的间距。

iOS:如何实现手写识别?

开始iOS开发,我希望在我的应用程序中实现手写识别。 我做了一个谷歌search,但我没有find任何教程在目标c实现文字手势 是否有任何基本的教程可用,实现文本手势… 例如:当用户在屏幕上写入A时,屏幕应显示A 有没有任何演示教程可用于这个项目?

iOS:键盘显示时禁用UITableViewanimation

每个人都想在popup键盘的时候移动UITableView,但是我正在寻找一种方法来在键盘popup时禁用自动animation到光标。 当键盘popup时,我正在经历一个奇怪的摇摆/颠簸/不稳定的滚动行为,并导致UITableView滚动到光标(以避免阻止它)。 我的每个UITableView单元格都有一个UITextView。 popup键盘时,我不会提交任何其他animation。 在这一点上,我想完全禁用animation,并手动滚动到所需的CGPoint。 谢谢!

自动更新的iOS应用程序的企业分布

是否有可能做一个iOS应用程序的企业分布 ,透明地更新自己? 说“更新”我的意思是完全更新其逻辑。 这种方法的一个可能的用法是维护自助服务亭(iPad)。 无法直接更新应用程序二进制文件,但我看到一些可能性: 具有单个UIWebView的应用程序和逻辑在HTML5中实现。 但是,我们不能使用大多数可用于本机应用程序的硬件特定function。 一些多平台框架(可能基于HTML5),允许使用本机应用程序function,并且可以dynamic编译或解释。 越狱? 什么是真正的工作方法呢?

iOS下拉查看

我一直在寻找下拉视图(展开和折叠视图),基本上当用户点击或折叠时展开。 下拉菜单基本上用来包含textview / textfield。 直到现在我无法find如何创build这个下拉视图。 我设法find的是下拉菜单,这有点像一个选项select器,允许您select一个选项。 我只是想包括文字而已。 有没有可能问一些关于这方面的指针? 谢谢。

带有内容插入的UIScrollView自动更改边界

我使用UIScrollView作为分页滚动视图pagesScrollView 。 里面,我把个别UIScrollViews专门用于缩放。 在每个内部,我有一个视图,这是应该是可缩放的页面项目。 所有这一切都在一个带有半透明导航栏的UINavigationController中。 我pagesScrollView有contentInset.top = 64和bounds.origin.y = -64 (这似乎很奇怪,但这就是系统自动设置为我),这工作得很好。 我的屏幕看起来不错! 然而,在scrollViewWillEndDragging调用scrollViewWillEndDragging之后, scrollViewWillEndDragging会从bounds.origin.y = -64开始animation变化为bounds.origin.y = 0 ,这会导致我的页面项目被遮挡由导航栏。 左边是加载时的样子,右边是拖动几个像素后的样子,然后放开,在导航栏下滑动(因为bounds.origin.y会变成0) 。 问题是,我没有任何代码正在改变的界限,我没有任何代码在各种滚动委托方法做任何事情。 我已经添加了一堆滚动委托方法,只是添加了NSLog(),所以我可以找出更改发生的时间/地点,但是这不会发生在我的代码中的任何地方。 所以,我不知道我可以告诉你什么样的代码来帮助你。 编辑:我从头开始build立一个新的项目,删除所有其他variables..我把一个裸UIViewController到一个UINavigationController。 我把一个UIScrollView放到我的View中,查看整个视图的大小。 以下代码是整个项目。 事实certificate,这个问题(下面描述)只有在UIScrollView上的PAGING被启用后才会出现! 跆拳道? 🙂 这里是一个链接,下载一个基本的项目,只有几行代码来演示这个问题。 只要点击滚动视图,你会看到它随着边界的变化而变化。 http://inadaydevelopment.com/stackoverflow/WeirdScrollViews.zip 我怎么可以在我的滚动视图上启用分页,而不会在滚动和移动导航栏下的所有内容时出现界限? 可以将导航栏设置为不透明,避免出现问题,但理想情况是具有标准的iOS7行为,以便在内容视图放大后,允许内容位于导航栏下方,并通过半透明正常显示。 – (void) viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; NSArray *colors = @[ [UIColor blueColor], [UIColor orangeColor], [UIColor magentaColor], ]; NSArray *zoomerColors = […]

UIRefreshControl“拉起来”刷新?

如何将UIRefreshControl添加到UIColloectionView的底部? 这意味着它是如何工作的当滚动(查看旧数据或什么)?