Tag: objective c

如何使用CaptiveNetwork获取当前的WiFi热点名称

我需要获取当前连接的Wi-Fi热点的名称,例如“BT OpenZone” 我被告知可以用CaptiveNetwork来完成,具体是CNCopyCurrentNetworkInfo 我的代码到目前为止: #import <SystemConfiguration/CaptiveNetwork.h> … // Get the dictionary containing the captive network infomation CFDictionaryRef captiveNtwrkDict = CNCopyCurrentNetworkInfo(kCNNetworkInfoKeySSID); // Get the count of the key value pairs to test if it has worked int count = CFDictionaryGetCount(captiveNtwrkDict); NSLog(@"Count of dict:%d",count); 当代码在WiFi热点设备上运行时, captiveNtwrkDict为零。 有没有人设法得到它的工作? 我无法findCaptiveNetworks上的文档或任何示例代码示例…任何帮助将不胜感激。

计算两个CLLocationCoordinate2D之间的方位

非常“简单”的问题:给定两个CLLocationCoordinate2D,我怎么能从第一个到第二个获得方位(弧度)? 我已经做了大量的研究和研究,包括一般问题和Objective-C / Cocoa Touch / iOS。 这是我的实现: – (float) getHeadingForDirectionFromCoordinate:(CLLocationCoordinate2D)fromLoc toCoordinate:(CLLocationCoordinate2D)toLoc { float fLat = fromLoc.latitude; float fLng = fromLoc.longitude; float tLat = toLoc.latitude; float tLng = toLoc.longitude; return atan2(sin(fLng-tLng)*cos(tLat), cos(fLat)*sin(tLat)-sin(fLat)*cos(tLat)*cos(fLng-tLng)); } 但是,这个方法对我来说不是一致的结果。 如果方位接近正北或南方,似乎没有问题,但是,任何其他方向似乎都会返回不一致的数据,例如: 从50.405018,8.437500 至51.339802,12.403340 我的方法返回:5.918441弧度 应该是1.18660576弧度 (见http://www.movable-type.co.uk/scripts/latlong.html和http://www.movable-type.co.uk/scripts/latlong-map.html?lat1=50.405018&long1=8.437500 &lat2 = 51.339802&long2 = 12.403340 ) 我已经双重和三重检查公式是正确的。 我也发现了一堆像上面这个例子那样的值,有些是正确的,有些是错误的。 我玩过各种模块或者返回值的边界,也没有运气。 有任何想法吗? 我的代码有问题吗? 也许我误解了math函数的工作原理?

如何在Objective-C中编写Timer?

我试图用NSTimer做一个秒表。 我给了下面的代码: nst_Timer = [NSTimer scheduledTimerWithTimeInterval:0.001 target:self selector:@selector(showTime) userInfo:nil repeats:NO]; 它不工作在毫秒。 它需要超过1毫秒。

如何更改iOS上的UISearchBar组件的背景颜色

我知道如何删除/更改search字段周围的UISearchBar背景颜色: [[self.searchBar.subviews objectAtIndex:0] removeFromSuperview]; self.searchBar.backgroundColor = [UIColor grayColor]; 但不知道如何做到这一点: 这需要与iOS 4.3+兼容。

检测运营商连接types(3G / EDGE / GPRS)

我如何获得运营商networking的连接types? 我能够得到如果连接是使用Reachability类的WIFI或WWAN 我能够获得networking标志 可达性标志状态:WR t —— localWiFiStatusForFlags 我能够使用CaptiveNetwork获得WIFI SSID 支持的接口:(en0) en0 => { BSSID = "xx:xx:xx:xx:xx:xx"; SSID = MyWifiNetwork; SSIDDATA = <x1x1x1x1 x1x1x1x1 x1>; } 但我无法区分3G,EDGE或GPRS连接。 任何想法也使用iOS私人API? 谢谢。

UIPopoverController iphone不工作?

我需要使用UIPopOverController为我的iPhone应用程序,我searchstackoverflow有人说UIPopoverController不能运行在iphone iphone设备为什么?当我在iPhone设备上运行我得到这个错误的reason: '-[UIPopoverController initWithContentViewController:] called when not running under UIUserInterfaceIdiomPad.' -(void)btnSetRemainderTapped:(UIButton *)button { setReminderView =[[SetRemainderView alloc]initWithNibName:@"SetRemainderView" bundle:[NSBundle mainBundle]]; setReminderView.contentSizeForViewInPopover = CGSizeMake(setReminderView.view.frame.size.width, setReminderView.view.frame.size.height); setReminderView.delegate = self; popOverController = [[UIPopoverController alloc] initWithContentViewController:setReminderView] ; CGRect rect = CGRectMake(self.view.frame.size.width/2, self.view.frame.size.height/2, 1, 1); [popOverController presentPopoverFromRect:rect inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; } 任何人都可以帮助我吗?

只有一个查看横向模式

我完成了我的iOS应用程序,但我只需要设置一个视图到横向模式,剩下的视图只能在纵向模式下看到。 我正在使用Xcode 5.1,并通过从右侧面板放置在Storyboard View Controller中创build了所有的视图,所以如果您要告诉我在某处编写一些代码,请告诉我在哪里需要编写代码。 我在这里阅读一个解决schemeUINavigationController强制旋转,但我不知道在哪里写代码。 我需要手动创build一个UIViewController吗?

iOS 8 SDK:模态UIWebView和相机/图像select器

我发现,编译iOS 8(并在iOS 8中运行)时, UIWebView无法显示相机/图像select器,如果UIWebView在模态呈现的视图控制器中。 它可以在视图控制器中直接从窗口rootViewController或从其中推送的视图控制器中“挂起”,而没有问题。 testing应用程序可以在https://dl.dropboxusercontent.com/u/6214425/TestModalWebCamera.zipfind,但我会在下面描述。 我的testing应用程序(用故事板构build,但真正的应用程序不使用它们)有两个视图控制器(非原名称的ViewController和ViewController2 )。 ViewController包含在作为根视图控制器的UINavigationController中。 ViewController包含一个UIWebView (工作正常),一个“显示”(“推”)button和一个UIBarButtonItem ,它模态地呈现ViewController2 。 ViewController2有另一个UIWebView ,当“推”,而不是“呈现”时,工作。 ViewController和ViewController2都加载了: – (void)viewDidLoad { [super viewDidLoad]; [self.webView loadHTMLString:@"<input type=\"file\" accept=\"image/*;capture=camera\">" baseURL:nil]; } 当试图使用模式UIWebView Xcode在控制台中打印以下内容并解散应用程序模式: Warning: Attempt to present <UIImagePickerController: 0x150ab800> on <ViewController2: 0x14623580> whose view is not in the window hierarchy! 我目前的理论是, UIActionSheet到UIAlertController的变化可能产生了这种情况,但是很难certificate。 以防万一,我会打开雷达与苹果,以防万一。 有人发现相同的情况和一些解决方法?

我怎样才能以编程方式暂停NSTimer?

我正在使用NSTimer在基于OpenGL的iPhone应用程序中进行一些渲染。 我有一个模式对话框popup并要求用户input。 当用户提供input时,我想暂停一下,比如: [myNSTimer pause]; 我正在使用这个语法,因为我一直在做这样的事情: [myNSTimer invalidate]; 当我想要停止。 我怎样才能以编程方式暂停NSTimer?

与ARC的@属性定义:强或保留?

使用Xcode 4.2和ARC,我注意到NSManagedObject的自动生成的代码仍然读取像这样的属性: @property (nonatomic, retain) NSString * someString; 1)现在不应该retain weak吗? 2)为什么自动生成的代码仍然使用retain 3)什么是在这个财产声明retain正确的替代? 我目前正在使用NSFetchRequestdebugging一个问题,我认为这可能是问题的根源。 思考?