Tag: 目标C

PhoneGap iOS LocalNotifications夏令时

我在iOS中使用(臭名昭着的) Drew Dahlman的Phonegap本地通知 。 它似乎工作。 我从来没有写过一个Objective-C的行,而不愿意(这可能是为什么我现在有麻烦!),但我认为这个插件是不正确的,想要解决它,如果可能的话。 当我在13:00设置通知时,它会正确启动。 但是,如果夏令时正在进行,通知将在14:00,晚一个小时发生。 这是因为时区没有被考虑在内吗? 德鲁提到时区被设置为+0000不是一个问题,但这是错误的信息? 我应该更新插件来处理时区和夏令时? 或者在我自己的代码中处理夏令时,并简单地设置DST为活动状态时的date-1小时? 我想我必须在LocalNotification.m中更新这些行的第二行,但正如我所说,我不确定要更新到哪一行 。 UILocalNotification *notif = [[UILocalNotification alloc] init]; notif.timeZone = [NSTimeZone defaultTimeZone];

如何获得iOS中的任意线程的正确的帧指针?

获取帧指针的方法 在iPhone 5s Device / Xcode 7上运行的Demo App上,我尝试使用thread_get_state获取任意线程的frame pointer ,但总是导致错误: – (BOOL)fillThreadState:(thread_t)thread intoMachineContext:(_STRUCT_MCONTEXT *)machineContext { mach_msg_type_number_t state_count = MACHINE_THREAD_STATE_COUNT; kern_return_t kr = thread_get_state(thread, MACHINE_THREAD_STATE, (thread_state_t)&machineContext->__ss, &state_count); if (kr != KERN_SUCCESS) { char *str = mach_error_string(kr); printf("%s\n", str); return NO; } return YES; } 我读这样的帧指针: uintptr_t fp = machineContext.__ss.__fp; ,根据苹果文件( ARMv6和ARM64 ), 寄存器R7被用作ARMv6上的帧指针 而ARM64上的x29 帧指针寄存器(x29)必须总是寻址一个有效的帧logging,尽pipe一些函数(如叶函数或尾调用)可能会select不在此列表中创build一个条目。 因此,即使没有debugging信息,堆栈跟踪也将始终有意义。 […]

调用一个块的方法?

