0

I have built a Swift app. I added all libraries in Project -> Target -> Link binary with Libraries. I added external frameworks such as Parse to the project too.

I then selected all frameworks under the project and created a group folder called Frameworks.

I have observed/recorded three issues:

  1. When I run ls -l in shell, the Frameworks folder is not actually there

  2. Only frameworks such as Parse & Bolts are actually listed under the project. Other frameworks (e.g. QuartsCore, CoreGraphics etc.) are not listed anywhere with the ls -l command

  3. If I try to archive the project, because the Frameworks folder is not 'there' as far as xcode is concerned, the SwiftFolder is not created (which would result in the app being rejected)

Surely it should be a straight forward process. What am I missing?

Apologies in advance for the fact that my code works yet I cannot solve such a simple problem!

zevij
  • 2,416
  • 1
  • 23
  • 32

2 Answers2

0

1: A group in Xcode is not a file system folder, it's an in-app Xcode-specific construct. You can add file system folders to Xcode, but they are different and distinct from groups.

2: iOS frameworks will not be visible in your project folder as their location is managed by Xcode. They are added/linked to your app bundle at compile time.

3: Is your app failing validation/being rejected? Sounds like it could be a separate issue, everything else you're seeing sounds normal.

rudd
  • 846
  • 7
  • 17
  • App was rejected due to 'missing SwiftFolder'. I searched Stackoverflow and Googled the subject. The best link I found was: http://stackoverflow.com/questions/26163856/invalid-swift-support-invalid-implementation-of-swift. I tried pretty much everything on that link with little luck. I ended up downloading ipa-packager from github (https://github.com/bq/ipa-packager). Now my archive generates a Payload folder. However, the SwiftFolder is still missing. I am not sure what to do next. – zevij Oct 07 '15 at 15:48
  • @goggelj Are you using Cocoapods? – rudd Oct 07 '15 at 15:50
  • Swift project. Not using CocoaPods. Here is a list of frameworks I added (manually, not the best I agree) to the project: I have the following libraries: libsqlite3.tbd, libz.tbd, SystemConfiguration.framework, StoreKit.framework, Security.framework, CoreLocation.framework, QuartzCore.framework, CoreGraphics.framework, CFNetwork.framework, AudioToolbox.framework, Parse.framework, ParseCrashReproting.framework, Bolts.framework, ParseUI.framework, ParseFacebookUtils.framework, ParseTwitterUtils.framework, ParseFacebookUtils.framework (Parse is taken from Parse 1.8.5 download). – zevij Oct 07 '15 at 16:03
0

Only one thing worked - Shenzhen (failed on first attempt due to space issue). Here is what you need to do:

Go to Shenzhen on github, download, run and send apple the bill ;)

In case you are wondering, before I tried Shenzhen again, I actually tried the following:

  1. Created a "Hello World" Single View Swift application in xcode. Added all the libraries and used the xcode archive facility to see if it generates the Payload and SwiftFolder. It failed on both.

  2. I downloaded xcode 7.1 (beta) and tried again. This time I got the Payload folder but still no luck with SwiftFolder. So don't waste time on xcode 7.1 for this.

  3. Called apple dev support (and yes, you are likely to be billed for this) - was transferred between three call centres (English spelling - sorry) and finally submitted the issue.

zevij
  • 2,416
  • 1
  • 23
  • 32