Tag: ios8

主线程正在执行长时间运行的常规Parse函数警告

首先,我知道这是什么意思。 问题是,我得到这个错误标准调用不能转换为后台调用。 我得到这个错误的应用程序开始于: [Parse enableLocalDatastore]; PFInstallation *currentInstallation = [PFInstallation currentInstallation]; 我发现这些方法是通过在warnParseOperationOnMainThread上设置一个符号断点并检查调用堆栈而导致麻烦的。 我不能用asynchronous代码来replace这些调用,而据我所知,这些方法是要定期从主线程调用。 这是一个parsing错误,或者我应该从后台线程调用所有这些方法?

iOS 8中模式化部分的部分curl转换

我用两个VC创build了一个简单的应用程序。 我从第一个通过button打开第二个VC。 Seque是“Present Modally”,转换是“Partion Curl”。 这个scheme在iOS7上工作正常,但是在iOS8上,第一个VC的视图在curlanimation的末尾消失:

iOS 8无需安装Xcode即可从用户设备读取控制台日志

任何想法如何从运行iOS 8的用户设备获取控制台日志? 以前的方法,包括iPhoneconfiguration实用程序,似乎不适用于iOS 8 – 后者只是不显示任何东西的控制台。 iOS 7以前的相关iOS应用程序停止工作。 安装Xcode不是一种select,因为用户很可能在运行Windows,并且在任何情况下都不能容忍多GB的下载和安装。

如何在Swift中search包含struct元素的数组?

在types为String,Int等的数组中find一个元素是很直接的 var States = ["CA", "FL", "MI"] var filteredStates = States.filter {$0 == "FL"} // returns false, true, false 现在,我创build了一个结构 struct Candy{ let name:String } 然后初始化它 var candies = [Candy(name: "Chocolate"), Candy(name: "Lollipop"), Candy(name: "Caramel")] 任何人都可以请build议在包含结构元素的数组中find“巧克力”的正确方法? 我无法实现查找或过滤方法。

从不同的目标获取捆绑ID

在我的Xcode项目中,我有4个不同的scheme(prod,dev,staging,staging2),它改变了安装到手机上的应用程序的包标识符。 这样,我可以并排安装所有4个版本,类似于这种技术 。 现在我正在为iOS 8构build一个Today Extension。这是一个新的Target,它需要自己的包标识符。 扩展的绑定标识符必须以父应用的绑定标识符作为前缀,否则会引发警告: error: Embedded binary's bundle identifier is not prefixed with the parent app's bundle identifier. Embedded Binary Bundle Identifier: com.company.app.TodayExtension Parent App Bundle Identifier: com.company.app.staging 在这种情况下,embedded式二进制软件包标识符必须是com.company.app.staging.TodayExtension 。 有没有一种方法可以configuration我的Today Extension目标,通过首先查看父目标的包标识符来设置它的包标识符? 也许通过自定义运行脚本构build阶段?

“便捷初始化程序缺less一个”自我“调用另一个初始化程序”

我试图将我的代码转换为iOS 8项目,我需要一些解释如何解决此警告: "Convenience initializer missing a 'self' call to another initializer" 在这个代码上: -(instancetype) initWithCoder:(NSCoder *)aDecoder // warning: Convenience initializer missing a 'self ' call to another initializer { if (self = [super initWithCoder:aDecoder]) // warning: convenience initializer should not invoke an initializer on 'super' { // some init stuff here } return self; }

什么是showViewController的编程相反:发件人:

我正在写一个仅适用于iOS 8的应用程序,我正在使用“Show”和“Show Detail”segue以及showViewController:sender:和showDetailViewController:sender:方法组合的新自适应演示文稿。 我的问题是什么是调用showViewController:sender:后返回的程序化方式showViewController:sender: ? 视图控制器显示的方式取决于其父上下文。 例如,在一个UINavigationController showViewController:sender:将一个新的控制器推到导航栈上,但是如果在视图控制器图中没有UIKit容器,那么showViewController:sender:最终会做一个演示。 考虑到我可以写我自己的任意容器控制器,检查似乎是不可行的 if (self.navigationController) { [self.navigationController popViewControllerAnimated:YES]; } else if (self.presentingViewController){ … else if ([self.parentViewController isKindOfClass:[CrazyCustomContainer class]]){ [self.parentViewController someWackyUnwindMethod]; } … 等等…那么有没有一种通用的方式来反向显示? 如果不是我看到的唯一解决scheme是使用放松塞格斯的一切。 没有太多的麻烦,但我很好奇。

无法在Simulator XCode 6.0中运行应用程序

从XCode 5.0迁移到XCode 6.0后,项目无法运行,出现以下错误。 An error was encountered while running (Domain = FBSOpenApplicationErrorDomain, Code = 4) 有什么build议么?

通过BackgroundTask在后台维护Multipeer连接会话?

我试图保持一个MultipeerConnectivity“会话”,当应用程序暂时进入后台,所以我想使用一个后台任务,因为我在这里看过几次…问题是我不知道如何“维护”与UIBackgroundTask会议,可以有人请张贴 我不关心广告客户/浏览器,可以阻止它们,但是我希望会话不会因为重新连接超级错误而断开连接。

iOS 8推送通知操作button – 当应用程序处于后台时,handleActionWithIdentifier中的代码不会始终运行

我将两个操作button添加到iOS 8上的推送通知:“ Acceptbutton和Denybutton。 这两个button都不会打开应用程序,但是不同的服务器请求将取决于按下哪个button。 这是我的设置: + (void)requestForPushNotificationToken { UIApplication *application = [UIApplication sharedApplication]; // if ios 8 or greater if ([application respondsToSelector:@selector(registerUserNotificationSettings:)]) { UIMutableUserNotificationAction *acceptAction = [[UIMutableUserNotificationAction alloc] init]; [acceptAction setActivationMode:UIUserNotificationActivationModeBackground]; [acceptAction setTitle:@"Accept"]; [acceptAction setIdentifier:@"ACCEPT_ACTION"]; [acceptAction setDestructive:NO]; [acceptAction setAuthenticationRequired:NO]; UIMutableUserNotificationAction *denyAction = [[UIMutableUserNotificationAction alloc] init]; [denyAction setActivationMode:UIUserNotificationActivationModeBackground]; [denyAction setTitle:@"Deny"]; [denyAction setIdentifier:@"DENY_ACTION"]; [denyAction setDestructive:NO]; [denyAction setAuthenticationRequired:NO]; […]