Tag: iOS 6

支持iOS 6的最后机会!

但是几分钟后,构建完成在App Store Connect上的处理后,您将收到一封令人心碎的电子邮件。 这意味着Xcode 10附带的iOS 12 SDK无法发布针对iOS 6的应用程序。该尝试iOS 11 SDK。 Xcode 9是完成这项工作的工具 Xcode 9随附iOS 11 SDK。 同样,可以使用Xcode 9克服上面有关无效体系结构的错误消息。您可以使用名为xcode-install的便捷实用程序来安装Xcode 9。 如果还没有,请使用这两行来获取最新的Xcode 9。 gem install xcode-install xcversion安装9.4.1 安装后,在Xcode 9上打开您的项目。 在iOS 6上部署 现在是时候在真实设备上进行测试了。 为此,我给自己买了不错的二手iPhone 3GS。 这么多年后,我对这款手机的运作情况感到惊讶。 那使我想起了7年前的iOS的外观以及当今非视网膜屏幕的外观😅。 尽管如此,该电话还是灵巧的,并且在性能方面还是可以接受的。 荣誉苹果! 现在,让我们尝试在3GS上运行该应用程序。 如果尝试使用Xcode 9进行操作,则会收到错误消息。 获取Xcode 7抢救DeviceSupport文件 为了能够在iOS 6设备上正常部署,您需要Xcode7。要安装Xcode 7,请使用: xcversion安装7.3.1 尝试在安装后将其打开,您将收到两个错误:

FBRequest requestForMe startWithCompletionHandler方法不能在设备上工作

我遵循Facebook开发者网站关于将Facebook SDK 3.1集成到iOS 6的所有方向。我的代码在iPhone 6.0模拟器(用户可以login到Facebook)上完美运行,但是当我在我的iPhone上运行应用程序时,函数[ FBRequest requestForMe] startWithCompletionHandler]不会生成响应。 根据Facebook开发者网站,它应该是成功或返回一个错误,但它既不。 该应用程序只是坐在那里等待一个永远不会到来的回应。 我的代码如下: – (void)populateUserDetails { if (FBSession.activeSession.isOpen) { [[FBRequest requestForMe] startWithCompletionHandler: ^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) { if (!error) { NSLog(@"logged in"); } else { NSLog(@"error: %@", error); } }]; } else { NSLog(@"no active session"); } } 使用断点,我确定activeSession始终是打开的,所以实际上调用了startWithCompletionHandler:方法。 也许这是一个生成问题,因为它在模拟器上运行良好? 有任何想法吗?

了解GCD块内的的行为

以下问题/陈述仅限于我的理解,如果我在这里错了,请告诉我。 来自: 问题与GCD和太多的线程 转发到jackslash的答案,我不知道大多数的开发人员有使用[NSData dataWithContentsOfURL:URL]似乎阻止(直到它完成)的习惯。如果你通过URL获取一些小的细节,这可能是理想的。但在多进程(我的意思是下载多个文件)的情况下,GCD必须创build许multithreading,并不是一个完美的方式来下载数据。 所以一些专家build议使用GCDs抽象[NSURLConnection sendAsynchronousRequest:queue:completionHandler:来处理这种情况(也是理想的)。 我唯一的问题是[NSURLConnection sendAsynchronousRequest:queue:completionHandler: 将 [NSURLConnection sendAsynchronousRequest:queue:completionHandler: 于 NSData dataWithContentsOfURL:URL]在创build新线程和节省我们被阻止?方面。 真的很感谢你的任何logging的答案。

iPad中的例外,UIImagePickerController必须通过UIPopoverController呈现

我已经创build了一个从相机捕获图像的应用程序。 这是我的代码 -(IBAction) showCameraUI { BOOL hasCamera = [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]; UIImagePickerController* picker = [[UIImagePickerController alloc] init]; picker.delegate = self; picker.sourceType = hasCamera ? UIImagePickerControllerSourceTypeCamera : UIImagePickerControllerSourceTypePhotoLibrary; [self presentModalViewController:picker animated:YES]; } 并实现这个委托方法来获取捕获的图像 – (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { [picker dismissModalViewControllerAnimated:YES]; UIImage* image = [info objectForKey:UIImagePickerControllerOriginalImage]; UIImage *yourImageView = image; } 如果用户取消控制器,则实现此方法 – (void)imagePickerControllerDidCancel:(UIImagePickerController*)picker { [picker dismissModalViewControllerAnimated:YES]; […]