respect_24_hour

This project makes it possible to check whether the device is using 12 or 24 hour time.

Supported Platforms

  • Android API 16+ (4.1+, the minimum version supported by Flutter).
  • iOS 8.0+ (the minimum version supported by Flutter).

Getting Started

There is only one getter which is static and can be called anywhere.

//returns bool indicative of whether the device is using 24-hour time format
await Respect24Hour.get24HourFormat;

Troubleshooting - iOS

Xcode 10, Flutter and Swift sometimes don't play along well.

"Could not find auto-linked library" errors

Example error log:

ld: warning: Could not find auto-linked library 'swiftCoreGraphics'
ld: warning: Could not find auto-linked library 'swiftFoundation'
ld: warning: Could not find auto-linked library 'swiftMetal'
ld: warning: Could not find auto-linked library 'swiftDarwin'
ld: warning: Could not find auto-linked library 'swiftUIKit'
ld: warning: Could not find auto-linked library 'swiftObjectiveC'
ld: warning: Could not find auto-linked library 'swiftCoreFoundation'
ld: warning: Could not find auto-linked library 'swiftDispatch'
ld: warning: Could not find auto-linked library 'swiftCoreMedia'
ld: warning: Could not find auto-linked library 'swiftQuartzCore'
ld: warning: Could not find auto-linked library 'swiftCore'
ld: warning: Could not find auto-linked library 'swiftCoreImage'
ld: warning: Could not find auto-linked library 'swiftCoreAudio'
ld: warning: Could not find auto-linked library 'swiftSwiftOnoneSupport'
Undefined symbols for architecture x86_64:
  "__swift_FORCE_LOAD_$_swiftCoreAudio", referenced from:
      __swift_FORCE_LOAD_$_swiftCoreAudio_$_respect_24_hour in librespect_24_hour.a(SwiftRespect24HourPlugin.o)
     (maybe you meant: __swift_FORCE_LOAD_$_swiftCoreAudio_$_respect_24_hour)
  "__swift_FORCE_LOAD_$_swiftQuartzCore", referenced from:
      __swift_FORCE_LOAD_$_swiftQuartzCore_$_respect_24_hour in librespect_24_hour.a(SwiftRespect24HourPlugin.o)
     (maybe you meant: __swift_FORCE_LOAD_$_swiftQuartzCore_$_respect_24_hour)
  "__swift_FORCE_LOAD_$_swiftMetal", referenced from:
      __swift_FORCE_LOAD_$_swiftMetal_$_respect_24_hour in librespect_24_hour.a(SwiftRespect24HourPlugin.o)
     (maybe you meant: __swift_FORCE_LOAD_$_swiftMetal_$_respect_24_hour)

Why is it happening:

When using swift code in pods without swift code in the app itself, such error might occur.

Solution:

Add a dummy .swift file to your project using XCode and when promted, agree to add a Briding-Header.

"'respect_24_hour/respect_24_hour-Swift.h' file not found" Error

Example error log:

.../.pub-cache/hosted/pub.dartlang.org/respect_24_hour-0.0.1/ios/Classes/Respect24HourPlugin.m:2:9: 'respect_24_hour/respect_24_hour-Swift.h' file not found

Why is it happening:

XCode 10 works differently with swift and objective-c files and sometimes the autogenerated file used for including swift code in objective-c files is referenced without package.

Solution:

Delete the 'respect_24_hour/' part from the error causing line - 'respect_24_hour/respect_24_hour-Swift.h'.
Result: respect_24_hour-Swift.h

Libraries

respect_24_hour