Tag: ios8

由于Google SignIn引起的iOS拒绝。 最新的Google SignIn(4.0.0)去safari

我们的应用被苹果拒绝了 devise – 4.0 我们注意到,当用户使用Google+login时,用户被带到Safarilogin或注册帐户,这提供了糟糕的用户体验。 下一步 请修改您的应用,以便用户在应用中使用Google+login。 您可以通过更新到最新的Google+ SDK来完成此操作。 我们build议您使用Safari View Controller API在您的应用程序中显示网页内容。 Safari浏览器控制器允许在应用程序中显示URL并检查来自embedded式浏览器的证书,以便客户可以validation网页URL和SSL证书,以确认他们将自己的login凭据input合法页面。 我正在使用pod,并拥有最新的Google SignIn库,而不是GooglePlus。 图书馆4.0.0(15/05/2016),发行说明 https://developers.google.com/identity/sign-in/ios/release 移除allowSignInWithBrowser并允许来自GIDSignIn的SignInWithWebView属性。 这意味着我没有办法在iOS 8上强制它具有默认的iOS 9行为(在应用程序中打开浏览器之类的Safari浏览器)。 安装Google应用或Google+应用没有任何区别。 试图降级到2.4.0使用cocoa豆荚,但它说 分析依赖关系[!]无法满足以下要求: Google/SignIn (= 2.4.0)需要Podfile Google/SignIn (= 2.4.0)需要Podfile 有任何想法吗? 感谢在前面

TextField中的IOS8文本弹起焦点

有一个奇怪的错误,我切换到我的应用程序中的屏幕。 这导致第一个文本字段成为第一个响应者,并且光标在文本字段内。 然后在字段中input一些文本,并将焦点切换到下一个文本字段,这将导致第一个文本框中的文本弹起并重新向下。 这只发生在有问题的屏幕第一次。 为了复制我需要退出屏幕并返回到它。 任何想法什么会导致文本第一次失去焦点时反弹? 为什么文本字段文本会弹跳?

如何在iOS中使用Swift反转手势识别器时返回信息?

我是iOS Development和Swift的新手。 我在Google上find的许多资源都是用Objective-C编写的,而我也不熟悉它。 我有两个视图故事板,S1和S2。 他们每个人至less有一个视图控制器,VC1和VC2分别。 我使用手势识别器从S1到S2,而不是Segue。 在S2上,我select从表格视图获取的数据。 当我从表格上的列表中按下一个值时,我想把这个值发回到S1。 用Swift做这件事的最好方法是什么? 谢谢!

从另一个开始的一天获得一周

在我用我的方法来尝试这个之前(我有一种感觉是简单的,太抽象了),我想问任何人,如果在Swift中有一个更简单/更直接的方法。 任务是让用户在日历中select任何一天。 那么假设他们在一个月前select了星期二。 现在我想把整整一周放到一个数组中。 所以在星期一,星期二,星期三,星期四,星期五,星期六,星期日。 所以arrays总是会保持7天。 这是事情 – 我想改变这个,所以用户可以定义他们的“开始的一天”是什么 – 例如,如果我把星期四作为我的开始日,那么如果我要从几个数组应该看起来像这样:[周四/周五/周六/周日/周一/周二/周三](数组始终以用户的开始date开始),如果在开始之前selectdate,则会在一周内倒退date。 例如,如果我select星期二14,那么它会回到9日星期四作为开始的一天。 我的做法是简单地做一个循环,从用户指定的那天开始,然后向后走,直到我到达开始date,然后向前走,直到我到达相应的结束date。 有没有更好的方法,而不是做这样的事情? 也许一些漂亮的NSDateComponents我不是软件或一些这样的? 感谢您一如既往的帮助!

iOS8:UIDocumentPickerViewController获取NSData

