2

I have been trying to fix the compilation issues for the open source project https://github.com/gontovnik/DGRunkeeperSwitch with XCode6.4. I seem to have fixed all the issues but unsure of how to fix the following errors:

DGRunkeeperSwitch/DGRunkeeperSwitchExample/Base.lproj/LaunchScreen.storyboard: Launch screens may not use instances of IBUISceneExitPlaceholder.,

DGRunkeeperSwitch/DGRunkeeperSwitchExample/Base.lproj/LaunchScreen.storyboard: Launch screens may only have one top level object, which must be a UIView or a kind of UIViewController.

and

DGRunkeeperSwitch/DGRunkeeperSwitchExample/Base.lproj/LaunchScreen.storyboard: Launch screens may not use instances of IBUIStoryboardEntryPointIndicator.

Can someone please provide some pointers on how to go about fixing these errors?

learn_develop
  • 1,735
  • 4
  • 15
  • 33

3 Answers3

11

Delete Your file LaunchScreen.StoryBoard, and then clear "LaunchScreen" in Lauch Screen File as photo. Done. Or you can add file LauchScreen.xib to your project, and then chose it in Launch Screen File as photo Delete Your file LaunchScreen.StoryBoard, and then clear "LaunchScreen" in Lauch Screen File as photo. Done. Or you can add file LauchScreen.xib to your project, and then chose it in Launch Screen File as photo

Tà Truhoada
  • 584
  • 7
  • 23
6

"Requirements: Xcode 7-beta or higher." There's likely something new in the LaunchScreen.storyboard that trips up Xcode 6.

Since the launch screen is not a critical/essential part of the sample code, the easiest fix is to delete the existing launch screen, then create a new one in Xcode 6.

Update:

A launch screen is a splash screen that appears while your app launches. It doesn't have its own view controller, and is not the entry point for an app.

The example's navigation controller is the app's initial scene.

Update 2:

It's not that it's not fixable. Someone with the time and skill could rewrite it to remove the dependencies. Yet it does work as is with Xcode 7, so it's not really practical to fork it.

The error messages really are self-descriptive, but you may have introduced some of the problems by making some inadvertent/unintentional changes that broke it.

You could upgrade your tools and project to Xcode 7, find a different third-party component to replace this one, find someone who will fix it for you, or brush up on your skills and rewrite it yourself.

  • I deleted the launch screen view controller, dropped back a new view controller and made it as initial view controller, but it still doesn't fix the problem. – learn_develop Sep 08 '15 at 03:42
  • This is what the author says: "As you can see in requirements, it is built with Swift 2.0 and Xcode 7.0 beta. There will be no support for Xcode 6.4, because in a few weeks time Xcode 7.0 will be available for download". But that necessarily mean the code would not compile at all on the prior releases. Isn't it supposed to be backward compatible? – learn_develop Sep 08 '15 at 03:46
  • A launch screen is never the initial storyboard scene. Don't make it the storyboard entry point. No, it's not backwards compatible. If the project uses new features of the language, the old compiler won't be able to compile it. –  Sep 08 '15 at 03:48
  • 1
    Thanks @PetahChristian, so I Guess the right answer would be this problem is not fixable since a project created with Swift 2.0 and XCode7 Beta version is not backward compatible with XCode 6.4, Swift 1.2? – learn_develop Sep 08 '15 at 05:27
2

first you delete your launch screen and then delete UItests, you can find uitests in your project build settings under target files

Bibin Joseph
  • 234
  • 2
  • 7