{ "id": "160014", "key": "TIMOB-23313", "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": "16980", "description": "New V8", "name": "Release 6.0.0", "archived": false, "released": true, "releaseDate": "2016-11-15" }, { "id": "18154", "name": "Release 6.0.1", "archived": false, "released": true, "releaseDate": "2016-12-21" }, { "id": "19333", "description": "Patch release for important items that did not make it into 6.0.3", "name": "Release 6.0.4", "archived": false, "released": true, "releaseDate": "2017-04-27" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2017-04-08T13:56:42.000+0000", "created": "2016-05-04T11:42:41.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [], "versions": [ { "id": "17993", "description": "Release 5.2.2", "name": "Release 5.2.2", "archived": false, "released": true, "releaseDate": "2016-04-05" } ], "issuelinks": [ { "id": "52818", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "163522", "key": "TIMOB-23957", "fields": { "summary": "iOS: Building app with extension containing swift code doesn't set correct Xcode build settings", "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": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "updated": "2018-12-08T18:33:51.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" }, { "id": "10207", "name": "Tooling" } ], "description": "On [Stack Overflow|http://stackoverflow.com/questions/36833477/invalid-swift-support-the-swiftsupport-folder-is-missing] a user reports his app was rejected with the following message:\r\n\r\n{quote}\r\nDear developer,\r\n\r\nWe have discovered one or more issues with your recent delivery for \"xxxxxxxxxxx\". To process your delivery, the following issues must be corrected:\r\n\r\nInvalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.\r\n\r\nOnce these issues have been corrected, you can then redeliver the corrected binary.\r\n{quote}\r\n\r\nMy guess is that since 7.3 we need {{EMBEDDED_CONTENT_CONTAINS_SWIFT = YES}} for the watch app extension target as well, not just the watch app (which was what Xcode did before).\r\n\r\nhttps://github.com/appcelerator/titanium_mobile/blob/master/templates/applewatch/watchos2-swift/template/%7B%7BExtName%7D%7D.xcodeproj/project.pbxproj.ejs#L327-L386", "attachment": [], "flagged": false, "summary": "iOS app rejected because \"Invalid Swift Support - The SwiftSupport folder is missing\"", "creator": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "subtasks": [], "reporter": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "environment": "Xcode 7.3\r\nSDK 5.2.2.GA\r\nTitanium CLI", "closedSprints": [ { "id": 723, "state": "closed", "name": "2016 Sprint 20 Tooling", "startDate": "2016-09-29T14:46:17.458Z", "endDate": "2016-10-13T14:46:00.000Z", "completeDate": "2016-10-10T06:21:04.575Z", "originBoardId": 199 }, { "id": 771, "state": "closed", "name": "2016 Sprint 25 Tooling", "startDate": "2016-12-03T01:56:30.015Z", "endDate": "2016-12-17T01:56:00.000Z", "completeDate": "2016-12-21T03:17:00.699Z", "originBoardId": 199 }, { "id": 864, "state": "closed", "name": "2017 Sprint 07 Tooling", "startDate": "2017-03-26T22:02:46.538Z", "endDate": "2017-04-09T22:02:00.000Z", "completeDate": "2017-04-10T15:38:31.332Z", "originBoardId": 199 } ], "comment": { "comments": [ { "id": "384800", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Have we tried that? Can [~fokkezb] create a PR if that is a fix? :)", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-05-05T02:41:21.000+0000", "updated": "2016-05-05T02:41:21.000+0000" }, { "id": "385072", "author": { "name": "magnatronus", "key": "magnatronus", "displayName": "Steve Rogers", "active": true, "timeZone": "Europe/London" }, "body": "Hi Fokke I have tried as you suggested on SO and changed the Embedded Content Contains Swift Code to No in the SDK it makes no difference. The extension already has this set to Yes as it is a Swift project - also tried this with a new watchos2-swift extension just to make sure.", "updateAuthor": { "name": "magnatronus", "key": "magnatronus", "displayName": "Steve Rogers", "active": true, "timeZone": "Europe/London" }, "created": "2016-05-08T05:55:05.000+0000", "updated": "2016-05-08T05:55:21.000+0000" }, { "id": "385079", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "[~magnatronus] be aware that the extension had two targets and I suspect that contrary to what the template has you now need to set this flag on both targets. Can you verify you have?", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-05-08T17:31:00.000+0000", "updated": "2016-05-08T17:31:00.000+0000" }, { "id": "385240", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "https://devforums.apple.com/message/1042117#1042117\r\nhttp://www.openradar.me/18389777\r\n\r\nBasically, Xcode includes the SwiftSupport folder if you archive via Xcode. However, titanium uses *xcodebuild* from command line. And Apple *doesn't* include this folder if you use *xcodebuild*. This bug has been filed to Apple. Hopefully it'll be looked into soon.\r\n\r\nOtherwise, you can attempt the workaround in the links above. Basically you got to manually open the Xcode project in the Titanium build folder, and archive it.", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-05-10T05:29:15.000+0000", "updated": "2016-05-10T05:29:15.000+0000" }, { "id": "385245", "author": { "name": "magnatronus", "key": "magnatronus", "displayName": "Steve Rogers", "active": true, "timeZone": "Europe/London" }, "body": "So tried the suggestion from Fokke (watch extension target did not have the value set initially) and also then using Xcode directly (setting the Swift flag in the main project to both Yes and No - and each time the same Invalid Binary result.\r\n\r\nFirst time (with direct Xcode compile) Swift flag set to No (SDK default) the same missing folder issue. If the Swift flag is set to True then the result is Invalid Binary but the email is different.\r\n\r\nDear developer,\r\n\r\nWe have discovered one or more issues with your recent delivery for \"xxxxxxxxxx\". To process your delivery, the following issues must be corrected:\r\n\r\nInvalid Swift Support - The Watch OS application has Swift libraries at both /Payload/xxxxxxx.app/tips WatchKit App.app/tips WatchKit Extension.appex/Frameworks/ and /Payload/xxxxxxx.app/tips WatchKit App.app/Frameworks/. Remove all of the Swift libraries from one of the locations and resubmit your app.\r\n\r\n", "updateAuthor": { "name": "magnatronus", "key": "magnatronus", "displayName": "Steve Rogers", "active": true, "timeZone": "Europe/London" }, "created": "2016-05-10T07:12:37.000+0000", "updated": "2016-05-10T07:15:13.000+0000" }, { "id": "385250", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "For further reference with regards to removing all of the swift libs issue. https://forums.developer.apple.com/thread/17931\r\nOf course, it's not great to open an archive, and change the content. But it's worth a shot.", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-05-10T07:40:28.000+0000", "updated": "2016-05-10T07:40:28.000+0000" }, { "id": "385394", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "[~cng] so I guess we'll have to wait for Apple to fix this?\r\n\r\nIn the meanwhile, to be able to use that workaround (more easily) we need to fix TIMOB-19818", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2016-05-11T10:28:31.000+0000", "updated": "2016-05-11T10:28:31.000+0000" }, { "id": "396051", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "TiSDK master PR: https://github.com/appcelerator/titanium_mobile/pull/8375\r\nTiSDK 6_0_X PR: https://github.com/appcelerator/titanium_mobile/pull/8376\r\nTiSDK 5_5_X PR: https://github.com/appcelerator/titanium_mobile/pull/8377", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2016-09-13T22:59:06.000+0000", "updated": "2016-09-13T22:59:06.000+0000" }, { "id": "397135", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "[~cng] This ticket has no fix-version.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-09-23T23:30:31.000+0000", "updated": "2016-09-23T23:30:31.000+0000" }, { "id": "397141", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "[~hansknoechel] It almost made it into 5.5.0, but was deemed to risky. It should go in 6.0.0, possibly 5.5.1. We need to extensively test my PRs above.", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2016-09-24T02:22:35.000+0000", "updated": "2016-09-24T02:22:35.000+0000" }, { "id": "397198", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "[~hansknoechel] Please help to review this. Otherwise I can take a look at a later time.", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-09-26T03:32:00.000+0000", "updated": "2016-09-26T03:32:00.000+0000" }, { "id": "397521", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "Upon investigation of this ticket, we found and fixed a number of small issues. However, we never actually fully reproduced this error. It could have been an issue with an old Xcode beta release. I tested with Xcode 8 and a Swift 3 watch app and I was able to successfully build and validate in the app store.\r\n\r\nSo, I have moved the above PRs to TIMOB-23957 and we will resolve this ticket as cannot reproduce.", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2016-09-28T15:58:10.000+0000", "updated": "2016-09-28T15:58:10.000+0000" }, { "id": "402518", "author": { "name": "farfromrefuge", "key": "farfromrefuge", "displayName": "Martin Guillon", "active": false, "timeZone": "Europe/Berlin" }, "body": "Chris,\r\nThis is actually a big issue and it's really easy to reproduce:\r\n- include a swift framework\r\n- set EMBEDDED_CONTENT_CONTAINS_SWIFT=YES (which you should not remove if the project has embedded frameworks!)\r\n- archive and publish\r\n-> you get the response from apple.\r\n\r\nNow about the reason, it's quite simple, you create the xcarchive yourself and not using \"xcodebuild archive\". Thus the SwiftSupport is missing...\r\nThe fix is quite simple, when building for testflight/appstore, simply call \"xcodebuild archive\" instead of \"xcodebuild build\", and remove the xcarchive creation from the package.js hook.", "updateAuthor": { "name": "farfromrefuge", "key": "farfromrefuge", "displayName": "Martin Guillon", "active": false, "timeZone": "Europe/Berlin" }, "created": "2016-12-03T09:15:23.000+0000", "updated": "2016-12-03T09:15:23.000+0000" }, { "id": "402519", "author": { "name": "magnatronus", "key": "magnatronus", "displayName": "Steve Rogers", "active": true, "timeZone": "Europe/London" }, "body": "Chris,\r\n\r\nI was the one who originally submitted and talked with Fokke about this issue and the problem is not validating the app in the app store - that always worked the error only appeared after apparent successful submission with an email from Apple rejecting the app.\r\n", "updateAuthor": { "name": "magnatronus", "key": "magnatronus", "displayName": "Steve Rogers", "active": true, "timeZone": "Europe/London" }, "created": "2016-12-03T09:29:45.000+0000", "updated": "2016-12-03T09:29:45.000+0000" }, { "id": "402520", "author": { "name": "farfromrefuge", "key": "farfromrefuge", "displayName": "Martin Guillon", "active": false, "timeZone": "Europe/Berlin" }, "body": "Yes Steve same here. And i just succesfully submitted a testflight build with the fix.", "updateAuthor": { "name": "farfromrefuge", "key": "farfromrefuge", "displayName": "Martin Guillon", "active": false, "timeZone": "Europe/Berlin" }, "created": "2016-12-03T09:31:26.000+0000", "updated": "2016-12-03T09:31:26.000+0000" }, { "id": "402582", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "[~farfromrefuge] Oooooh. No way. OK, I'll look into this. The existing calls to {{ditto}} trace back to the old Python-based scripts before I worked on tooling stuff. I'll reopen and give your suggestion a go. Thank you for bringing this to my attention. :)", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2016-12-05T19:55:51.000+0000", "updated": "2016-12-05T19:55:51.000+0000" }, { "id": "402637", "author": { "name": "farfromrefuge", "key": "farfromrefuge", "displayName": "Martin Guillon", "active": false, "timeZone": "Europe/Berlin" }, "body": "[~cbarber] Just so you know switching to \"xcodebuild archive\" broke a few things. After doing so the .app creation was not fully working anymore and resources where missing from it. This is because because you create the .app and handled it all the way through. Now XCode handles it so you need to find a way to manage it after that. You can look at the commits in my fork to see how i did it.\r\nBset", "updateAuthor": { "name": "farfromrefuge", "key": "farfromrefuge", "displayName": "Martin Guillon", "active": false, "timeZone": "Europe/Berlin" }, "created": "2016-12-06T06:43:35.000+0000", "updated": "2016-12-06T06:43:35.000+0000" }, { "id": "403398", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "Good news! I fixed the iOS build so I'm now calling {{xcodebuild archive}} and it's bundling the missing {{SwiftSupport}} directory. \r\n\r\nTi SDK master PR: https://github.com/appcelerator/titanium_mobile/pull/8688\r\nTi SDK 6_0_X PR: https://github.com/appcelerator/titanium_mobile/pull/8689\r\n\r\nThanks [~farfromrefuge] again for nudging me to properly fix this! :)", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2016-12-15T01:48:20.000+0000", "updated": "2016-12-15T01:48:20.000+0000" }, { "id": "403399", "author": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Looks good! PRs merged!", "updateAuthor": { "name": "cng", "key": "cng", "displayName": "Chee Kiat Ng", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2016-12-15T02:47:48.000+0000", "updated": "2016-12-15T02:47:48.000+0000" }, { "id": "403769", "author": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~farfromrefuge] or [~magnatronus]\r\nWe have done everything we can to test this short of submitting for review. We don't have an app on the QE team that we can submit, although we have plans to do so in the future and will be working on this very soon. If you have any positive results from app review using SDK 6.0.1.v20161217061750 please let us know. ", "updateAuthor": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-12-21T22:48:38.000+0000", "updated": "2016-12-21T22:48:38.000+0000" }, { "id": "406971", "author": { "name": "magnatronus", "key": "magnatronus", "displayName": "Steve Rogers", "active": true, "timeZone": "Europe/London" }, "body": "Hi, apologies for the length of time to re-test this and reply, but I have today successfully submitted an app with Watch support to the app store that has not (yet) had a rejection email and is now awaiting review. I will post again when the app is released or rejected.\r\n\r\nThe app was created from scratch using TISDK 6.0.1.GA.\r\n\r\n", "updateAuthor": { "name": "magnatronus", "key": "magnatronus", "displayName": "Steve Rogers", "active": true, "timeZone": "Europe/London" }, "created": "2017-02-14T11:28:36.000+0000", "updated": "2017-02-14T11:28:36.000+0000" }, { "id": "407157", "author": { "name": "magnatronus", "key": "magnatronus", "displayName": "Steve Rogers", "active": true, "timeZone": "Europe/London" }, "body": "The app was approved and is now in the app store - https://itunes.apple.com/us/app/watch-tips/id1205407902?ls=1&mt=8", "updateAuthor": { "name": "magnatronus", "key": "magnatronus", "displayName": "Steve Rogers", "active": true, "timeZone": "Europe/London" }, "created": "2017-02-16T07:55:38.000+0000", "updated": "2017-02-16T07:55:38.000+0000" }, { "id": "407165", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Thanks for the update Steve, good to know everything works with latest SDK!", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-02-16T09:17:15.000+0000", "updated": "2017-02-16T09:17:15.000+0000" }, { "id": "407194", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "[~magnatronus] Congrats! Thank you very much for letting us know!", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2017-02-16T16:04:10.000+0000", "updated": "2017-02-16T16:04:10.000+0000" }, { "id": "407918", "author": { "name": "webtys", "key": "webtys", "displayName": "Bryant T.", "active": true, "timeZone": "America/New_York" }, "body": "I'm actually having this same issue. Recieved that same rejection message yesterday. :( My app is NOT for the watch though. Just regular iPhone. I checked for updates within appcelerator, and there are none available. \r\n\r\nXcode 7.3\r\nSDK 6.0.1.GA\r\nTitanium CLI 5.0.11\r\nPlatform iphone\r\n\r\nEND OF LOG:\r\n\r\n[...]\r\n[INFO] : Optimizing .plist and .png files\r\n[INFO] : Invoking xcodebuild\r\n[INFO] : Preparing xcarchive\r\n[INFO] : Archiving debug symbols: /Users/me/Documents/Appcelerator_Studio_Workspace/MFQ/build/iphone/build/Products/Release-iphoneos/MFQ.app.dSYM\r\n[INFO] : Launching Xcode: /Applications/Xcode.app\r\n[INFO] : Packaging complete\r\n[INFO] : Finished building the application in 33s 823ms\r\n\r\n", "updateAuthor": { "name": "webtys", "key": "webtys", "displayName": "Bryant T.", "active": true, "timeZone": "America/New_York" }, "created": "2017-02-23T23:02:57.000+0000", "updated": "2017-02-23T23:02:57.000+0000" }, { "id": "407927", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "[~webtys] If you are doing an App Store build with 6.0.1.GA, then you should be OK. Please ensure that you have selected the correct SDK version in the tiapp.xml.", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2017-02-24T00:34:00.000+0000", "updated": "2017-02-24T00:34:00.000+0000" }, { "id": "407928", "author": { "name": "webtys", "key": "webtys", "displayName": "Bryant T.", "active": true, "timeZone": "America/New_York" }, "body": "Yes, I did an app store build.\r\nYes, the SDK version in tiapp.xml is set to 6.0.1.GA\r\nThat's why this is confusing.", "updateAuthor": { "name": "webtys", "key": "webtys", "displayName": "Bryant T.", "active": true, "timeZone": "America/New_York" }, "created": "2017-02-24T00:42:07.000+0000", "updated": "2017-02-24T00:42:07.000+0000" }, { "id": "408006", "author": { "name": "webtys", "key": "webtys", "displayName": "Bryant T.", "active": true, "timeZone": "America/New_York" }, "body": "For the benefit of anyone else having this problem, is there a way to manually compile this properly from the command line, or from within Xcode?", "updateAuthor": { "name": "webtys", "key": "webtys", "displayName": "Bryant T.", "active": true, "timeZone": "America/New_York" }, "created": "2017-02-25T01:04:43.000+0000", "updated": "2017-02-25T01:04:43.000+0000" }, { "id": "416384", "author": { "name": "mallik.majety", "key": "mallik.majety", "displayName": "Mallik Majety", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Using SDK 6.0.1, Xcode 8 and tried to upload my app to App Store. \r\nError is *not* about missing SwiftSupport folder but *'Invalid Swift Support - The SwiftSupport folder is empty. Rebuild your app using the current public (GM) version of Xcode and resubmit it. '*\r\n\r\nSo looks like this is is the next stage of the bug where the folder exists but empty?", "updateAuthor": { "name": "mallik.majety", "key": "mallik.majety", "displayName": "Mallik Majety", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-03-30T21:09:25.000+0000", "updated": "2017-03-30T21:09:25.000+0000" }, { "id": "416386", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "[~mallik.majety] Please build your app using Titanium SDK 6.0.3.GA and Xcode 8.3. You shouldn't have any issue publishing your app. :)", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2017-03-30T21:17:34.000+0000", "updated": "2017-03-30T21:17:34.000+0000" }, { "id": "416403", "author": { "name": "mallik.majety", "key": "mallik.majety", "displayName": "Mallik Majety", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hi Chris, \r\n\r\nJust tried with 6.0.3GA and Xcode 8.3. No luck and still getting the same response from Apple.Validation is going OK.\r\n\r\nAlso, the generated archive did have the folders SwiftSupport/iphoneos but is empty. Is that expected?\r\n\r\nAre there any explicits flags to be set? \r\n\r\nEnvironment details from the console log if that helps:\r\n{noformat}\r\nOperating System\r\n Name = Mac OS X\r\n Version = 10.12.3\r\n Architecture = 64bit\r\n CPUs = 8\r\n Memory = 17179869184\r\nNode.js\r\n Node.js Version = 4.6.0\r\n npm Version = 2.15.9\r\nTitanium CLI\r\n CLI Version = 5.0.11\r\nTitanium SDK\r\n SDK Version = 6.0.3.GA\r\n SDK Path = /Users/xxxxxx/Library/Application Support/Titanium/mobilesdk/osx/6.0.3.GA\r\n Target Platform = iphone\r\nCommand\r\n /usr/local/bin/node /Users/xxxxx/.appcelerator/install/6.1.0/package/node_modules/titanium/lib/titanium.js build run --platform ios --sdk 6.0.3.GA\r\n{noformat}", "updateAuthor": { "name": "mallik.majety", "key": "mallik.majety", "displayName": "Mallik Majety", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-03-30T22:14:57.000+0000", "updated": "2017-03-30T22:14:57.000+0000" }, { "id": "416483", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "[~mallik.majety] Hmm, not good, looking into it.", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2017-03-31T14:37:45.000+0000", "updated": "2017-03-31T14:37:45.000+0000" }, { "id": "416485", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "[~mallik.majety] Can you please provide some more info? Does your app include a Watch App? Are you using Hyperloop? Are you using any Titanium modules? Are you building from Studio or from the Appc CLI?", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2017-03-31T15:38:11.000+0000", "updated": "2017-03-31T15:38:11.000+0000" }, { "id": "416542", "author": { "name": "mallik.majety", "key": "mallik.majety", "displayName": "Mallik Majety", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Chris\r\n1. No Watch App\r\n2. No Hyperloop\r\n3. Modules - I have a couple of 3 party ones like dk.napp.drawer etc\r\n4. Building from Appcelerator Studio, build: 4.8.1.201612050850\r\nRight now, exploring options on the Xcode side of things, but if you come across any solution that'd be great. Didn't see this coming!", "updateAuthor": { "name": "mallik.majety", "key": "mallik.majety", "displayName": "Mallik Majety", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-03-31T21:10:58.000+0000", "updated": "2017-03-31T21:10:58.000+0000" }, { "id": "416661", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "[~mallik.majety] I think I figured out the issue. In the Titanium Xcode project template, we have \"Always Embed Swift Standard Libraries\" set to \"yes\". This is because of Watch App support and Hyperloop, which supports Swift code, so this flag must be set to \"yes\". However, if there is no Swift code, then perhaps this should be set to \"no\".\r\n\r\nBefore I change the Titanium Xcode project to default to \"no\" and set the gears in motion to ship a new Hyperloop version, would you mind manually applying the change and see how it goes? The file we want to update is {{~/Library/Application Support/Titanium/mobilesdk/osx/6.0.3.GA/iphone/iphone/Titanium.xcodeproj/project.pbxproj}}. Make a backup of the {{project.pbxproj}} first, then open the {{project.pbxproj}} file in your favorite editor. There are 4 instances of build settings that reference \"SWIFT\". Set all 4 of them to {{NO}}. Save the file. Rebuild your project for the App Store and submit the app. Since the Swift settings have been disabled, then hopefully the {{SwiftSupport}} folder will not be required and your app will be published. Please let me know so we can get a fix out with 6.0.4. Thank you!!", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2017-04-03T16:12:17.000+0000", "updated": "2017-04-03T16:12:17.000+0000" }, { "id": "417018", "author": { "name": "mallik.majety", "key": "mallik.majety", "displayName": "Mallik Majety", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hi Chris,\r\n\r\nThat worked! Thanks mate, app is now uploaded to iTunes Connect.", "updateAuthor": { "name": "mallik.majety", "key": "mallik.majety", "displayName": "Mallik Majety", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-04-07T11:36:30.000+0000", "updated": "2017-04-07T11:36:30.000+0000" }, { "id": "417035", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "[~mallik.majety] Awesome! I'll reopen this ticket and turn off the Swift settings. Thank you!", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2017-04-07T16:08:24.000+0000", "updated": "2017-04-07T16:08:24.000+0000" }, { "id": "417046", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "Titanium SDK master PR: https://github.com/appcelerator/titanium_mobile/pull/8944\r\nTitanium SDK 6_1_X PR: https://github.com/appcelerator/titanium_mobile/pull/8945\r\nTitanium SDK 6_0_X PR: https://github.com/appcelerator/titanium_mobile/pull/8946\r\n\r\nTo test:\r\n\r\n* Create a Titanium app\r\n* Do a dist-appstore build\r\n* Observe there is no \"SwiftSupport\" directory in the {{.xcarchive}}\r\n* Open the generated Xcode project, go to Build Settings, filter by \"swift\", and observe Swift settings are disabled\r\n* Add a watch app to the project\r\n* Add your {{}} to the {{}} section of the tiapp.xml\r\n* Add the {{dist-appstore}} provisioning profile uuid for both the watch app and extension\r\n* Build again for dist-appstore\r\n* Observe there is \"SwiftSupport\" directory in the {{.xcarchive}}\r\n* Open the generated Xcode project, go to Build Settings, filter by \"swift\", and observe that only the Watch targets have Swift settings enabled", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2017-04-07T18:04:45.000+0000", "updated": "2017-04-07T18:04:45.000+0000" }, { "id": "417496", "author": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Validate with this environment:\r\nNode Version: 6.10.1\r\nNPM Version: 3.10.10\r\nMac OS: 10.12.4\r\nAppc CLI: 6.2.0\r\nAppc CLI NPM: 4.2.9\r\nAppcelerator Studio, build: 4.8.1.201612050850\r\nXcode 8.2.1\r\nTitanium SDK versions: 6.0.4.v20170410103627, 6.1.0.v20170412080612, 6.2.0.v20170414065620\r\n\r\nFollowing the steps in Chris Barber's comment above, the fix is validated. Specifically here are my steps and observations:\r\n1. Created a new app, and did a dist-appstore build.\r\n2. Observed there was no SwiftSupport directory in .xcarchive (as expected).\r\n3. Opened the generated XCode project and observed that Swift settings were disabled (as expected).\r\n4. Added the watch app, and built again.\r\n5. Observed that SwiftSupport directory is in .xcarchive (as expected)\r\n6. Opened the XCode project and verified that only the Watch targets have Swift settings enabled. Swift settings for the main project was still disabled (as expected).", "updateAuthor": { "name": "amukherjee", "key": "amukherjee", "displayName": "Abir Mukherjee", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2017-04-17T18:12:24.000+0000", "updated": "2017-04-17T18:12:24.000+0000" }, { "id": "444346", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "We just ran into this when using Xcode 10.1 and SDK 7.5.0.GA. Error:\r\n{quote}\r\nInvalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.\r\n{quote}\r\nWe use the Swift based [Ti.SocketIO|https://github.com/appcelerator-modules/titanium-socketio] module which injects the Swift compatibility via [this hook|https://github.com/appcelerator-modules/titanium-socketio/blob/master/ios/hooks/ti.swiftsupport.js]. Can someone confirm how to workaround this?", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-12-08T17:58:46.000+0000", "updated": "2018-12-08T17:58:46.000+0000" }, { "id": "444348", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "Discard my above comment! Submitting it via Xcode Organizer instead of Application Loader resolved the issue.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2018-12-08T18:33:51.000+0000", "updated": "2018-12-08T18:33:51.000+0000" } ], "maxResults": 45, "total": 45, "startAt": 0 } } }