我是ARC新手。 我想在一个完整的块中调用一个方法,但是我得到了这样的警告: 在这个块中强烈地捕获'self'可能会导致一个保留周期。 。 码: – (void) handlerComplete { //… } – (void) loadData { … operation.completeBlock = ^(NSInteger index) { [self handlerComplete]; }; } 有什么build议? 谢谢。

popToViewController不工作“试图popup到不存在的视图控制器”

我试图使用popToViewController,它不断收到错误“试图popup到不存在的视图控制器”? 我在“设置”视图中,当用户单击“注销”时,我closures“设置”VC并继续返回到调用展开segue方法的mainView。 在unwind segue方法中,我称之为以下。 -(IBAction)endSettingsViaLogout:(UIStoryboardSegue *)segue { //[self performSegueWithIdentifier:@"mainToLoginSegue" sender:self]; [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:1] animated:YES]; //[self.navigationController popViewControllerAnimated:YES]; DLog(@"User finished with search"); } 当poptoVC被调用时,我得到“试图popup到不存在的视图控制器”。 我NSLog的self.navigationController.viewControllers,我可以看到VC的堆栈,我想popup一个在那里? ///更新////// 好的,这是我发现的。 如果我的设置是一个常规的“推”塞格,然后代码工作,我popup回到我想要的地方。 如果我做了一个自定义的继续,从屏幕左侧来,然后停止工作。 即使使用自定义segue,self.navigationcontroller.viewcontrollers也会在堆栈中显示它。 那么为什么我不能回弹呢? 或者我怎样才能回到自定义赛格呢?

在iOS 5应用程序中保存文件的位置?

我听说苹果改变了一些事情,关于iOS 5中的内存pipe理。那么在哪里是最好的地方,在我的新iOS 5应用程序中保存应用程序数据和文件,而不会丢失数据?

AFNetworking从asynchronous任务iOS返回值

我最近询问AFNetwirking GET查询的无值。 这是问题 我有一个答案 + (void)getRequestFromUrl:(NSString *)requestUrl withCompletion:((void (^)(NSString *result))completion { NSString * completeRequestUrl = [NSString stringWithFormat:@"%@%@", BASE_URL, requestUrl]; AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; [manager GET:completeRequestUrl parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { NSString *results = [NSString stringWithFormat:@"%@", responseObject]; if (completion) completion(results); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSString *results = [NSString stringWithFormat:@"Error"]; if (completion) completion(results); […]

没有使用Parse Push和Xamarin IOS注册的设备

我正尝试使用Parse Push和Xamarin IOS设置推送通知。 我遵循这些指南: https://www.parse.com/docs/dotnet/guide#push-notifications-push-on-xamarin-ios https://www.parse.com/apps/quickstart#parse_push/ios/xamarin/existing https: //developer.xamarin.com/guides/cross-platform/application_fundamentals/notifications/ios/remote_notifications_in_ios/ https://groups.google.com/forum/#!topic/parse-developers/65WAfRIiEnA 从我的理解,我修改了我的AppDelegate, 我把这个添加到构造函数中: ParseClient.Initialize("MY APP ID", "MY DOT NET KEY"); 用适当的钥匙。 我将其添加到FinishedLaunching方法 if (Convert.ToInt16(UIDevice.CurrentDevice.SystemVersion.Split('.')[0].ToString()) < 8) { UIRemoteNotificationType notificationTypes = UIRemoteNotificationType.Alert | UIRemoteNotificationType.Badge | UIRemoteNotificationType.Sound; UIApplication.SharedApplication.RegisterForRemoteNotificationTypes(notificationTypes); } else { UIUserNotificationType notificationTypes = UIUserNotificationType.Alert | UIUserNotificationType.Badge | UIUserNotificationType.Sound; var settings = UIUserNotificationSettings.GetSettingsForTypes(notificationTypes, new NSSet(new string[] { })); UIApplication.SharedApplication.RegisterUserNotificationSettings(settings); […]

如何在iOS通用应用程序中创buildpopup式菜单

我需要知道如何使一个通用的应用程序的popup菜单。我曾经使用警报的目的,但我不能够embedded新的字体types,不能够添加任何图像,因此菜单看起来不好。任何一个告诉我解决这个问题的方法。 警报菜单的代码 – (IBAction)setting:(UIBarButtonItem *)sender { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"དཀར་ཆག" message:@"\nགང་རུང་ཞིག་འདེམས་རོགས།" delegate:self cancelButtonTitle:@"ཕྱིར་འཐེན།" otherButtonTitles:@"ཉེ་འཆར།",@"དགའ་མོས།",@"ཉེ་འཆར་གཙང་བཟོ།",@"དགའ་མོས་གཙང་བཟོ།",nil]; [alert show]; }

奇怪的xCode链接器错误我从来没有见过之前说“断言失败”

通过Unity构build这个游戏,并设法通过xCode编译一次。 然而,没有任何明显的改变,这个错误信息就会出现。 我不明白从哪里开始寻找修复,但也许别人有线索? 我通过search看到了类似的错误,虽然与我的相比,修复看起来是任意的。 任何人都可以摆脱一些光? 谢谢!! 0 0x1034de0e7 __assert_rtn + 144 1 0x10351350c archive::File<arm>::makeObjectFileForMember(archive::File<arm>::Entry const*) const + 1142 2 0x103512c9a archive::File<arm>::forEachAtom(ld::File::AtomHandler&) const + 416 3 0x10352a6a1 ld::tool::InputFiles::forEachInitialAtom(ld::File::AtomHandler&, ld::Internal&) + 465 4 0x10353490e ld::tool::Resolver::resolve() + 48 5 0x1034dec47 main + 679 A linker snapshot was created at: /tmp/wingOstar-2014-09-26-171939.ld-snapshot ld: Assertion failed: (memberIndex != 0), function makeObjectFileForMember, […]

以编程方式计算iOS应用程序的FPS(每秒帧数)的方法有多less种?

由于我们正在以programmatically进行讨论,因此乐器不在考虑之列。 提前列出一些参考资料: 计算iphone应用程序的fps(每秒帧数) iOS屏幕上显示FPS(无仪器) iOS界面以什么帧率运行animation? 1.使用CADisplayLink 根据文件, 持续时间属性提供了帧之间的时间量。 您可以在您的应用程序中使用此值来计算显示的帧速率… 所以在我的演示项目中,我将一个displayLink添加到mainRunLoop for UITrackingRunLoopMode: self.displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(screenDidUpdated)]; [self.displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:UITrackingRunLoopMode]; 并使用duration来计算FPS。 但是出于我的预期, duration总是0.016667(〜FPS 60),不pipetableView是否顺利滚动。 我如何使tableView滞后是添加一行- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath : NSData *data = [NSData dataWithContentsOfURL:url]; 然后我转向displayLink.timestamp ,它工作。 2.观察drawRect: 我的第二个想法是观察drawRect:我认为当tableView滚动时,它的drawRect:将被逐帧调用,然后我可以根据drawRect: callings之间的时间差来计算FPS。 但它失败了,导致drawRect:只被调用一次(而单元格多次)。 这种方法类似于Using CADisplayLink ,但也许我select了错误的位置/方法(如drawRect: Using CADisplayLink来观察,我推荐的方法是观察? 问题: 仪器如何精确测量FPS? 文件是using duration to calculate FPS错误的吗? […]