{ "id": "176051", "key": "TIMOB-28511", "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": "21201", "description": "", "name": "Release 10.1.0", "archived": false, "released": true, "releaseDate": "2021-09-28" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2021-08-26T09:22:49.000+0000", "created": "2021-02-13T19:57:34.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "9.3.1.GA", "build", "module", "titanium", "titanium-cli" ], "versions": [], "issuelinks": [], "assignee": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "updated": "2021-08-26T09:22:49.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": "Hi guys!\r\nWe've been using Hans Knochel Firebase modules for both iOS and Android for a while now, working smooth. However, after SDK 9.3.1 bump (CLI version 5.3.0) we ran into a bug trying to use latest module releases.\r\nTi (or Xcode) needs the Header folders inside .xcframework to be present in order to successfully build the app.\r\n\r\nIt works fine if you download the zip locally and build, however, when pushing to github, where empty folders are not tracked, and then checking out, builds fail due to these non-present empty header folders.\r\n\r\nIt happened with firebase.core 5.0.0, firebase.analytics 4.0.0 and firebase.cloudmessaging 5.0.0\r\nI'm pretty sure it will happen to other modules as well.\r\n\r\nh5.Steps to reproduce\r\n\r\n1. Download https://github.com/hansemannn/titanium-firebase-cloud-messaging/releases/tag/ios-6.0.0 and add it to your app\r\n2. Remove the Headers directories underneath {{modules/firebase.cloudmessaging/6.0.0/firebase.cloudmessaging.xcframework/}}\r\n3. Build the application\r\n\r\nh5.Actual\r\n\r\nBuild errors\r\n\r\nh5.Expected\r\n\r\nNo error", "attachment": [], "flagged": false, "summary": "iOS: Build fails if module is missing Headers folder in xcframework", "creator": { "name": "perdona", "key": "perdona", "displayName": "Caio Perdona", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "perdona", "key": "perdona", "displayName": "Caio Perdona", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Operating System\r\n Name = macOS\r\n Version = 11.2.1\r\n Architecture = 64bit\r\n # CPUs = 12\r\n Memory = 16.0GB\r\n\r\nNode.js\r\n Node.js Version = 12.19.0\r\n npm Version = 6.14.8\r\n\r\nTitanium CLI\r\n CLI Version = 5.3.0\r\n node-appc Version = 1.1.2\r\n\r\nTitanium SDK\r\n 9.3.1.GA\r\n Version = 9.3.1\r\n Install Location = /Users/perdona/Library/Application Support/Titanium/mobilesdk/osx/9.3.1.GA\r\n Platforms = iphone, android\r\n git Hash = ef44fd49bc\r\n git Timestamp = 1/25/2021 18:13\r\n node-appc Version = 1.1.2", "comment": { "comments": [ { "id": "458242", "author": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "body": "[~vijaysingh] [~cwilliams], should the CLI generate something like a txt file in the headers directory during module build if there's no headers or maybe just make a headers folder if it doesn't exist during app build?", "updateAuthor": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "created": "2021-02-15T15:02:52.000+0000", "updated": "2021-02-15T15:02:52.000+0000" }, { "id": "458244", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Yep, the CLI should ensure the folder is created. I'm wondering when that broke - maybe with the xcframework support, since static modules are not affected by this. ", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2021-02-16T08:18:14.000+0000", "updated": "2021-02-16T08:18:14.000+0000" }, { "id": "458253", "author": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Yes. In case of XCFramework there should be 'Headers' folder for every variant of library based (.a) XCFramework. e.g inside test.xcframework/ios-arm64_armv7/, test.xcframework/ios-arm64_x86_64-maccatalyst/, there should be 'Headers' folder.\r\n\r\nFor framework based (.framework) XCframeworks it is already there.", "updateAuthor": { "name": "vijaysingh", "key": "vijaysingh", "displayName": "Vijay Singh", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2021-02-16T18:44:36.000+0000", "updated": "2021-02-16T18:44:36.000+0000" }, { "id": "458943", "author": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "body": "PR: https://github.com/appcelerator/titanium_mobile/pull/12996", "updateAuthor": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "created": "2021-08-03T10:03:10.000+0000", "updated": "2021-08-03T10:03:10.000+0000" }, { "id": "458982", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "That PR looks great! Hopefully it can land in master soon!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2021-08-14T08:21:42.000+0000", "updated": "2021-08-14T08:21:42.000+0000" } ], "maxResults": 5, "total": 5, "startAt": 0 } } }