Я делаю приложение для iOS, отображающее таймер.Я не думаю, что смогу оставить таймер включенным после того, как пользователь нажмет кнопку «Домой», поэтому я хочу записать время, когда пользователь выходит из приложения, и использовать время, когда он повторно входит в приложение, чтобы обновить таймер.Вот код, который я попробовал:
- (void)applicationWillResignActive:(UIApplication *)application
{
double currentTime = CACurrentMediaTime();
NSLog(@"%g", currentTime);
/*
Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
*/
}
(если я закомментирую тело метода applicationWillResignActive, оно будет прекрасно работать)
Это ошибка, которую я получаю при компиляции
Ld /Users/Max/Library/Developer/Xcode/DerivedData/ImpromptuTimer-cbcnsujnixygrxfhtvkovhnpqamb/Build/Products/Debug-iphonesimulator/ImpromptuTimer.app/ImpromptuTimer нормальный i386 кд / Пользователи / Max / Разработчик / ImpromptuTimer SETENV MACOSX_DEPLOYMENT_TARGET 10,6 SetEnvPATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Developer/Platforms/iPhoneSimulator.platform/Developer/ usr / bin / clang -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk -L / Пользователи / Макс / Библиотека / Разработчик / Xcode / DerivedData / ImpromptuTimer-cbcnsildjmbkovhvvvvvvvvПродукты / Debug-iphonesimulator -F / Пользователи / Max / Библиотека / Разработчик / Xcode / DerivedData / ImpromptuTimer-cbcnsujnixygrxfhtvkovhnpqamb / Сборка / Продукты / Debug-iphonэсимулятормин = 10,6 -Xlinker -objc_abi_version -Xlinker 2 -fobjc-дуга -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED = 50000 -framework UIKit -framework Фундаментные -framework CoreGraphics -о / Пользователи / Max / Library / Developer / Xcode / DerivedData / ImpromptuTimer-cbcnsujnixygrxfhtvkovhnpqamb /Build / Products / Debug-iphonesimulator / ImpromptuTimer.app / ImpromptuTimer
Неопределенные символы для архитектуры i386: «_CACurrentMediaTime», ссылка на которую указана из: - [ImpromptuTimerAppDelegate applicationWillResignActive:] в значении Improm: не найден)для архитектуры i386 clang: ошибка: сбой команды компоновщика с кодом выхода 1 (используйте -v для просмотра вызова)
Я думаю, что ошибка связана с отсутствием импорта правфреймворки, поэтому я попытался импортировать
#import <QuartzCore/CoreAnimation.h>
в мой заголовочный файл AppDelegate, но это тоже не сработало.
Я использую CACurrentMediaTime (), потому что из того, что я прочитал,NSDate зависит от сети и, следовательно, не даст точных временных интервалов с момента последнего использования