我有一个应用程序,要求该人第一次启动应用程序login或创build一个帐户 。 (虽然这通常不被推荐,但这是一个相当具体的用例。) 此外,如果他们已经login, 当应用程序更新时,我想向他们展示一个屏幕,告诉他们新的function(如在iOS11中的注释,照片和音乐)。 这个逻辑应该被封装在ViewControllers还是AppDelegate中? 是否有一种机制可以用于一个或多个不依赖于多个实现的场景?
我正在testingiPhone应用程序的一些代码的执行。 我遵循苹果build议的文档(不使用后台任务,只是一个控制台日志 )。 但是,我没有得到任何东西(我想看到string“你好”)。 这是因为我在模拟器上运行WatchKit扩展应用程序 ? 还是有什么我失踪? 苹果说: 如果您使用的是openParentApplication:reply:,请确保您在input应用程序后立即创build后台任务:handleWatchKitExtensionRequest:reply :. 这将确保iPhone应用程序在后台获取时间,而不是再次被挂起。 此外,将调用包装为endBackgroundTask:在dispatch_after中保持2秒,以确保iPhone应用程序有时间再次发送答复,然后再次被暂停。 我在WatchKit扩展(链接到button的操作方法)上的实现: – (IBAction)sendMessageToApp{ NSString *requestString = [NSString stringWithFormat:@"executeMethodA"]; // This string is arbitrary, just must match here and at the iPhone side of the implementation. NSDictionary *applicationData = [[NSDictionary alloc] initWithObjects:@[requestString] forKeys:@[@"theRequestString"]]; [WKInterfaceController openParentApplication:applicationData reply:^(NSDictionary *replyInfo, NSError *error) { NSLog(@"\nReply info: %@\nError: %@",replyInfo, […]
我怎样才能覆盖search栏的MapKit? 我喜欢新的Google地图应用程序有一个search框和hover在地图上的button。 看左边的图片: 我不知道如何得到这个,因为我还没有编程iOS超过几个星期。 任何关于如何将UI元素hover在Storyboard / Objective-C上的想法? 据推测,这是一个导航栏已被隐藏,但是这是如何做的,它是如何出现在它下面的地图?
我的意思是,我的脚步应该是? 1)获得SKPaymentTransactionStatePurchased 2)从SKPaymentQueue中删除它,并通过[[SKPaymentQueue defaultQueue] finishTransaction: transaction];提供内容[[SKPaymentQueue defaultQueue] finishTransaction: transaction]; 3)validation收据,然后,如果它是无效的,阻止我刚刚提供的内容 或者我应该改变第二步而不是第三步? 1)获得SKPaymentTransactionStatePurchased 2)validation收据,如果无效,则不提供内容 3)从SKPaymentQueue删除它[[SKPaymentQueue defaultQueue] finishTransaction: transaction]; 在第一种情况下,用户可以在购买后closuresnetworking,所以我将无法validation收据。 但是第二步,在步骤1和步骤2之间可能会出现一些互联网问题,所以我不会完成交易,也不会提供内容,这是一个糟糕的用户体验。 那么你为你的应用select了什么方式,为什么? 我的select 我select了第二个场景,因为select第一个场景会让我的应用很容易被iAP Cracker破解。
有很多情况下,你需要“摇动”一个UIView。 (例如,“将小孩用户的注意力吸引到控件上”,“连接速度慢”,“用户input错误”等)。 使用UIKit Dynamics可以做到这一点吗? 所以你必须.. 采取的观点,说在0,0 添加一个spring的概念 给它一个微调,说到“左” 它应该在spring前后摆动,最终再次回到0,0 这可能吗? 我在苹果演示中找不到例子。 干杯 请注意,正如尼尔斯在下面巧妙地解释的那样,在这些情况下,spring并不一定是你想要的“物理感觉”:在其他情况下,它可能是完美的。 据我所知,iOS自己的应用程序中的所有物理(如消息等)现在使用UIKitdynamic,所以对我来说,值得处理“UIView弹簧弹跳”。 只是要清楚,当然你可以做一些“类似”,只是一个animation。 例… 但是现在,这与iOS的其他部分根本没有相同的“物理感觉”。 -(void)userInputErrorShake { [CATransaction begin]; CAKeyframeAnimation * anim = [CAKeyframeAnimation animationWithKeyPath:@"transform"]; anim.values = @[ [NSValue valueWithCATransform3D: CATransform3DMakeTranslation(-4.0f, 0.0f, 0.0f) ], [NSValue valueWithCATransform3D: CATransform3DMakeTranslation(4.0f, 0.0f, 0.0f) ] ]; anim.autoreverses = YES; anim.repeatCount = 1.0f; anim.duration = 0.1f; [CATransaction setCompletionBlock:^{}]; [self.layer […]
在确保最佳体验的同时,提示用户访问摄像机(或其他function)的最有效方法是什么? 访问相机时,iOS必须要求客户允许访问。 众所周知,如果客户说“不”,但后来改变了主意,就没有办法在您的应用程序中改变这个决定。 他们必须转到“设置”并按照多个步骤重新启用访问权限,即: Settings -> Privacy -> Camera -> [Your App] -> turn switch on