{ "id": "160983", "key": "TIMOB-23530", "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": "17706", "name": "Release 5.4.0", "archived": false, "released": true, "releaseDate": "2016-08-11" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2016-06-29T01:52:24.000+0000", "created": "2016-06-10T15:05:23.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "hyperloop", "swift" ], "versions": [], "issuelinks": [], "assignee": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2016-08-02T22:20:09.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": "13715", "name": "Hyperloop", "description": "Hyperloop project" }, { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "I've set `min-ios-ver` to 9.0 within tiapp.xml, and when running `appc ti build` I can see an INFO message of `Minimum iOS version: 9.0`\r\n\r\nWhen it gets to the Hyperloop section, I see a TRACE message of \r\n{noformat}\r\n[Hyperloop] CocoaPods IPHONEOS_DEPLOYMENT_TARGET = 7.0\r\n{noformat}\r\n\r\nI believe this is leading to parameter of `-target x86_64-apple-ios7.0` being set during swift compilation, causing an error for the particular pod I am trying to use (ImagePicker)\r\n\r\nOne of the errors:\r\n\r\n{noformat}\r\nerror: 'dispatch_queue_attr_make_with_qos_class' is only available on iOS 8.0 or newer \r\n{noformat}\r\n\r\nThere are lots more like this in the logs\r\n\r\nRecreating this error can be done by using a Podfile with the below contents:\r\n\r\n{code:java}\r\nuse_frameworks!\r\nplatform :ios, '9.0'\r\ntarget 'Hyperloop_Sample' do\r\n\tpod 'ImagePicker'\r\nend\r\n{code}\r\n\r\n\r\nI have copy/pasted the failing swift build command, replaced the `-target x86_64-apple-ios7.0` with `-target x86_64-apple-ios9.0` and it completes successfully.", "attachment": [ { "id": "59581", "filename": "build_iphone.log", "author": { "name": "rpiwetz", "key": "rpiwetz", "displayName": "Ron Piwetz", "active": true, "timeZone": "America/Chicago" }, "created": "2016-06-15T19:42:06.000+0000", "size": 75504, "mimeType": "text/plain" } ], "flagged": false, "summary": "Hyperloop - IPHONEOS_DEPLOYMENT_TARGET of 7.0 despite value of min-ios-ver in tiapp.xml", "creator": { "name": "rpiwetz", "key": "rpiwetz", "displayName": "Ron Piwetz", "active": true, "timeZone": "America/Chicago" }, "subtasks": [], "reporter": { "name": "rpiwetz", "key": "rpiwetz", "displayName": "Ron Piwetz", "active": true, "timeZone": "America/Chicago" }, "environment": "Hyperloop 1.2.0 from labs.appcelerator.com\r\nAppc CLI 5.3.0\r\nSDK 5.4.0.v20160608165242", "closedSprints": [ { "id": 649, "state": "closed", "name": "2016 Sprint 13 SDK", "startDate": "2016-06-18T00:25:17.303Z", "endDate": "2016-07-02T00:25:00.000Z", "completeDate": "2016-07-04T04:25:16.889Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "388403", "author": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "body": "Hello, Could you explain a little more about how you are seeing the issue. I tried to test the hyperloop 1.2.0 which I see it build fine. Please where you are making the modification in tiapp.xml and please provide the error log. \r\n\r\nRegards,\r\nSharif.", "updateAuthor": { "name": "sdarda", "key": "sdarda", "displayName": "Sharif AbuDarda", "active": false, "timeZone": "Asia/Dhaka" }, "created": "2016-06-15T18:17:03.000+0000", "updated": "2016-06-15T18:17:03.000+0000" }, { "id": "388406", "author": { "name": "rpiwetz", "key": "rpiwetz", "displayName": "Ron Piwetz", "active": true, "timeZone": "America/Chicago" }, "body": "in tiapp.xml, add 9.0 inside of the block\r\n\r\nYou used the Podfile I provided and it built?", "updateAuthor": { "name": "rpiwetz", "key": "rpiwetz", "displayName": "Ron Piwetz", "active": true, "timeZone": "America/Chicago" }, "created": "2016-06-15T19:31:07.000+0000", "updated": "2016-06-15T19:31:07.000+0000" }, { "id": "388409", "author": { "name": "rpiwetz", "key": "rpiwetz", "displayName": "Ron Piwetz", "active": true, "timeZone": "America/Chicago" }, "body": "I attached my build log file. In it, you can see on line 483 where xcodebuild is being called with `-alltargets IPHONEOS_DEPLOYMENT_TARGET=7.0`\r\n\r\nwhich leads to line 486 of `[Hyperloop] CocoaPods IPHONEOS_DEPLOYMENT_TARGET = 7.0`\r\n\r\nso then on line 498, you see `-target x86_64-apple-ios7.0` but if i change that target to be `x86_64-apple-ios9.0` instead it works\r\n\r\nYou can also see 10 instances of `error: 'XXXXXX' is only available on iOS 8.0 or newer`", "updateAuthor": { "name": "rpiwetz", "key": "rpiwetz", "displayName": "Ron Piwetz", "active": true, "timeZone": "America/Chicago" }, "created": "2016-06-15T19:46:02.000+0000", "updated": "2016-06-15T19:46:02.000+0000" }, { "id": "388413", "author": { "name": "brentonhouse", "key": "brentonhouse", "displayName": "Brenton House", "active": true, "timeZone": "America/Chicago" }, "body": "[~cng] Do you know if this will be in the GA build of Hyperloop coming out?", "updateAuthor": { "name": "brentonhouse", "key": "brentonhouse", "displayName": "Brenton House", "active": true, "timeZone": "America/Chicago" }, "created": "2016-06-15T19:59:20.000+0000", "updated": "2016-06-15T19:59:20.000+0000" }, { "id": "388417", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Did you make sure you set it inside the Podile (which has the 7.0 by default). See hyperloop-examples:\r\n{code:ruby}\r\nplatform :ios, '7.0'\r\ntarget 'Hyperloop_Sample' do\r\n\tpod 'JBChartView'\r\n\tpod 'GLCalendarView', '~> 1.2'\r\n\tpod 'Shimmer'\r\nend\r\n{code}\r\n\r\nChanging that to 9.0 should do it.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-06-15T20:25:13.000+0000", "updated": "2016-06-15T20:25:13.000+0000" }, { "id": "388422", "author": { "name": "rpiwetz", "key": "rpiwetz", "displayName": "Ron Piwetz", "active": true, "timeZone": "America/Chicago" }, "body": "As shown in the original report, I have it set to 9.0 in the Podfile, but hyperloop is being told to use 7.0", "updateAuthor": { "name": "rpiwetz", "key": "rpiwetz", "displayName": "Ron Piwetz", "active": true, "timeZone": "America/Chicago" }, "created": "2016-06-15T21:03:23.000+0000", "updated": "2016-06-15T21:03:23.000+0000" }, { "id": "388423", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Right. So the {{IOS_MIN}} inside {{plugins/hyperloop//hooks/ios/hyperloop.js}} is currently used hardcoded, although it should use the {{}} if existing.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-06-15T21:28:01.000+0000", "updated": "2016-06-15T21:28:01.000+0000" }, { "id": "388425", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "PR to use {{this.builder.minIosVer}} instead of {{MIN_IOS}} in the CLI: https://github.com/appcelerator/hyperloop.next/pull/36", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-06-15T21:49:03.000+0000", "updated": "2016-06-15T21:49:03.000+0000" }, { "id": "388572", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "[~hansknoechel] Steps to test please.", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-06-17T18:19:35.000+0000", "updated": "2016-06-17T18:19:35.000+0000" }, { "id": "388583", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "*Steps to test*:\r\n1. Use the [hyperloop-examples|https://github.com/appcelerator/hyperloop-examples] project and replace the Hyperloop module & plugin from [here|https://github.com/appcelerator/hyperloop.next/releases]\r\n2. Paste {{9.0}} inside the {{}} section of the tiapp.xml\r\n3. Paste the following inside the {{Podfile}}:\r\n{code:ruby}\r\nuse_frameworks!\r\nplatform :ios, '9.0'\r\ntarget 'Hyperloop_Sample' do\r\n\tpod 'ImagePicker'\r\nend\r\n{code}\r\n4. Run the project\r\n\r\n*Expected result*: The project does not fail\r\n\r\n*Note* Don't use cocoapods 1.0.0 as this doesn't work with hyperloop at the moment. use cocoa pods 0.39.0 instead. If you want to downgrade the version, refer to this link:\r\nhttp://stackoverflow.com/questions/20487849/downgrading-or-installing-older-version-of-cocoapods", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-06-17T18:51:34.000+0000", "updated": "2016-06-25T07:33:01.000+0000" }, { "id": "389029", "author": { "name": "rpiwetz", "key": "rpiwetz", "displayName": "Ron Piwetz", "active": true, "timeZone": "America/Chicago" }, "updateAuthor": { "name": "rpiwetz", "key": "rpiwetz", "displayName": "Ron Piwetz", "active": true, "timeZone": "America/Chicago" }, "created": "2016-06-24T14:11:41.000+0000", "updated": "2016-06-24T14:11:41.000+0000" }, { "id": "389086", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "h5. Smaller test case for PR\r\n1. *appc new -n testPod --classic*\r\n2. Install hyperloop module from [here|https://github.com/appcelerator/hyperloop.next/releases]\r\n3. Paste {{9.0}} inside the {{}} section of the tiapp.xml\r\n4. Paste the following inside the {{Podfile}} in root of project:\r\n{code:ruby}\r\nuse_frameworks!\r\nplatform :ios, '9.0'\r\ntarget 'testPod' do\r\n\tpod 'ImagePicker'\r\nend\r\n{code}\r\n5. Include this in tiapp.xml\r\n{code}\r\n \r\n hyperloop\r\n \r\n \r\n hyperloop\r\n \r\n{code}\r\n6. *appc run -p ios*\r\n\r\nh5. Expected result\r\nThe project will build successfully\r\n\r\n*Note* Don't use cocoapods 1.0.0 as this doesn't work with hyperloop at the moment. use cocoa pods 0.39.0 instead. If you want to downgrade the version, refer to this link:\r\nhttp://stackoverflow.com/questions/20487849/downgrading-or-installing-older-version-of-cocoapods\r\n\r\n[~hansknoechel] Your fix removed the swift error in this ticket, but with my reproduce steps, I encountered a different error:\r\n{code}\r\n[TRACE] ld: framework not found ImagePicker\r\n[TRACE] clang: error: linker command failed with exit code 1 (use -v to see invocation)\r\n[ERROR] ** BUILD FAILED **\r\n[ERROR] The following build commands failed:\r\n[ERROR] Ld build/Products/Debug-iphonesimulator/SGTestCocoa.app/SGTestCocoa normal x86_64\r\n[ERROR] (1 failure)\r\n{code}\r\n\r\nCan you please check to see what's wrong? could it be my configuration?", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-06-26T23:28:39.000+0000", "updated": "2016-06-26T23:29:11.000+0000" }, { "id": "389339", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "As discussed in TIMOB-23570, the above-described issue is another issue that should be handled independently from this one, so we can put it into 5.4.0. ", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-06-29T01:30:55.000+0000", "updated": "2016-06-29T01:30:55.000+0000" }, { "id": "391127", "author": { "name": "wluu", "key": "wluu", "displayName": "Wilson Luu", "active": false, "timeZone": "America/Los_Angeles" }, "body": "[~hansknoechel], [~cng], TIMOB-23570 is blocking us from verifying this ticket. If we want this fix to be in 5.4.0, should TIMOB-23570 be fixed first and put into 5.4.0?", "updateAuthor": { "name": "wluu", "key": "wluu", "displayName": "Wilson Luu", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-07-20T21:07:11.000+0000", "updated": "2016-07-20T21:07:11.000+0000" }, { "id": "391153", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-07-21T01:52:10.000+0000", "updated": "2016-07-21T01:52:10.000+0000" }, { "id": "392244", "author": { "name": "wluu", "key": "wluu", "displayName": "Wilson Luu", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Close ticket as fixed. Verified that {{}} is being respected during build.\r\n\r\n*Note:* Needed to apply the workaround from TIMOB-23671 since I started encountering the segfault issue.\r\n\r\nTested on:\r\n\r\nAppc CLI NPM: 4.2.7\r\nAppc CLI Core: 5.4.0-37\r\nArrow: 1.8.2\r\nSDK: 5.4.0.v20160801022303\r\nNode: v4.4.7\r\nOS: Mac OS X (10.11.6)\r\nXcode: 7.3.1", "updateAuthor": { "name": "wluu", "key": "wluu", "displayName": "Wilson Luu", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-08-02T22:19:49.000+0000", "updated": "2016-08-02T22:20:01.000+0000" } ], "maxResults": 18, "total": 18, "startAt": 0 } } }