iOS 9和WatchOS 2上的NSUserDefaults(suiteName :) – 不工作?

我以前做过,但似乎没有任何工作。 这是我的代码: 保存在iOS应用程序中 let groupDefaults = NSUserDefaults(suiteName: "group.company.appSharedDefaults") groupDefaults?.setObject(theArray, forKey: "theKey") groupDefaults?.synchronize() 阅读(适用于iOS,但不适用于WatchOS 2) let groupDefaults = NSUserDefaults(suiteName: "group.company.appSharedDefaults") if groupDefaults!.objectForKey("theKey") != nil { textEmojiArray = NSMutableArray(array: groupDefaults!.objectForKey("theKey") as! NSArray) } else { //error } 这两个.entitlements文件都包含group.company.appSharedDefaults 应用程序组function已打开,并在两个目标上都检查了适当的组。 现在,当我在手表上运行读取代码时,objectForKey返回nil,但它在iOS上可用(设备和模拟器结果相同)。 我错过了什么!

使用MonoTouch,HttpClient和Charles Proxy时出现HTTPstream量监控问题

我是HttpClient类的新手,并且遇到了使用Charles Proxy监视请求的问题。 基本上我需要的是监视从模拟器或实际的iOS设备进行的请求。 在这里你可以find一个关于如何configurationCharles for iOS开发的很好的教程。 我正在做简单的HttpClient请求,只是一个简单的授权 async Task<string> authorizeUser() { HttpClient _client = new HttpClient (); _client.BaseAddress = new Uri("https://…../api/"); _client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue ("bearer", token); var content = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("grant_type", "password"), new KeyValuePair<string, string>("username", "theUserName"), new KeyValuePair<string, string>("password", "thePassword") }); var result = await _client.PostAsync("auth", content); string resultContent = […]

使用NSPredicatesearch/过滤自定义类数组

我有一个包含自定义类的对象的数组,我想过滤的数组,如果其中一个类属性包含自定义string。 我有一个方法传递了我想要search的属性(列)和它将search的string(searchString)。 这里是我有的代码: NSPredicate *query = [NSPredicate predicateWithFormat:@"%K contains %K", column, searchString]; NSMutableArray *temp = [displayProviders mutableCopy]; [displayProviders release]; displayProviders = [[temp filteredArrayUsingPredicate:query] mutableCopy]; [temp release]; 但是,它总是在displayProviders = [[temp filteredArrayUsingPredicate:query] mutableCopy]上引发exception; 说这个类不是关键的值编码的密钥[无论searchString是]。 任何想法我做错了什么?

当我收到静默推送通知时,iOS会唤醒我的应用程序吗?(当应用程序不处于运行状态时)

更新问题: 要求是; 一旦我收到安静的通知,我想运行一个Web服务,并在通知栏中显示一个class轮。 它也必须工作,如果应用程序也被杀害。 任何解决方法? 我正在尝试下面的方法。 我是iOS的新手,我在静音推送通知,努力了很多,并陷入困境。 当应用程序未启动时(即从应用程序切换器删除应用程序时),当iOS收到静默推送通知时,iOS是否会唤醒我的应用程序? 我的工作量是 { aps: { content-available: 1, sound: "" } } 。 -(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler{ int CA=[[[userInfo valueForKey:@"aps"] valueForKey:@"content-available"] intValue]; if (CA==1) { my action… } completionHandler(UIBackgroundFetchResultNewData); } 这个方法被调用,并且当应用程序处于前台和后台时工作正常。当应用程序不处于运行状态时(例如,应用程序未从应用程序切换器启动或死亡),唤醒我的应用程序。

为什么“scheduledTimer”会在块外部设置时触发,但不在块内?

下面的代码片段在完成块之外被调用时是完美的,但是当我在块内部设置时,定时器永远不会被触发。 我不明白为什么有一个区别: self.timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(self.foo), userInfo: nil, repeats: true) 最初在块外面调用它时,我并没有使用自引用,但是一旦进入,它就是必需的。 不过,我再次testing了完全相同的代码,它仍然工作。 该块是一个完成HealthKit在询问对HealthKit相关信息的许可后调用。

