iOS 7上的区域监视故障 – 同时显示多个通知

我一直在iOS上开发区域监控大约2个月。 最近我们发现一个小故障,一个半径范围内(大约4.7KM或4700米)的所有地区同时触发。 该设备的当前位置甚至没有接近任何地区。 我不知道是什么引发了这个事件。 我已经通过StackOverFlow,苹果开发者论坛等进行了search,我还没有发现任何类似的问题,我所面临的。 在我正在开发的应用程序中,我们正在监控市内的8个区域(吉隆坡)。 有一次,我的同事发现有4个地区的通知同时在他的电话上触发。 下面是显示他的位置,所有监控区域,触发4区域通知的潜在半径的地图。 绿色标记是设备接收通知时的位置。 蓝圈是设备的潜在半径(大约4700米),覆盖了向设备发送通知的4个区域。 红圈是每个区域的半径。 地图上还有另外两个地区永远不会发送通知(从不遮盖蓝色圆圈) 触发通知的屏幕截图 : 这是我的位置pipe理器代码 : CLLocationManager *locationManager = [LocationTracker sharedLocationManager]; locationManager.delegate = self; locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation; locationManager.distanceFilter = kCLDistanceFilterNone; 这是我的代码didEnterRegion : – -(void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region{ NSString* message = [NSString stringWithFormat:@"Message"]; UIApplicationState state = [[UIApplication sharedApplication] applicationState]; if (state == UIApplicationStateBackground || state == […]

如何在没有浏览器嗅探的情况下将样式表应用于iPhone(而不是IE)?

我想将样式表专门应用于iPhone,而无需在服务器上或通过JavaScript进行浏览器嗅探(通过用户代理string)。 我特别不希望Internet Explorer应用样式表。 苹果公司build议的应用iPhone专用样式表的代码,即: <link media="only screen and (max-device-width: 480px)" href="small-device.css" type= "text/css" rel="stylesheet"> 似乎导致样式表由IE 7和6应用。

我怎样才能使每个消息对象接收线程安全?

我正在开发一个Objective-C应用程序,我想要做什么,如下所示: +—————–+ +—————+ | Some Object | <———- | Synchronize | |(Not Thread Safe)| | Proxy | +—————–+ / +—————+ / / Intercepts [someobject getCount] / @synchronize (someObject) / [someObject getCount] / +———————-+ | Some Calling Object | +———————-+ 我所问的是,如何在objective-c中创build一个对象,拦截发送给另一个对象的消息,以便在消息发送到该对象之前执行代码。 有些事情我认为是行不通的: 类别(我需要这个只发生在某个类的某些实例上) 重写对象(我没有访问对象的来源) 方法调整(再一次,这种需要只发生在某个类的某些实例)

检测UIView是否与其他UIView相交

我在屏幕上有一堆UIViews。 我想知道什么是最好的方式来检查是否一个特定的视图(我参考)是相交任何其他意见。 我现在正在做的是,迭代所有的子视图,并逐个检查帧之间是否有交集。 这似乎不是很有效。 有一个更好的方法吗?

如何使用Facebook iOS SDK 4.0 FBSDKShareDialog共享NSData或phassetvideo

我注意到你可以简单地分享NSDatavideo到Facebook的信使: NSData *videoData = [NSData dataWithContentsOfURL:localVideoUrl]; [FBSDKMessengerSharer shareVideo:videoData withOptions:options]; 但是,在使用本地video文件或phasset分享到Facebook Feed时,我也遇到了同样的困难。 FBSDKShareVideo *video = [FBSDKShareVideo videoWithVideoURL:localVideoUrl]; FBSDKShareVideoContent *content = [[FBSDKShareVideoContent alloc] init]; [content setVideo: video]; [FBSDKShareDialog showFromViewController:nil withContent:content delegate:self]; com.facebook.sdk:FBSDKErrorDeveloperMessageKey =本地对话框只允许资产文件的URL 如何使用phassetvideo进行类似的不错的应用切换行为? 谢谢!

如何添加一个button到MKPointAnnotation?

我只是试图添加一个细节button到我的注释点,不幸的是我不知道该怎么做。 有人可以帮我吗? 下面的图片展示了我想达到的目标。 谢谢! MapKitViewController: import UIKit import MapKit import CoreLocation class MapKitViewController: UIViewController, MKMapViewDelegate { let locationManager = CLLocationManager() @IBOutlet weak var nmapView: MKMapView! override func viewDidLoad() { super.viewDidLoad() locationManager.requestWhenInUseAuthorization() locationManager.startUpdatingLocation() let location = CLLocationCoordinate2D( latitude: 53.4265107, longitude: 14.5520357) let span = MKCoordinateSpanMake(0.05, 0.05) let region = MKCoordinateRegion(center: location, span: span) nmapView.setRegion(region, animated: true) […]

NSUserDefaults和KVO问题

我在我的应用程序中使用NSUserDefaults,并希望在特定值发生更改时收到通知。 为此,我在viewDidLoad中添加了以下几行: NSUserDefaults *settings = [NSUserDefaults standardUserDefaults]; [settings synchronize]; [settings addObserver:self forKeyPath:@"pref_server" options:NSKeyValueObservingOptionNew context:NULL]; 而要通知的方法是: – (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { NSLog(@"Change"); NSUserDefaults *settings = [NSUserDefaults standardUserDefaults]; if (object == settings && [keyPath isEqualToString:@"pref_server"]) { NSLog(@"Server did change"); } } 不幸的是,后者从来没有被称为… @“pref_server”是我在Root.plist中Settings.bundle中设置的项目标识符。 我究竟做错了什么?

Phonegap /cordova相机插件 – 如何获取照片的date/时间戳?

我有一个PhoneGap应用程序,需要让用户使用手机的相机拍照,并让用户从照片已经在设备上select。 我需要捕获照片拍摄date/时间作为元数据的一部分,但我很难找出如何使用Phonegap / Cordova来完成此项工作。 最初我以为我可以使用File API的FileEntry.getMetadata()调用,但是这不会返回修改时间属性的有效date。 我认为phonegap还会转换设备上的文件,以便您从相机插件接收的文件不是设备上的原始文件,所以即使getMetadata()调用工作,date也不是正确的。 有没有其他的解决方法,就是为我需要的每个平台编写我自己的相机插件版本? 看起来疯狂,这将是唯一的方法。

NSInternalInconsistencyException,原因:无法加载捆绑中的NIB

我已经经历了一堆关于这个问题的答案,但似乎没有涉及到我的问题。 我有两个视图,View 1有一个button。 视图2有一个button。 “查看1”button与“查看2”的模型相关联。 我点击视图1中的button,打开视图2。 在视图2中,该button连接到一个触发的IBAction [self dismissViewControllerAnimated:YES completion:nil]; closures视图并再次显示视图1 – 现在,如果我再次按下视图1上的button,我会得到 *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle <x/y/z/SomeApp.app> (loaded)' with name 'tvz-Io-ndz-view-rB8-bq-l6j' and directory 'Main.storyboardc'' 我完全失去了如何解决这个问题。 请帮忙! 编辑: 这只发生在设备没有互联网的时候 如果我有一个呈现图像的webview链中的第三个屏幕,如果我从视图2转到该屏幕应用程序不会崩溃。 编辑2: 我也尝试从头开始重build屏幕。 我完全困惑。 编辑3:完整的Stacktrace 2015-01-19 09:10:58.528 SomeApp[37747:2203364] *** Terminating app due to uncaught […]

应用程序更新,NSURL和文档目录

我在app store中有一个应用程序,它使用Core Data来保存大部分数据。 例外是存储图像。 我将子目录中的图像存储到Documents目录,并将核心数据存储中相应对象属性中的NSURL引用存储到该图像中。 我们已经注意到,当一个更新到应用程序商店,这些图像没有find,因此不显示,使用与以前版本的应用程序存储的引用。 现在,我怀疑问题在于,因为我们使用开发设备进行testing,所以这个问题会传播,因为开发应用程序使用的应用程序目录中的目录与App Store创build/使用的不同。 我注意到应用程序中应用程序的应用程序商店目录与在Xcode中debugging版本时创build的应用程序目录之间的区别。 因此,存储在核心数据中的URL指向错误的应用程序文件夹。 这是一个很难debugging,因为我不能下载一个较旧的应用程序版本,一旦新版本已经在商店发布。 所以我有几个问题。 我可以保证下载相同应用程序版本的人员的Applications子目录相同,这对非开发设备来说是非问题吗? 我应该存储相对图像的URL或string来表示这些资源的位置,或者我应该罚款存储最终是绝对url? 非常感谢,菲利普