Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-3427] Ti API: Provide EXIF data interface

GitHub Issuen/a
TypeNew Feature
PriorityLow
StatusClosed
ResolutionDone
Resolution Date2017-08-26T19:07:37.000+0000
Affected Version/sn/a
Fix Version/sn/a
ComponentsTiAPI
Labelsn/a
ReporterRalf Pfeiffer
AssigneeHans Knöchel
Created2011-04-15T03:45:04.000+0000
Updated2018-10-30T07:36:55.000+0000

Description

As Exif data is stored in photo files created using the device camera, it can be exploited to simplify apps as the information does not need to be implemented/duplicated using the DB. Hence, propose that access to the data be considered for inclusion in a future release. This functionality is available for iOS from version 4.0, according to http://developer.appcelerator.com/helpdesk/view/63941. This request also raised for Android.

Comments

  1. Ken-ichi Ueda 2011-04-15

    I would love this functionality. I maintain an Appcelerator-based app for recording natural history observations (http://itunes.apple.com/us/app/inaturalist/id421397028?mt=8) and several people have asked me to add the ability to add observations from existing photos on their phone, and it would be enormously helpful if I could pull out the datetime and GPS info from the photos. I can't do it without access to EXIF data, though.
  2. Tyler Queen 2011-08-11

    I would like to see this feature added as well.
  3. Jay Liu 2011-08-16

    I filed the original HD ticket, which is now [here](http://support.appcelerator.com/tickets/NUL-37132-362) on the new helpdesk. Early this month I filed a follow up ticket [APP-955238](https://support.appcelerator.com/tickets/APP-955238) with a link to [implementation details](http://infinite-sushi.com/2011/02/iphone-and-exif-revisited/) for EXIF and location support. Support staff said they will discuss availability of this feature "early next week" so we should hear some news soon.
  4. Alfred Chiesa 2011-11-28

    Has this Object-C code been converted to a useable Ti.Module? The code looks solid and having access to *[representation metadata]* should give all the access one would need for Exif. While this does't solve the problem for Android, it should be out there for iOS.
  5. Paul Dowsett 2011-12-02

    Reassigning this popular ticket, due to Reggie's absence.
  6. Don Thorp 2011-12-02

    I've converted this to a TiAPI feature request. Note: This will probably not be implemented in core platform, but may be moved to an external module. This is TBD.
  7. Alfred Chiesa 2011-12-02

    Don, serious cash of baked goods or beverages be the reward for this feature/module. Been needing this for a long time.
  8. Ben Bahrenburg 2011-12-02

    Alfred, I'm working on a module for this now. Ping me on twitter at @benCoding in about two weeks.
  9. Alfred Chiesa 2011-12-02

    @Ben, if goods delivered, same reward for you sir.
  10. David Knell 2012-05-24

    What is the status of this? There appears to be a great deal of interest, yet not much progress. ETA???
  11. David Knell 2012-07-09

    Don, It seems like it would make sense to implement this into the Titanium.Media.openPhotoGallery success callback (as opposed to a TiAPI function). You could pass the EXIF data back in the CameraMediaItemType object. Based on the comments, I think this would satisfy all of the requirements. Thoughts? Thanks, Dave
  12. Ingo Muschenetz 2013-04-02

    Please provide a SWAG.
  13. Stefan Moonen 2013-07-30

    While waiting for an official solution I've built a module which provides simple access to Androids ExifInterface class, and provides a simple utility method to automatically rotate an image, resize it to the appropriate size and compress it as a JPEG in one pass. No solution for iOS yet, and I'm sure it won't help in everybody's situation, but it helps us for the time being. You can find it here: https://github.com/freshheads/fh.imagefactory
  14. Michael Gangolf 2013-08-12

    Stefan, thank you for the module! Working fine. Now I know how and when to rotate an image taken in portrait mode on different Android phones.
  15. Dre Wingman 2013-12-20

    Definitely would like to see this soon. Will this also cover, setting the exif data from you app with Titanium.Media.showCamera? As for now, when you take a picture from your app and you even mirror it to the camera roll, there is either no exif data on the image. Below is the native way for saving exif along with the camera picture on ios from a 3d party app http://stackoverflow.com/questions/10166575/photo-taken-with-camera-does-not-contain-any-alasset-metadata
  16. Ingo Muschenetz 2014-03-04

    As a note, there is also this implementation of the functionality: https://github.com/gstreetmedia/Titanium-Mobile-ExifData. Has anyone encountered any limitations using this code?
  17. Ingo Muschenetz 2014-04-07

    Given limited feedback on my last comment, assuming that existing module works well enough, so downgrading priority.
  18. Andrew McElroy 2015-01-06

    This is not a solved problem. Try it with titanium 4.2.1.GA. I'll have a more coherent write up sometime this week. Bottom line, is right now there is no good EXIF solution in titanium at the moment that reliably works with 4.2.1.GA + shows the exif data + shows the gps data. If you can produce an example that satisfies those three requirements, I am all ears.
  19. Hans Knöchel 2017-08-26

    Hey there! I've made a quick module to get rid of this ticket, try it out [here](https://github.com/hansemannn/titanium-exif). Example:
            EXIF.scanEXIFDataFromImage({
              image: Ti.Filesystem.getFile('test.jpg').read(),
              tags: [271], // Array of tags, here: Manufacturer
              callback: function(e) {
                Ti.API.warn(e.exif);
              }
            });
        
    See [this page](http://www.awaresystems.be/imaging/tiff/tifftags/search.html?q=271&Submit=Find+Tags) for the example tag and all other tags to search.
  20. Eric Merriman 2018-08-06

    Closed as completed. If this is in error, please reopen.
  21. Neville Dastur 2018-08-13

    I have to admit receiving a notification on this post today made me chuckle! It only took 6 years and still doesn't have a fix version attached just some link to other people's modules :(
  22. Hans Knöchel 2018-08-13

    [~ndastur] It was closed because it is already available, but as a module and not inside the SDK. You can use EXIF without issues since a while, try it out with the above links.
  23. Zakhar Zhuravlev 2018-10-30

    This module crashes an app with 7.4.1.GA SDK. Without any logs, even in trace mode.

JSON Source