Google自定义search:iOS中有403错误

谷歌自定义search从我的iPhone 7.1应用程序返回这个403错误。 这是在模拟器中运行时的响应: { "error": { "errors": [ { "domain": "usageLimits", "reason": "accessNotConfigured", "message": "Access Not Configured. Please use Google Developers Console to activate the API for your project." } ], "code": 403, "message": "Access Not Configured. Please use Google Developers Console to activate the API for your project." } } 下面的步骤是否有缺陷? 我想build立特定于iOS应用程序的工作CSE设置过程。 在每一步的截图将有望帮助,而不是混淆! 通过https://www.google.com/cse/创build自定义search引擎(CSE) […]

线程1:EXC_BAD_ACCESS(代码= 1,地址= 0x30000008)

我仍然坚持这个问题,甚至从这个论坛的所有答案。 任何人都可以告诉我以简单的方式做什么? 我是xcode中的新学习者。 我已经启用僵尸对象。 这是我的编码,崩溃了 if ([[[AryStoreknowItem objectAtIndex:indexPath.row] objectForKey:@"action"] isEqualToString:@"a1"]) { NSString *t1 =[[AryStoreknowItem objectAtIndex:indexPath.row] objectForKey:@"title"]; NSString *a1 = [[AryStoreknowItem objectAtIndex:indexPath.row] objectForKey:@"action"]; NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; // saving an NSString [defaults setObject:a1 forKey:@"a1"]; [defaults setObject:t1 forKey:@"t1"]; JournalPage *journal=[[JournalPage alloc]initWithNibName:@"JournalPage" bundle:nil]; [self presentModalViewController:journal animated:YES]; 在我的应用程序中,我有多个ViewController。 当我点击后退button的UINavigationBar然后这种types的问题产生,我不能解释我的问题,因为所有的function正常工作。 例如: – 1 – fitstVController(正常工作) =>它有UITableView,当我点击特定的行然后它将在另一个UIViewController(SecoundViewController) 2 – SecoundViewController(正常工作) […]

NSFetchedResultsController:在后台线程中获取

我有一个或多或less的基本UITableViewController NSFetchedResultsController 。 UITableViewController被推到navigationController's堆栈上。 但是推animation并不stream畅,因为NSFetchedResultsController的获取是在主线程上执行的,因此阻塞了UI。 我的问题是:如何在后台线程中执行NSFetchedResultsController的获取以保持animation的平滑? NSFetchedResultsController和委托方法如下所示: – (NSFetchedResultsController *)fetchedResultsController { if (_fetchedResultsController != nil) { return _fetchedResultsController; } NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; // Edit the entity name as appropriate. NSEntityDescription *entity = [NSEntityDescription entityForName:@"GPGrade" inManagedObjectContext:self.managedObjectContext]; [fetchRequest setEntity:entity]; // Set the batch size to a suitable number. [fetchRequest setFetchBatchSize:20]; //Set predicate NSPredicate *predicate […]

杀死应用程序后,后台提取不起作用

我试图从后台获取url获取数据。 我的func试图获取数据,如果有新的数据,它发送本地通知。 后台抓取大约10 – 20分钟后,我最小化的应用程序。 但是,当我杀了应用程序(双击主页button,closures应用程序)它不起作用。 我等了大约1小时,但没有奏效。 我在android中使用后台服务,它正在成功。 有什么办法从url获取数据,并在应用程序closures时发送本地通知? 我正在使用Xcode 6和Swift 1.2

套接字连接在iOS应用程序转到后台后死亡

Iam使用iPhone应用程序聊天使用套接字连接与服务器进行通信。 当应用程序移动到后台时,我可以看到服务器能够与应用程序进行通信约5分钟。 但在此之后,套接字连接被破坏。 但是,应用程序一旦移动到后台就会停止执行。为什么套接字连接保持5分钟,而不是应用程序的执行。苹果是否指定了连接的确切时间。