我已经实现UIDocumentPickerViewController按照文档 ,现在试图从委托方法中选取的文件NSData,但[[NSData alloc] initWithContentsOfURL:]返回nil: – (void)documentPicker:(UIDocumentPickerViewController *)controller didPickDocumentAtURL:(NSURL *)url{ NSData* documentData = [[NSData alloc] initWithContentsOfURL:url]; //documentData is nil documentData = [[NSData alloc] initWithContentsOfFile:[url path]]; //documentData is still nil 🙁 } 我正在使用Xcode6 beta6,iPhone模拟器,文档选取器模式是UIDocumentPickerModeImport 。 尝试检索保存到iCloude Drive的文档。

Autolayout在iOS 8上工作正常,但在iOS 6和7(我使用XCode 6.2)上performance不佳,

我正在使用自动布局来正确地布局UICollectionViewCell中的一些视图。 它适用于iOS 8,但是当我尝试在iOS 7或iOS 6上运行它时,单元格的外观在每次布局时都会有很大的变化(有时我会发现尺寸和位置的细微变化 – 一个或两个像素 – 有时会变大更改,导致一些相当混乱的单元格)。 我发誓我努力find有同样问题的人,但我不能。 我没有find任何答案可以帮助我解决甚至接近理解这个问题。 我将不胜感激任何关于如何解决甚至更好的debugging的意见。 更多信息 我使用Interface Builder来创build视图并设置约束。 单元格的视图总共有17个子视图,包括UIViews和它们的子视图,并且它们有很多约束条件。 每次按下button,我都会更新一个UIColletionView(包括我自定义的单元格的表格)。 我在这里发现的令人愤慨的是,当我运行应用程序时,每次按下button,单元格的子视图都会改变它们的位置和大小。 我从不改变任何约束或框架编程。 此外,在iOS6上的行为是最糟糕的。 这些框架的变化更大,自动布局运行非常缓慢(即使只有一个单元格,也需要3到10秒才能更新iPod Touch 5th Generation上的集合视图)。 最糟糕的是,如果我不断更新UICollectionView,有时XCode会抱怨约束不能同时满足。 但大多数时候它工作得很好。 我也遇到一些设备崩溃,当从超级视图中删除我的一些自动布局function的视图。 我发现这是Autolayout引擎的一个奇怪的行为,由于浮动错误可能会导致一些错误的计算。 我想知道这两个问题是相关的。 因为在search了几乎整整一天之后,我在整个networking上找不到任何帮助,所以我开始认为这是一个愚蠢的解决scheme的愚蠢的错误。 我确实希望如此。 提前致谢! SCREENSHOTS 我添加了一些截图来帮助你看到问题。 为了获得这些屏幕截图,我使用iOS 6在iPod Touch第5代上运行应用程序。iPhone 4和iOS 7的行为不同(它performance得好多了,但是我仍然可以看到元素在一些像素周围移动)。 每次我点击“更新”button,我从其超级视图(整个屏幕)中删除包含UICollectionView的视图并重新添加。 我不摧毁这个观点,它只创build一次。 我认为这可能是问题的根源(一些自动布局计算缓冲区保存了之前布局的值),但是破坏它并不能解决问题(尽pipe它确实使得位移不那么频繁和令人不安,但是以性能为代价) 。 这是预期的行为。 这是应用程序打开时的视图: 错位的意见。 这是第一次按下“更新”button的结果: 第二次按下button后的结果: 第三次按下button后的结果: 如果我继续按下button,我会在屏幕截图3和4之间交替布局(或者至less它们看起来很像)。 我给自动退出,这是为什么 那么,我真的放弃使用自动布局。 我花了将近一个星期的时间学习了很多东西(特别是布置和animation视图)。 我认为这是一个奇妙而强大的function,我学会了去爱它。 但是,我需要支持iOS6和iOS7。 […]

WKWebViewembeddedvideo发布后继续播放声音

我正在实施一个服务,以播放video文件与Web视图。 我从UIWebView迁移到WKWebView,并试图播放Youtube和Coubvideo。 几乎所有东西都没问题,在iOS 8中没有崩溃,但是在WKWebView发布并从屏幕上移除后,video声音会持续播放一段时间(有些情况下大约需要45秒)。 我无法find阻止video的方式。 我试图用媒体播放器捕获系统通知,但没有成功。 有什么办法可以阻止WKWebView中的声音或video? 接下来是WKWebviewconfiguration: //javascript for configurate video viewport (not full screen) NSString *jScript = [NSString stringWithFormat:@"var meta = document.createElement('meta'); meta.setAttribute('name', 'viewport'); meta.setAttribute('content', 'width=%d, height=%d, initial-scale=1, maximum-scale=1'); document.getElementsByTagName('head')[0].appendChild(meta);", (int)VIEW_WIDTH, (int)VIEW_HEIGHT ]; WKUserScript *wkUScript = [[WKUserScript alloc] initWithSource:jScript injectionTime:WKUserScriptInjectionTimeAtDocumentEnd forMainFrameOnly:YES]; WKUserContentController *wkUController = [[WKUserContentController alloc] init]; [wkUController addUserScript:wkUScript]; WKWebViewConfiguration *config = [WKWebViewConfiguration […]

iOS 8中的自定义字体不显示

在为iOS 7构build时,我的自定义字体正确显示在UILabel中。 但是,使用XCode 6和iOS 8构build另一个“标准”字体会显示出来。 码: UILabel *label = [[UILabel alloc] initWithFrame:rect]; UIFont *font = [[CAPTheme sharedTheme] appTitleFont]; label.text = title; label.textAlignment = NSTextAlignmentCenter; label.textColor = [UIColor whiteColor]; label.backgroundColor = [UIColor clearColor]; label.alpha = kLabelAlphaConstant; [label setFont:font]; … – (UIFont *)appTitleFont { NSArray *familyNames = [UIFont familyNames]; for (NSString *aFamilyName in familyNames) { NSArray *fontNames […]

为什么在设置约束条件时,我的UITableView报告自己是600×600,还是故事板中的内容?

我的UITableView ,当我在debugging器中的帧,报告其宽度和高度为600×600。 我把它固定在它的视图控制器的两侧,所以我不明白为什么它会报告这一点。 600×600是Any x Any Storyboard网格中的尺寸,但正如我所说,它应该更新。 这是一个小故障?

AVCaptureSession addInput问题与ios8

我有一个AVCaptureSession的应用程序与以前的iOS版本正常工作,但后来我试着运行与ios8,应用程序坠毁零星的设备上。 但问题没有解决。 例外进入“[会话addInput:input];” 。 请咨询如何解决。 请validation我的下面的代码,并得到错误在[会话addInput:input]; 打印错误描述:Error Domain = AVFoundationErrorDomain Code = -11852“不能使用后退摄像头”UserInfo = 0x17c076e0 {NSLocalizedDescription =不能使用后退摄像头,AVErrorDeviceKey =,NSLocalizedFailureReason =这个程序没有被授权使用后视镜。 #import "CameraViewController.h" #import "MAImagePickerControllerAdjustViewController.h" #import "PopupViewController.h" #import "MAImagePickerFinalViewController.h" @implementation CameraViewController @synthesize vImagePreview; @synthesize vImage; @synthesize stillImageOutput; @synthesize lFrameCount; @synthesize session; @synthesize device; @synthesize oneOff; @synthesize captureManager = _captureManager; @synthesize flashButton = _flashButton; @synthesize vImage1; @synthesize vImage2; […]