Car*_*izz 59 iphone xcode objective-c ios
我收到一个奇怪的错误:'Could not find a storyboard named 'Main' in bundle NSBundle'
试图在真正的iOS设备上运行我的应用程序.
我在我的目录中有文件,它在模拟器中工作正常.但是,在该Copy Bundle Resources
部分中,文件Main.storyboard
为红色.
我已经尝试删除它并再次添加它,重新启动Xcode,清理构建等,但无济于事.这是我在Xcode中收到的警告:
/Users/ajay/Documents/avx/avx/Base.lproj/Main.storyboard: Internationalization of /Users/ajay/Documents/avx/avx/Base.lproj/Main.storyboard is not available when compiling for targets before iOS 6.0
Run Code Online (Sandbox Code Playgroud)
Kal*_*era 78
打开项目的info.plist并删除屏幕截图中显示的选定行
Shu*_*ham 52
为 iOS 13.0 及更高版本创建的应用程序的更新。(Xcode 11)
如果您收到错误消息“即使更改了 info.plist 中的“主故事板文件基本名称”和 Target 中部署下的“主界面”,也无法在包中找到名为“Main”的故事板。
然后您必须更改 info.plist 文件中的另一个条目。
您的应用程序将开始工作。
小智 9
Xcode 14 中的新增功能,设置主界面已移至 Targets -> Build Settings -> Info.plist value -> UIKit Main Storyboard File Base Name
。您需要从此处删除引用,而不是像以前一样在部署信息下删除引用。
我能想到的原因:
至于我的iOS知识总结,我刚刚发生这种情况,因为XCode无法在项目目录中找到对Main.storyboard文件的引用,无法将其复制到App中.
解析度:
单击"删除参考"按钮.
然后,从我可以在项目目录中找到Main.storyboard文件的实际位置,拖动并删除到XCode,再次从弹出的对话框中,如下所示:
我选择了"创建文件夹引用"(因为这是我打算做的一件事,因为我已经改变了我的项目的文件和文件夹结构).但大多数时候选择"创建群组"也可能有效.然后点击"完成"按钮.我的Storyboard文件已经在屏幕截图中显示,Base.lproj
如下所示:
注意:在这一步提醒一件重要的事情是,不要忘记在应用程序的"添加到目标"复选框上打勾.
清洁产品,重新构建,如果成功,大多数时候尝试运行它将会成功.
希望这可能对其他人有帮助!我在XCode 7.3.1和iOS Sim 9.3和iPhone 6S上试过这个!
就我而言,我忘了改Storyboard Name
在Info.plist
Info.plist
源代码
<dict>
<key>UIApplicationSupportsMultipleScenes</key>
<false/>
<key>UISceneConfigurations</key>
<dict>
<key>UIWindowSceneSessionRoleApplication</key>
<array>
<dict>
<key>UISceneConfigurationName</key>
<string>Default Configuration</string>
<key>UISceneDelegateClassName</key>
<string>$(PRODUCT_MODULE_NAME).SceneDelegate</string>
<key>UISceneStoryboardFile</key>
<string>AccountViewController</string>
</dict>
</array>
</dict>
</dict>
Run Code Online (Sandbox Code Playgroud)
小智 6
模拟器不区分大小写,但设备是.如果您的故事板被称为MainStoryboard,而不是MainStoryBoard,这将导致您的问题.并且aslo*不要使用扩展名只写故事板名称
main.storyboard - >只有main是故事板名称
对于在Xcode 11上遇到此问题的任何人,以下是解决此问题的方法,如果在较少情节提要的项目设置中遇到此问题,
(添加ricardopereira遗漏的一些部分)
1)首先,删除Main.storyboard文件
2)接下来,转到PROJECT_NAME- > GENERAL
在主界面下拉菜单中,删除文本Main
3)现在转到info.plist并删除情节提要名称
4)最后,修改场景(_:willConnectTo:选项)在文件中的代码SceneDelegate.swift!(是的,这不是在应用代表了)。
var window: UIWindow?
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
// Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
// If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
// This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
guard let windowScene = (scene as? UIWindowScene) else { return }
window = UIWindow(frame: windowScene.coordinateSpace.bounds)
window?.windowScene = windowScene
window?.rootViewController = ViewController()
window?.makeKeyAndVisible()
}
Run Code Online (Sandbox Code Playgroud)
您也可以参考以下视频:https : //www.youtube.com/watch?v=Htn4h51BQsk
归档时间: |
|
查看次数: |
62440 次 |
最近记录: |