You cannot achieve this..
As Apple is not allow to run any method continuously even the app is in Background...
Only solution is to use local notifications.
I know you are don't what to use Local Notifications but I am keeping code that might be helpful...
ViewController.m
UIApplication* app = [UIApplication sharedApplication];
    NSArray*    oldNotifications = [app scheduledLocalNotifications];
    if ([oldNotifications count] > 0)
        [app cancelAllLocalNotifications];
    NSCalendar* myCalendar = [NSCalendar currentCalendar];
    NSDateComponents* components = [myCalendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit
                                          fromDate:[NSDate date]];
    [components setHour: 10];
    [components setMinute: 00];
    [components setSecond: 0];
     NSDate *alertTime = [myCalendar dateFromComponents:components];
    NSLog(@"@@@@@@@@@@@@Local Notification Set Time is:%@",alertTime);
    UILocalNotification  *notifyAlarm = [[UILocalNotification alloc]
                   init];
    if (notifyAlarm)
    {
        notifyAlarm.fireDate = alertTime;
        notifyAlarm.userInfo=[[NSDictionary alloc]initWithObjectsAndKeys:@“ViewController”,@“Home”, nil];
        //notifyAlarm.applicationIconBadgeNumber=1;
        notifyAlarm.timeZone = [NSTimeZone defaultTimeZone];
        notifyAlarm.repeatInterval = NSHourCalendarUnit;
        notifyAlarm.soundName = @"iPhone_Tritone.mp3";
        notifyAlarm.alertBody = @“Calling Method”;
        [app scheduleLocalNotification:notifyAlarm];
    }
AppDelegate.m
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{
    NSLog(@"@@@@@@@@@@Did Receive Local Notification@@@@@@@@@@@ is:%@",notification.userInfo);
    [self callingUrMethod];
}
Else you achieve it by using Push Notifications to be fired by server everyday at 10AM based on iPhone Device Time...