{ "id": "169693", "key": "TIMOB-25227", "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": "18414", "description": "", "name": "Release 6.2.0", "archived": false, "released": true, "releaseDate": "2017-09-13" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2017-09-07T22:51:21.000+0000", "created": "2017-09-05T10:27:52.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "ios", "regression" ], "versions": [ { "id": "17609", "description": "", "name": "Release 7.0.0", "archived": false, "released": true, "releaseDate": "2017-12-07" }, { "id": "18414", "description": "", "name": "Release 6.2.0", "archived": false, "released": true, "releaseDate": "2017-09-13" } ], "issuelinks": [ { "id": "55879", "type": { "id": "10122", "name": "Gantt: start-finish", "inward": "is triggered by", "outward": "is triggering" }, "inwardIssue": { "id": "155646", "key": "TIMOB-20557", "fields": { "summary": "iOS: Allow modules to use third party dynamic libraries", "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" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } } ], "assignee": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2017-09-07T23:36:56.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": [], "description": "When building an app project (or CI build like in my case), the build fails on 6.2.0/master because of an error in the new framework-hook (TIMOB-20557). See the full build log in the [travis-build|https://travis-ci.org/hansemannn/titanium-google-maps] of my Ti.GoogleMaps module:\r\n{code}\r\n[ERROR] An error occurred during build after 758ms\r\n[ERROR] Error: Unknown framework type:\r\n[ERROR] Mach-O universal binary with 4 architectures: [i386: Mach-O object i386] [x86_64: Mach-O 64-bit object x86_64] [arm_v7: Mach-O object arm_v7] [arm64: Mach-O 64-bit object arm64]\r\n[ERROR] /Users/travis/Library/Application Support/Titanium/modules/iphone/ti.googlemaps/3.9.0/platform/GooglePlacePicker.framework/GooglePlacePicker (for architecture i386):\tMach-O object i386\r\n[ERROR] /Users/travis/Library/Application Support/Titanium/modules/iphone/ti.googlemaps/3.9.0/platform/GooglePlacePicker.framework/GooglePlacePicker (for architecture x86_64):\tMach-O 64-bit object x86_64\r\n[ERROR] /Users/travis/Library/Application Support/Titanium/modules/iphone/ti.googlemaps/3.9.0/platform/GooglePlacePicker.framework/GooglePlacePicker (for architecture armv7):\tMach-O object arm_v7\r\n[ERROR] /Users/travis/Library/Application Support/Titanium/modules/iphone/ti.googlemaps/3.9.0/platform/GooglePlacePicker.framework/GooglePlacePicker (for architecture arm64):\tMach-O 64-bit object arm64\r\n{code}\r\n\r\nIt looks like the framework-hook does not pick up the \"GooglePlacePicker\" framework correctly. It was just added a day ago and might have a different structure than before. Google also warned developers who are manually integrating frameworks:\r\n{quote}\r\nNote: - The layout of the static frameworks has changed. There is no longer a Versions directory. The contents of Versions/A has been moved to the root directory of the framework. Developers who manually integrate frameworks with their project should take additional care during the upgrade.\r\n{quote}\r\n\r\nWe should get this under control in 6.2.0.GA so people do not experience module-related crashes. Please note that this module still using the manual framework linking in the module.xcconfig (for backwards-compatibility with older SDK's).\r\n\r\nInvestgating it more further, it turns out that the error is thrown by the following lines, not being able to detect the framework type:\r\n{code:js}\r\nif (stdout.indexOf('current ar archive') !== -1) {\r\n type = FRAMEWORK_TYPE_STATIC;\r\n} else if (stdout.indexOf('dynamically linked shared library') !== -1) {\r\n type = FRAMEWORK_TYPE_DYNAMIC;\r\n} else {\r\n return reject(new Error('Unknown framework type:\\n' + stdout));\r\n}\r\n{code}\r\nWhich makes sense when you look into the type (Mach-O) that needs to be handled.", "attachment": [], "flagged": false, "summary": "iOS: Building app with module that contains a framework fails on 6.2.0", "creator": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "environment": "Ti.SDK 6_2_X / master\r\nmacOS 10.13 Beta 7\r\niOS 10.2 (CI)\r\nXcode 8.2 (CI)", "closedSprints": [ { "id": 944, "state": "closed", "name": "2017 Sprint 18 SDK", "startDate": "2017-08-27T21:13:39.311Z", "endDate": "2017-09-10T21:13:00.000Z", "completeDate": "2017-09-10T21:24:16.435Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "427588", "author": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "body": "PR (master): https://github.com/appcelerator/titanium_mobile/pull/9399\r\nPR (6_2_X): https://github.com/appcelerator/titanium_mobile/pull/9400", "updateAuthor": { "name": "jvennemann", "key": "jvennemann", "displayName": "Jan Vennemann", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-09-05T13:18:43.000+0000", "updated": "2017-09-05T13:18:43.000+0000" }, { "id": "427704", "author": { "name": "ewieber", "key": "ewieber", "displayName": "Eric Wieber", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Review passed; merged.", "updateAuthor": { "name": "ewieber", "key": "ewieber", "displayName": "Eric Wieber", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-09-07T22:51:21.000+0000", "updated": "2017-09-07T22:51:21.000+0000" }, { "id": "427708", "author": { "name": "ewieber", "key": "ewieber", "displayName": "Eric Wieber", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Verified in SDK builds 6.2.0.v20170907160102 & 7.0.0.v20170907160213", "updateAuthor": { "name": "ewieber", "key": "ewieber", "displayName": "Eric Wieber", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-09-07T23:36:56.000+0000", "updated": "2017-09-07T23:36:56.000+0000" } ], "maxResults": 3, "total": 3, "startAt": 0 } } }