Я пытаюсь получить доступ к информации GPS в изображениях iPhoto с помощью Script Bridge в Obj-C (XCode 4.1, SDK 10.7). Вот фрагмент кода:
iPhotoApplication *iPhoto = [SBApplication applicationWithBundleIdentifier:@"com.apple.iPhoto"];
NSArray *selection = [iPhoto selection];
for ( iPhotoPhoto *i in selection ) {
NSLog(@"'%@': lat %ld, lon %ld", [i imageFilename], [i latitude], [i longitude]);
}
К сожалению, свойства широты и долготы имеют тип NSInteger, который дает результаты настолько неточные (например, 38 120), что они совершенно бесполезны. Те же свойства при доступе через Applescript дают правильные значения (например, 38.03555555, -120.401388883333). Есть ли лучший способ получить эту информацию в Obj-C?
Кроме того, класс iPhotoPhoto имеет свойство id, которое невозможно получить, поскольку id является зарезервированным словом Obj-C. [я id] компилируется, но вылетает. Опять же, как мне получить это свойство?
Я пытался создать приложение для XCode 4 / SDK 10.7, но безуспешно.