{ "id": "131736", "key": "TIMOB-17158", "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": "8", "description": "", "name": "Needs more info" }, "resolutiondate": "2017-06-30T00:07:02.000+0000", "created": "2014-06-14T01:15:17.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [], "versions": [ { "id": "15971", "description": "Release 3.2.3", "name": "Release 3.2.3", "archived": false, "released": true, "releaseDate": "2014-04-30" } ], "issuelinks": [], "assignee": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-06-30T00:07:02.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": "The APSHTTPClient library is used by both the iOS Titanium SDK and the iOS Native SDK, and has been refactored to fix a known concurrency bug known to exist in all clients of this library, which includes the iOS Titanium SDK.\r\n\r\nThis bug was discovered in NATIVESDK-156, and the root cause of the problem (incorrect use of NSOperationQueue and incorrect implementation of NSOperation fixed by NATIVESDK-179) means that the bug also exists in the Titanium SDK.\r\n\r\nThe problem was fixed in APSHTTPClient by the 13 closed tickets in this PR: https://github.com/appcelerator/APSHTTPClient/pull/8\r\n\r\nIn order to quickly test this fix in the Titanium SDK, and to accommodate future bug fixes in APSHTTPClient (there are currently 15 open tickets), the Titanium SDK Xcode project needs to reference the APSHTTPClient Xcode project directly instead of linking to the following seven unrevisioned files embedded in the titanium_mobile repo:\r\n\r\n$ find . -type f -name \"*APSHTTP*\"\r\n./iphone/Classes/APSHTTPClient/APSHTTPClient.h\r\n./iphone/Classes/APSHTTPClient/APSHTTPHelper.h\r\n./iphone/Classes/APSHTTPClient/APSHTTPOperation.h\r\n./iphone/Classes/APSHTTPClient/APSHTTPPostForm.h\r\n./iphone/Classes/APSHTTPClient/APSHTTPRequest.h\r\n./iphone/Classes/APSHTTPClient/APSHTTPResponse.h\r\n./iphone/Classes/APSHTTPClient/libAPSHTTPClient.a\r\n\r\nThis closed PR added important unit tests that provides partial code coverage for the issue:\r\nhttps://github.com/appcelerator/APSHTTPClient/pull/9\r\n\r\nThis PR needs to be closed before work on the current issue can begin:\r\nhttps://github.com/appcelerator/APSHTTPClient/pull/10\r\n\r\nThe fix for the current issue is to remove the seven files listed above, and in their place add the APSHTTPClient Xcode project as a subproject to an Xcode workspace for the Titanium SDK Xcode project. Once this is done the APSHTTPClient git repo needs to be tagged with the version that the iOS Titanium SDK was tested with.", "attachment": [], "flagged": false, "summary": "iOS: The SDK Xcode project should reference the APSHTTPClient Xcode project", "creator": { "name": "mlangston", "key": "mlangston", "displayName": "Matt Langston", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "mlangston", "key": "mlangston", "displayName": "Matt Langston", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [], "maxResults": 0, "total": 0, "startAt": 0 } } }