hook38
hook38

Reputation: 3907

iOS validation got Main_iPhone~iphone.storyboardc was not found

I am trying to distribute my iOS app, and I got the following error message during xCode validation. "storyboard file 'Main_iPhone~iphone.storyboardc' was not found please ensure the specified file is included in the bundle with any required device modifiers appended to the filename". Need some advices...

Upvotes: 15

Views: 7040

Answers (8)

Jayasabeen Appukuttan
Jayasabeen Appukuttan

Reputation: 1440

I guess you accidentally deleted a storyboard file. In my case, I solved this like by creating a new storyboard file with a different name. Then copy paste all controllers from Main_iPhone~iphone to this and edit the plist and other places with the new file name. This will work

Upvotes: 1

rainhut
rainhut

Reputation: 3174

In your Build Phases -> Copy Bundle Resources make sure your main storyboard is included. For example main.storyboard. It will show up red. Some people think that because it's red it should be deleted. But without it, you will get this error when you try to submit to iTunes.

Upvotes: 1

David Lari
David Lari

Reputation: 943

Using xCode 6.0.1 I got this error. None of the other solutions listed here fixed it. I resolved it by deleting the storyboard in question from the project (Removing references only -- not moving to trash), then putting it back in via Add Files.

Upvotes: 1

sonicbabbler
sonicbabbler

Reputation: 851

Thanks, this helped me too.

I modified the ProgramFile-Info.plist under the Supporting Files folder. I found two columns with Main storyboard file base name. I deleted the iPad one that I was getting the error on and then I was able to submit.

Upvotes: 1

GLee
GLee

Reputation: 5093

Editing the plist file solved it for me.

  • Go to Targets -> Info
  • To delete a field, hover over the up/down arrow icon next to the key you want to delete, and press the minus.
  • Or, if you need to add a field, hover over any up/down icon and press the plus.

I had a bug where it was looking for an iPad storyboard, even though I was only targeting iPhones. I simply had to delete the corresponding key/value pair from here.

Upvotes: 0

fnxpt
fnxpt

Reputation: 434

Remove the storyboard from the plist file if you use iPad

<key>UIMainStoryboardFile</key>
<string>Main</string>

or if you use iPhone

<key>UIMainStoryboardFile~ipad</key>
<string>Main</string>

Upvotes: 31

hook38
hook38

Reputation: 3907

I solved it by going to Target -> Build Phases -> Copy bundle resources, and add the Main_iPhone.storyboard file.

Upvotes: 4

Gurpreet
Gurpreet

Reputation: 181

You can just write the exact name of the storyboard according to apple guidelines default name is :- Main_iPhone.storyboard but i think you can change the name of the storyboard default to 'Main_iPhone~iphone.storyboardc' but they find the default name of storyboard in the bundle.

Upvotes: 2

Related Questions