fit::FieldDescriptionMesg fieldDescFrontGearShiftCount; fieldDescFrontGearShiftCount.SetDeveloperDataIndex(0); fieldDescFrontGearShiftCount.SetFieldDefinitionNumber(1); fieldDescFrontGearShiftCount.SetFitBaseTypeId(FIT_BASE_TYPE_UINT16); fieldDescFrontGearShiftCount.SetFieldName(0, L"front_gear_shift_count"); fieldDescFrontGearShiftCount.SetUnits(0, L"count"); ... [super.fe Open:file]; [super.fe WriteMesg:fileId]; [super.fe WriteMesg:devId]; [super.fe WriteMesg:fieldDesc]; [super.fe WriteMesg:fieldDescFrontGearShiftCount]; ... // Write LapMessage fit::LapMesg lap; lap.SetTimestamp(1); lap.SetEvent(FIT_EVENT_LAP); lap.SetEventType(FIT_EVENT_TYPE_STOP); fit::DeveloperField lapFrontGearShiftCountField(fieldDescFrontGearShiftCount, devId); lapFrontGearShiftCountField.SetUINT16Value(1); lap.AddDeveloperField(lapFrontGearShiftCountField); [super.fe WriteMesg:lap]; // Write SessionMessage fit::SessionMesg session; session.SetTimestamp(1); session.SetStartTime(1); session.SetTotalElapsedTime(1); session.SetSport(FIT_SPORT_CYCLING); fit::DeveloperField sessionFrontGearShiftCountField(fieldDescFrontGearShiftCount, devId); sessionFrontGearShiftCountField.SetUINT16Value(1); lap.AddDeveloperField(sessionFrontGearShiftCountField); [super.fe WriteMesg:session]; // Write ActivityMessage fit::ActivityMesg activity; activity.SetTimestamp(1); activity.SetLocalTimestamp(1); activity.SetNumSessions(1); activity.SetType(FIT_ACTIVITY_MANUAL); activity.SetEvent(FIT_EVENT_ACTIVITY); activity.SetEventType(FIT_EVENT_TYPE_STOP); [super.fe WriteMesg:activity]; if (![super.fe Close]) { NSLog(@"Error closing file %@", super.fileName); return -1; } fclose(file);

Any help with a workaround would be appreciated!