{ "id": "174217", "key": "TIMOB-27442", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "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": [], "resolution": null, "resolutiondate": null, "created": "2019-10-03T16:30:21.000+0000", "priority": { "name": "None", "id": "6" }, "labels": [ "cb-tooling", "ioslib" ], "versions": [], "issuelinks": [], "assignee": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "updated": "2020-03-06T21:40:17.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" }, { "id": "10207", "name": "Tooling" } ], "description": "The strategy for relaying log messages from a Titanium app running from the iOS Simulator has evolved over the years.\r\n\r\nTitanium started by writing logs to a file and the CLI would tail the log file. In Titanium 6, this was replaced with a client/server system to reuse code between device and sim builds, but this causes complications for sim builds (TIMOB-27331).\r\n\r\nTitanium SDK 8.2.1 reverts this functionality back to file-based logging for sim builds.\r\n\r\nOne concern is that apparently the file-based logging will not print messages from Swift code.\r\n\r\nThis ticket is investigate logging from Swift code as well as using the Console app or simctl to relay the log messages.\r\n\r\nIn macOS Sierra, the Console app added support for simulator apps. Now that we have ended support for macOS older than Sierra, we can now entertain the idea of relaying logs from the Console app.\r\n\r\nNeed to look into streaming the output from {{xcrun simctl spawn log stream}}.", "attachment": [], "flagged": false, "summary": "iOS: Investigate other means of debug logging simulator builds", "creator": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "subtasks": [], "reporter": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "environment": null, "comment": { "comments": [ { "id": "451893", "author": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "body": "[~cbarber], I did some testing with simctl log stream and created a quick proof of concept here: https://github.com/appcelerator/titanium_mobile/compare/master...janvennemann:syslog-poc\r\n\r\nIt works fine on Xcode 9 through 11. I couldn't test with Xcode 8 since i'm running MacOS Mojave and Xcode 8 is only compatible with High Sierra and lower.\r\n\r\nOn my system this is greatly improving performance as the log file approach eats up 50-60% of my CPU while it is active.", "updateAuthor": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "created": "2019-10-08T12:16:43.000+0000", "updated": "2019-10-08T12:16:43.000+0000" } ], "maxResults": 1, "total": 1, "startAt": 0 } } }