{ "id": "163365", "key": "TIMOB-23937", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "16980", "description": "New V8", "name": "Release 6.0.0", "archived": false, "released": true, "releaseDate": "2016-11-15" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2016-09-28T05:13:34.000+0000", "created": "2016-09-21T20:44:20.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "qe-6.0.0" ], "versions": [ { "id": "16980", "description": "New V8", "name": "Release 6.0.0", "archived": false, "released": true, "releaseDate": "2016-11-15" } ], "issuelinks": [], "assignee": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2016-09-28T14:22:57.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "If a recorded video is edited (by changing/dragging the start or end points) then the video is not saved to the photo gallery, even though {{saveToPhotoGallery}} is true.\r\n\r\n*Steps to reproduce issue*\r\n1. Create a new project and use the code below\r\n2. Build the project for an iOS device\r\n3. Click {{Open Camera}}\r\n4. Record a video\r\n5. Edit the start or end points of the video by dragging the bars at the edges of the timeline at the top of the screen\r\n6. Click {{Use Video}}\r\n7. Go the device's photo gallery\r\n\r\n*Expected Results*\r\nThe edited video is present, as per our docs:\r\n{quote}\r\nsaveToPhotoGallery (boolean) whether modified media should be saved back to the gallery, generally only useful with allowEditing=true\r\n{quote}\r\n\r\n*Actual Results*\r\nThe edited video is not present\r\n\r\n*Notes*\r\nIf you do not edit the video, it is correctly saved to the photo gallery\r\nIf on {{iOS 10}} you need to add these keys to your tiapp.xml:\r\n{code}\r\nNSCameraUsageDescription\r\nCan we use your camera?\r\nNSMicrophoneUsageDescription\r\nCan we use your microphone?\r\nNSPhotoLibraryUsageDescription\r\nCan we save to your library?\r\n{code}\r\n\r\n*Code*\r\n{code}\r\nvar win = Titanium.UI.createWindow({\r\n backgroundColor: \"#FFFFFF\"\r\n});\r\n \r\nvar button = Titanium.UI.createButton({\r\n title: \"Open camera\"\r\n});\r\n \r\nbutton.addEventListener(\"click\", function(e) {\r\n if (!Ti.Media.hasCameraPermissions()) {\r\n Ti.Media.requestCameraPermissions(takeVideo);\r\n } else {\r\n takeVideo();\r\n }\r\n});\r\n \r\nwin.add(button);\r\nwin.open();\r\n \r\nfunction takeVideo() {\r\n Ti.Media.showCamera({\r\n success: function(e) {\r\n Ti.API.info(\"Video captured successfully!\");\r\n },\r\n error: function(e) {\r\n alert(\"There was an error\");\r\n },\r\n cancel: function(e) {\r\n alert(\"The event was cancelled\");\r\n },\r\n allowEditing: true,\r\n saveToPhotoGallery: true,\r\n mediaTypes: [Ti.Media.MEDIA_TYPE_VIDEO],\r\n videoQuality: Ti.Media.QUALITY_HIGH\r\n });\r\n}\r\n{code}", "attachment": [], "flagged": false, "summary": "iOS: Edited videos are not saved to photo gallery", "creator": { "name": "ewieber", "key": "ewieber", "displayName": "Eric Wieber", "active": false, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "ewieber", "key": "ewieber", "displayName": "Eric Wieber", "active": false, "timeZone": "America/Los_Angeles" }, "environment": "MacOS 10.12 (16A323)\r\nStudio 4.7.1.201609100950\r\nTi SDK 6.0.0.v20160921004951\r\nAppc NPM 4.2.7\r\nAppc CLI 6.0.0-7\r\nAlloy 1.9.1\r\nXcode 8.0 (8A218a)", "comment": { "comments": [ { "id": "396930", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Hey [~ewieber]!\r\n\r\n-Only happening on Titanium SDK 6.0.0+ or also on 5.5.0? And only on iOS 10 or also iOS < 10? Need to get some more background to know where to look. Thanks!-\r\n\r\n*EDIT*: Probably cause by a side-effect of TIMOB-23699.\r\n\r\nIt *is* caused by the above issue. The asset-writer gave a different URL than the one we use for the temporary directory. PR incoming.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-09-22T10:45:50.000+0000", "updated": "2016-09-22T11:05:20.000+0000" }, { "id": "396932", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "PR (master): https://github.com/appcelerator/titanium_mobile/pull/8414\r\nPR (6_0_X): https://github.com/appcelerator/titanium_mobile/pull/8415", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-09-22T11:08:12.000+0000", "updated": "2016-09-22T11:09:35.000+0000" }, { "id": "397482", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "CR and FT passed. PRs merged.", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-09-28T05:13:25.000+0000", "updated": "2016-09-28T05:13:25.000+0000" }, { "id": "397508", "author": { "name": "htbryant", "key": "htbryant", "displayName": "Harry Bryant", "active": true, "timeZone": "Europe/London" }, "body": "Verified as fixed, editing videos now save to the photo gallery correctly with {{saveToPhotoGallery}} set to true. When to set to false, the video is not saved.\r\n\r\niPhone 6 Plus 10.0.1 Device\r\niPhone 5S 9.3.5 Device\r\nMac OSX El Capitan 10.11.6\r\nTi SDK: 6.0.0.v20160927221257\r\nAppc Studio: 4.8.0.201609232005\r\nAppc NPM: 4.2.8-7\r\nApp CLI: 6.0.0-54\r\nXcode 8.0 \r\nNode v4.4.7\r\n\r\n*Closing ticket.*", "updateAuthor": { "name": "htbryant", "key": "htbryant", "displayName": "Harry Bryant", "active": true, "timeZone": "Europe/London" }, "created": "2016-09-28T14:22:49.000+0000", "updated": "2016-09-28T14:22:49.000+0000" } ], "maxResults": 4, "total": 4, "startAt": 0 } } }