Tag: iphone

定期iOS背景位置更新

我正在写一个应用程序,需要高精度和低频率的背景位置更新。 该解决scheme似乎是一个后台NSTimer任务,启动位置pipe理器的更新,然后立即closures。 这个问题之前已经被问到: 如何在iOS应用程序中每隔n分钟更新一次后台位置? 应用程序转到后台后,每n分钟获取一次用户位置 iOS不是典型的后台位置跟踪计时器问题 具有“位置”后台模式的iOS长时间运行后台计时器 基于位置跟踪的iOS全职后台服务 但我还没有得到一个最低工作的例子 。 在对上述接受的答案进行了各种排列之后,我总结了一个起点。 进入背景: – (void)applicationDidEnterBackground:(UIApplication *)application { self.bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{ NSLog(@"ending background task"); [[UIApplication sharedApplication] endBackgroundTask:self.bgTask]; self.bgTask = UIBackgroundTaskInvalid; }]; self.timer = [NSTimer scheduledTimerWithTimeInterval:60 target:self.locationManager selector:@selector(startUpdatingLocation) userInfo:nil repeats:YES]; } 和委托方法: – (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation { NSLog(@"%@", newLocation); NSLog(@"background time: %f", [UIApplication […]

如何检查一个应用程序是从iPhone上的网页安装?

我想要创build一个web页面,如果iPhone没有安装应用程序,将把iPhoneredirect到应用程序商店,但是如果iPhone安装了应用程序,我希望它打开应用程序。 我已经在iPhone应用程序中实现了一个自定义url,所以我有一个类似于以下内容的应用程序的url: myapp:// 如果此url无效,我希望网页redirect到app store。 这可能吗? 如果我没有在手机上安装应用程序,并在safari中写入myapp:// url,我所得到的只是一条错误消息。 即使有JavaScript的丑陋黑客我真的想知道?

在导航控制器中设置后退button的动作

我试图覆盖导航控制器中后退button的默认操作。 我在自定义button上提供了一个目标操作。 奇怪的是,当通过backbutton属性赋值时,它并不关注它们,它只是popup当前视图并返回到根: UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle: @"Servers" style:UIBarButtonItemStylePlain target:self action:@selector(home)]; self.navigationItem.backBarButtonItem = backButton; 只要我通过navigationItem上的leftBarButtonItem设置它,它会调用我的动作,但是这个button看起来像一个普通的圆形而不是箭头后面的一个: self.navigationItem.leftBarButtonItem = backButton; 如何在返回到根视图之前调用我的自定义操作? 有没有办法来覆盖默认的后退动作,还是有一种方法,总是在离开视图时调用(viewDidUnload不这样做)?

UIView和UILabels在iPhone上的渐变

可能重复: 在iPhone应用程序中手动绘制渐变? 我的应用程序需要在UIView或UILabel显示文本,但是背景必须是渐变而不是真正的UIColor 。 使用graphics程序创build所需的外观并不好,因为文本可能因服务器返回的数据而异。 有没有人知道最快的方法来解决这个问题? 你的想法是不胜感激。

如何从Javascript调用Objective-C?

我有一个WebView,我想从JavaScript调用Objective-C中的视图。 有人知道我怎么能做到这一点? 我在我的ViewController中有这样的代码: – (BOOL)webView:(UIWebView *)webView2 shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { NSString *requestString = [[request URL] absoluteString]; NSArray *components = [requestString componentsSeparatedByString:@":"]; if ([components count] > 1 && [(NSString *)[components objectAtIndex:0] isEqualToString:@"myapp"]) { if([(NSString *)[components objectAtIndex:1] isEqualToString:@"myfunction"]) { NSLog([components objectAtIndex:2]); [[Airship shared] displayStoreFront]; //<- This is the code to open the Store NSLog([components objectAtIndex:3]); // param2 […]

检测特定的iPhone / iPod touch型号

可能重复: 用iPhone SDK确定设备(iPhone,iPod Touch) 我正在制作一款利用iPhone的点对点蓝牙function(可能是iPod touch第二代)的游戏。 但是,要阻止用户尝试在iPod 1st Gen和iPhone 2G上玩多人游戏,我需要检查特定的设备型号。 [[UIDevice currentDevice]模式]只会告诉我该设备是“iPhone”还是“iPod touch”。 有没有办法检查具体的设备型号,如:“iPhone 3GS”,“iPod touch第一代”或什么的。 编辑: 有一个UIDevice的类别(我认为它是由Erica Sadun创build的,我不赞赏它)使用下面的代码来获取特定的设备模型。 您可以在这里find整个类别以及其他有用的东西: https : //github.com/erica/uidevice-extension #include <sys/types.h> #include <sys/sysctl.h> @implementation UIDevice (Hardware) /* Platforms iPhone1,1 -> iPhone 1G iPhone1,2 -> iPhone 3G iPod1,1 -> iPod touch 1G iPod2,1 -> iPod touch 2G */ – (NSString *) platform […]

了解Cocoa和Objective-C的引用计数

我只是开始看Objective-C和Cocoa,以期玩iPhone SDK。 我对C的malloc和free概念很合适,但Cocoa的引用计数scheme让我颇为困惑。 一旦你了解它,我就会被告知它非常优雅,但是我还没有完成。 如何release , retain和autorelease工作以及有关使用约定是什么? (或者说失败了,你读了什么帮助你得到了它?)

iOS崩溃报告:atos不按预期工作

我正在查看苹果提供的崩溃报告 Hardware Model: iPhone4,1 Version: ??? (???) Code Type: ARM (Native) Parent Process: launchd [1] Date/Time: 2012-11-18 16:03:44.951 -0600 OS Version: iOS 6.0.1 (10A523) Report Version: 104 Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x51fe5264 Crashed Thread: 0 Thread 0 name: Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libobjc.A.dylib 0x352925b0 objc_msgSend + 16 1 […]

目标C HTML转义/ unescape

想知道是否有一个简单的方法在Objective C中做一个简单的HTML转义/ unescape。我想要的是这样的伪代码: NSString *string = @"&lt;span&gt;Foo&lt;/span&gt;"; [string stringByUnescapingHTML]; 哪个返回 <span>Foo</span> 希望能够避免所有其他的HTML实体,甚至像Ӓ之类的ASCII码。 Cocoa Touch / UIKit中有没有方法可以做到这一点?

粗体和非粗体文本在一个单一的UILabel?

如何在uiLabel中包含粗体和非粗体文本? 我宁愿不使用UIWebView ..我也读过这可能使用NSAttributedString,但我不知道如何使用它。 有任何想法吗? 苹果公司在他们的几个应用中实现了这一点; 示例截图: 谢谢! – Dom