{ "id": "165919", "key": "TIMOB-24391", "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": [], "resolution": { "id": "5", "description": "All attempts at reproducing this issue failed, or not enough information was available to reproduce the issue. Reading the code produces no clues as to why this behavior would occur. If more information appears later, please reopen the issue.", "name": "Cannot Reproduce" }, "resolutiondate": "2017-11-29T14:53:43.000+0000", "created": "2017-02-09T13:32:01.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "bitcode", "ios", "xcode8.3" ], "versions": [ { "id": "17608", "name": "Release 6.1.0", "archived": false, "released": true, "releaseDate": "2017-05-26" }, { "id": "18154", "name": "Release 6.0.1", "archived": false, "released": true, "releaseDate": "2016-12-21" }, { "id": "18928", "name": "Release 6.0.2", "archived": false, "released": true, "releaseDate": "2017-02-27" } ], "issuelinks": [], "assignee": null, "updated": "2018-02-28T19:54:48.000+0000", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "When running an app in Xcode 8.3 Beta, it works fine. But when I include a module that has Bitcode enabled (like Hyperloop and all new modules by default), I get a the following build error:\r\n{code}\r\n[TRACE] error: Invalid bitcode signature\r\n\r\n[TRACE] clang: error: linker command failed with exit code 1 (use -v to see invocation)\r\n\r\n[ERROR] ** BUILD FAILED **\r\n\r\n[ERROR] The following build commands failed:\r\n\r\n[ERROR] Ld build/Intermediates/fbtest.build/Debug-iphoneos/fbtest.build/Objects-normal/arm64/fbtest normal arm64\r\n\r\n[ERROR] (1 failure)\r\n{code}\r\nYou can force a Xcode 8.3 build using {{appc run -p ios -I 10.3 --log-level trace}} which will select Xcode 8.3 to build the iOS 10.3 target app. I was able to reproduce this error using the [hyperloop-examples|https://github.com/appcelerator/hyperloop-examples] app, but not with Ti.Facebook so far - which still needs to investigated.\r\n\r\nIn general, this is no valid {{Bug}} so far, so it's marked as a {{Story}}. In case it get's validated to be one, here are some possible solutions:\r\n- Enabled Bitcode in the Titanium SDK\r\n - Question: Was there a reason that this wasn't enabled when we enabled it in modules?\r\n- Disable Bitcode in all our code-modules\r\n - Hopefully not, it would be a breaking change\r\n\r\nNote: This is *not happening* on Simulator builds. Unfortunately, I didn't see many reports online so far, so it *may* be caused by the Beta version. But we're still in a very early Beta process of Xcode 8.3, so we can investigate this without problems.\r\n\r\n*UPDATE 1*: This is also *not happening* with other native modules like ti.facebook. So it may be related to the Hyperloop metabase compiler.\r\n*UDPATE 2*: The build also *works* when including Hyperloop in a new project, so hyperloop-examples seems to be the only effected one so far. Maybe one of the Cocoapods dependencies is causing the issue.\r\n*UPDATE 3*: Tracked it down to the Cocoapods dependencies. Manually disabling bitcode in the Podfile fixes it (as a workaround):\r\n{code:ruby}\r\npost_install do |installer|\r\n installer.pods_project.targets.each do |target|\r\n target.build_configurations.each do |config|\r\n config.build_settings['ENABLE_BITCODE'] = 'NO'\r\n end\r\n end\r\nend\r\n{code}\r\nor manually injecting the the bitcode build-setting (preferred):\r\n{code}\r\npost_install do |installer|\r\n installer.pods_project.targets.each do |target|\r\n target.build_configurations.each do |config|\r\n cflags = config.build_settings['OTHER_CFLAGS'] || ['$(inherited)']\r\n cflags << '-fembed-bitcode'\r\n config.build_settings['OTHER_CFLAGS'] = cflags\r\n end\r\n end\r\nend\r\n{code}\r\n*UPDATE 4*: I was now able to reproduce it with a different project as well, also using Hyperloop. It is attached in the first comment.\r\n*UPDATE 5*: It does *not* fail the build when using a native project using Cocoapods and Bitcode disabled.", "attachment": [], "flagged": false, "summary": "Hyperloop: iOS - Projects containing bitcode-enabled Cocoapods dependencies cause build-failure in Xcode 8.3 Beta", "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": null, "closedSprints": [ { "id": 975, "state": "closed", "name": "2017 Sprint 24 SDK", "startDate": "2017-11-19T18:59:24.352Z", "endDate": "2017-12-03T18:59:00.000Z", "completeDate": "2017-12-04T23:20:14.151Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "431451", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Does not seem to be an issue anymore, resolving unless occurring again.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-11-29T14:53:43.000+0000", "updated": "2017-11-29T14:53:43.000+0000" } ], "maxResults": 2, "total": 2, "startAt": 0 } } }