kCFStreamErrorDomainSSL,当通过iOS 9中的HTTPS通过IP地址连接到服务器时为-9802

我们有一个iOS应用程序,通过HTTPS连接到我们的服务器。 当应用程序使用新的iOS 9 SDK构build并在iOS 9下运行时,会发生以下错误: NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802) 该应用程序使用AFNetworking 1.3.4与固定的证书。 如果我使用其IP地址连接到服务器,则会出现问题。 它可以工作,如果我添加NSAllowsArbitraryLoadsconfiguration,或者如果我连接到服务器的域名。 Tomcat连接器configuration了sslEnabledProtocols =“TLSv1,TLSv1.1,TLSv1.2”。 我试图覆盖主机名,但似乎并没有改变任何东西。 我还找不到很多有关ATS的正式文件。 也许连接IP地址不应该工作?

没有新的初始化使用类的数据

我有一个TabBar布局,并在主页选项卡,我有一个button“连接”,当按下时发送一个动作到类TransferViewController创build一个GameKit会话。 然后我有另一个选项卡发送,其中有一个button,说“发送文件”,当按下时发送一个动作到类TransferViewController也使用“会话”variables设置使用连接发送文件,但由于它是一个不同的选项卡它创build一个新的控制器实例,它希望我再次连接,但button是在主页选项卡上。 有无论如何,我可以有一个控制器的两个标签没有两个实例? 我希望用户单击主页选项卡上的连接,然后切换到发送选项卡,然后按发送文件并使用另一个选项卡上的连接设置variables。 我很抱歉,如果这是混乱。

从Cell单击button,获取UITableViewCell的indexPath

我在UITableViewCell有一个button(红色十字),点击那个button,我想获得UITableViewCell indexPath 。 现在我将标签分配给每个button,像这样cell.closeButton.tag = indexPath.section和点击button我得到这样的indexPath.section值: @IBAction func closeImageButtonPressed(sender: AnyObject) { data.removeAtIndex(sender.tag) tableView.reloadData() } 这是正确的执行方式还是有没有其他干净的方式来做到这一点?

Swift中的核心数据:只保存for循环中的最后一个对象

我试图将Core Data中的多个对象保存到for循环中的IPodSongs实体,即for song in result{}当前歌曲的标题。 但是我的代码只保存了循环中最后一首歌曲,只是保持覆盖同一个对象。 而不是覆盖相同的对象,我需要每次创build一个新的对象。 我究竟做错了什么? func fetchiPodSongsOnSignup() { var appDel: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate var context: NSManagedObjectContext = appDel.managedObjectContext! var newSong = NSEntityDescription.insertNewObjectForEntityForName("IPodSongs", inManagedObjectContext: context) as! NSManagedObject var request = NSFetchRequest(entityName: "IPodSongs") request.returnsObjectsAsFaults = false var results = context.executeFetchRequest(request, error: nil) let query = MPMediaQuery.songsQuery() let result = query.collections as! [MPMediaItemCollection] […]

Xcode 6 GM – CLLocationManager

我有一个使用Xcode 5制作的项目。我有一个ViewController,我使用CLLocationManager获取手机位置。 我已经实施了两个: -(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations -(void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error 哪个效果很好。 现在我用Xcode 6 GM打开了这个项目,而这两个方法都没有被调用(不在模拟器或者设备上)。 有任何想法吗? 谢谢

在Swift中使用Map来更改自定义结构属性

我有以下结构定义。 struct Person { var firstName :String var lastName :String var active :Bool } 我创build了一个Person的集合,如下所示: var persons :[Person] = [] for var i = 1; i<=10; i++ { var person = Person(firstName: "John \(i)", lastName: "Doe \(i)", active: true) persons.append(person) } 现在我正在尝试使用下面的代码将活动属性更改为false: let inActionPersons = persons.map { (var p) in p.active = false return p […]

以编程方式将iOS设备静音/静音?

我试图从我的应用程序静音设备的振铃器,但出于某种原因使用AVSystemController就像在这个答案( 如何禁用iOS系统的声音 )不会让我沉默的设备一路下来..它下降到1巴的音量,但不完全沉默。 我知道它可以完成,可能有一个像AVSystemController私人的API,我知道苹果仍然会批准应用程序,如果用户期望从应用程序的这种function(因为已经有2个应用程序,我在App Store中find以编程方式静音设备,不需要越狱或类似的东西)。 这些应用程序实际上做的更好 – 它们实际上切换了实际的静音,而不仅仅是将音量减小到零。 有谁知道这样做的方式? 任何帮助将不胜感激! 谢谢!

当ViewController从UIStoryboard实例化时,isMemberOfClass返回no

我有一个OCUnittesting类:PatientTestViewControllerTests。 以下是界面: @interface PatientTestViewControllerTests : SenTestCase @property (nonatomic, strong) PatientTestViewController *testController; @end 和setUp: – (void) setUp { UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Testing" bundle:nil]; self.testController = [storyboard instantiateInitialViewController]; } “testing”故事板是我应用程序中唯一的故事板,并被设置为应用程序的主要故事板。 PatientTestViewController被设置为故事板唯一的视图控制器。 我在testing课上有一个testing: – (void) testInitialTestingStoryboardViewIsPatientTest { STAssertTrue([self.testController isMemberOfClass:[PatientTestViewController class]], @"Instead of the %@, we have %@",[PatientTestViewController class], [self.testController class]); } 此testing失败并显示以下日志消息: 错误: – [PatientTestViewControllerTests testInitialTestingStoryboardViewIsPatientTest]:“[self.testController isMemberOfClass:[PatientTestViewController […]

如何find文件的UTI文件,没有pathExtension,在Swift的path

我一直在试图转换这个代码,我从这个例子 (在Objective-c中)没有运气。 String *path; // contains the file path // Get the UTI from the file's extension: CFStringRef pathExtension = (__bridge_retained CFStringRef)[path pathExtension]; CFStringRef type = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, pathExtension, NULL); CFRelease(pathExtension); // The UTI can be converted to a mime type: NSString *mimeType = (__bridge_transfer NSString *)UTTypeCopyPreferredTagWithClass(type, kUTTagClassMIMEType); if (type != NULL) CFRelease(type); 我的代码是这样的 import MobileCoreServices […]

Swift相当于“

有什么相当于Swift的本地Dictionary [NSDictionary initWithObjects: forKeys:] ? 说我有两个键和值的数组,并希望把它们放在一个字典中。 在Objective-C中,我会这样做: NSArray *keys = @[@"one", @"two", @"three"]; NSArray *values = @[@1, @2, @3]; NSDictionary *dict = [[NSDictionary alloc] initWithObjects: values forKeys: keys]; 当然,我可以通过这两个数组迭代计数器,使用var dict: [String:Int]并添加一步一步的东西。 但是,这似乎不是一个好的解决scheme。 使用zip和enumerate可能是更好的同时迭代两种方法。 然而这种方法意味着有一个可变的字典,而不是一个不可变的字典。 let keys = ["one", "two", "three"] let values = [1, 2, 3] // ??? let dict: [String:Int] = ["one":1, "two":2, "three":3] […]