首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Xcode11测试版: AppDelegate文件没有窗口全局变量

Xcode是苹果公司开发的集成开发环境,用于开发macOS、iOS、watchOS和tvOS应用程序。Xcode 11测试版是Xcode 11的测试版本,用于开发人员在新功能发布之前测试和调试他们的应用程序。

在Xcode中,AppDelegate文件是应用程序的主要入口点,它负责管理应用程序的生命周期和处理应用程序级别的事件。在早期版本的Xcode中,AppDelegate文件通常包含一个全局变量,该变量用于表示应用程序的主窗口。但是,在Xcode 11测试版中,这个全局变量被移除了。

这个变化是因为苹果正在推动应用程序使用场景和窗口管理系统。现在,窗口管理由SceneDelegate文件来处理。SceneDelegate文件负责创建和管理应用程序的窗口场景,并且在应用程序的生命周期中负责处理窗口相关的事件。因此,在Xcode 11测试版中,我们不再需要在AppDelegate文件中使用窗口全局变量。

通过使用SceneDelegate文件,开发人员可以更好地管理应用程序的多窗口场景,例如多窗口分屏、拖拽和放置等功能。这为开发人员提供了更多的灵活性和控制权,以提供更好的用户体验。

综上所述,Xcode 11测试版中的AppDelegate文件不再包含窗口全局变量,而是通过SceneDelegate文件来管理窗口场景。这个变化是为了更好地支持应用程序的多窗口功能和提供更好的用户体验。

注意:在正式版的Xcode中,这个变化可能会被修复或更新,所以开发人员应该随时查阅苹果官方文档以获取最新的开发指南和技术更新。

腾讯云相关产品推荐:

  1. 云服务器(CVM):提供弹性计算能力,满足各种应用场景需求。详情请参考:https://cloud.tencent.com/product/cvm
  2. 云原生容器服务(TKE):用于部署、运行和管理容器化应用程序。详情请参考:https://cloud.tencent.com/product/tke
  3. 云数据库 MySQL 版(TencentDB for MySQL):提供稳定可靠的云端数据库服务。详情请参考:https://cloud.tencent.com/product/cdb_mysql
  4. 人工智能机器学习平台(AI Lab):用于构建、训练和部署人工智能模型。详情请参考:https://cloud.tencent.com/product/ailab
  5. 云存储(COS):提供高可靠、低成本、安全的对象存储服务。详情请参考:https://cloud.tencent.com/product/cos

请注意,以上推荐的产品仅代表腾讯云的一部分服务,如果您需要更多详细信息或其他产品推荐,请参考腾讯云官方网站或与腾讯云销售团队联系。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

xcode11新增SceneDelegate文件

好久之前跟新到Xcode11,跟新完成后打开以前老项目并未有什么太大变化,也就没有在意,今天新建一个项目,创建完成后,发现多了个SceneDelegate的.m和.h文件,这是什么鬼?它有什么用呢?...新创建项目目录 AppDelegate和SceneDelegate是iPadOS带来的新的多窗口支持的结果,并且有效地将应用程序委托的工作分成两部分。...原来在iOS13中,AppDelegate文件结构发生了变化: iOS13以前:AppDelegate处理App生命周期和UI生命周期; iOS13以后:处理 App 生命周期和新的 Scene...Session 生命周期,在AppDelegate.h文件没有了window属性,而是在SceneDelegate中,可见AppDelegate不管理window而是交给SceneDelegate。...管理window的方式适配: 打开info.plist文件,删除Application Scene Manifest选项。

1.9K21
  • iOS经典错误Undefined symbols for architecture XXX:

    引用了framework中的两个文件 原因之三:extern引用不存在的全局变量而报错 开发中,我们很有可能用到全局变量,比如在delegate.m文件中定义了一个int 型全局变量globalVar,...在ViewController.m文件中通过extern int globalVar; 而引用A.m文件的这个全局变量。...#import "AppDelegate.h" @interface AppDelegate () @end @implementation AppDelegate int globalVar;...原因:因为extern int globalVariate并没有定义名为globalVariate的变量,而是引用了一个名字叫做globalVariate的全局变量。...原因之四:Compile Sources中没有添加对应的.m文件而报错 有时候,我们项目中并没有以静态库的形式引用第三方库,而是直接使用的三方源码。也有可能出现相同的错误。

    13K40

    一步一步,开始上手Mac 开发(一)

    选择模版没有出错并且它能正常工作 2. 一个好的编译开端:尽管这是一个空窗口项目 3....这是因为你并没有将MasterViewController 添加到主窗口(main window),这一步,需要在AppDelegate中进行。...为了使用view Controller, 就要让App Delegate 知道它的存在,因此你需要做第一步就是在AppDelegate.m中导入view controller的头文件 1.10 在AppDelegate.m...这时我们最好编译运行一下项目工程,以确保我们做的这些操作都没什么问题,虽然窗口里table View仍然是空的,这是因为我们并没有把数据模型和UI连接在一起。...AppDelegate.m文件 运行程序,确保上面我们做的设置没有错误。为了能够显示需要的Bug 列表,我们要让table view 从模型中获取数据。

    4.1K40

    不给“爸爸”添麻烦 - iTOP iOS 动态库改造

    __text表示编译后的程序执行语句,__data表示已初始化的全局变量和局部静态变量,__bss表示未初始化的全局变量和局部静态变量,__cstring表示代码里的字符串常量。...[ 3] -[AppDelegate applicationWillEnterForeground:] 0x100004A18 0x0000004C [ 3] -[AppDelegate...1、 代码级别优化 查找无用selector,以往C++在链接时,没有被用到的类和方法是不会编进可执行文件里。...但 Objctive-C 不同,由于它的动态性,它可以通过类名和方法名获取这个类和方法进行调用,所以编译器会把项目里所有OC源文件编进可执行文件里,哪怕该类和方法没有被使用到。...IMSDK Demo 测试结果,静态库改用动态库后,结论如下 1、IMSDKCoreKit 动态库能和静态库的插件混用,业务可以根据情况自由选择动态库更新; 2、安装包大小会对应增加,因为动态库 SDK 没有编译到应用可执行二进制文件

    2.2K90

    iOS四大对象之UIWindow及四大对象之间的关系1. UIWindow使用纯代码加载根控制器2. UIWindow的创建过程3. 四大对象之间的关系

    也就说,没有UIWindow,就看不见任何UI界面 1.1 手工创建一个UIWindow - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions...所以需要在AppDelegate.h里面创建一个强引用的属性,定义window。然后赋值。...storyboard中的创建过程 先执行Main函数,执行UIApplicationMain(),根据其第三个和第四个参数创建Application 创建代理,并且把代理设置给application 根据项目配置文件...四大对象之间的关系 1.UIApplication :delegate属性 2.AppDelegate :window属性 3.UIWindow :rootViewController属性 4.UIViewController...:view属性 第一个创建的对象是UIApplication UIApplication绑定一个AppDelegate对象 AppDelegate对象中有一个window属性(UIWindow)

    1.7K30

    iPadOS上启动黑屏翻车问题分析(二)

    上启动黑屏翻车问题分析(一) 昨天我们说了旧的项目在iOS 13下完全启动之后黑屏的问题,然后紧跟问题通过UI图层分析方式一步步的分析基本找到了问题的根源---iPadOS的底层以及操作思路转变啦 单窗口时代...咱们暂且吧单窗口的iOS定义为旧时代,也就是之前的iOS应用默认的情况下基于单一窗口模式开发的(如下图),而作为开发人员也是十分的享受这种内置的开发模版 ?...新的时代--支持多窗口模式 在升级到iOS 13之后系统开始支持多窗口这个尤其是在iPadOS上尤为显著,这样你可以同时的在一个设备屏幕上同时享受到至少两个App的视图内容… AppDelegate....m文件 #import "SceneDelegate.h" #import "LoginViewController.h" @interface SceneDelegate() @end @implementation...AppDelegate app.window = window } }

    2K10

    Mac开发基础练习:制作一个状态栏(NSStatusBar)上的App(二)

    运行应用,点击状态栏图标显示popover后,用鼠标点击应用窗口外的其他地方,这时你会发现popover会自动隐藏起来了,这样的效果与之前的相比,要更合适操作一些。...活动监视器显示demo运行正常 这是由于我们之前使用的xib文件加载window,系统为我们默认做了一些其他方面的事,比如再加载window之前,创建应用对象,设置应用代理,配置窗口设置等,那系统是在哪里做的这些事情呢...,根本没有调用这个方法,也就是所我们删除了main.storyboard文件后,系统不再自动的为我们设置应用的delegate,需要我们自己手动在main.m中进行设置。...main.m文件实现代码 1.6 因为我们去除了window,因此ViewController对我们来说已经没有价值了,我们只需要把之前在ViewController中写的代码,放置到AppDelegate.m...AppDelegate.m文件 如果你在这中间的步骤没有错误,那么再次运行工程,你会发现状态栏的上图标又出现了,并且我们之前实现的功能也都可以正常响应了^_^ 整个工程的代码,可以从这里下载StatusBarDemoApp

    1.4K30

    iOS 新创建项目中的SceneDelegate适配

    翻译解释: 在iOS 13(及以后版本)上,SceneDelegate将负责AppDelegate的某些功能。 最重要的是,window(窗口)的概念已被scene(场景)的概念所代替。...Info.plist文件中提供了”Application Scene Manifest“配置项,用于配置App的场景,包括它们的场景配置名,delegate类名和storyboard入口 那不需要SceneDelegate...另外一种则是根据系统版本判断兼容 方法一:删除SceneDelegate 把AppDelegate中UISceneSession Lifecycle的两个代理方法删除,添加window属性,在application...:didFinishLaunchingWithOptions:方法中初始化window,设置根视图 删除SceneDelegate文件 选中target,切换到info,删除Application Scene...Manifest这行 /// AppDelegate.Swift import UIKit @main class AppDelegate: UIResponder, UIApplicationDelegate

    3.1K21

    Xcode工程结构详解

    一些用户界面的自定义信息(窗口的位置,顺序,偏好等等)。...在ios开发中,你简单最糟心的项目是什么,肯定有人会说要多糟心有多糟心,曾经我也见到过很糟心的项目,没有采用任何框架,编译都好几分钟的那种。...Dtabase:这个文件夹下主要放的是数据库相关的业务文件; Models: 这个文件夹下主要放的是业务数据实体(数据模型); View:这个文件夹下主要放的是UI窗口组件和UI 公共组件; Config...这个文件夹下主要放的是一些系统常用的工具类,例如:获取时间工具类,文件大小等; Supporting Files :这个文件夹下主要放的是系统生成的文件,比如:AppDelegate文件、info.plist...AppDelegate AppDelegate文件只存放AppDelegate的h和m文件,也可以放入其他跟AppDelegate有关的文件,比如我们写了一个AppDelegate+Router的Category

    1.4K30

    【IOS开发基础系列】Storyboard专题

    与传统的 nib 文件不同,故事板文件有以下优点:     1、通过一个故事板文件,你能对所有的窗口以及它们之间的关系一目了然。...因为所有的窗口设计在一个故事板文件中,你会更容易把握每次改动带给每个窗口的变化。     2、在故事板中可以描述各个窗口之间的转换。这种转换叫做 segue(连接)。...那么,在没有 MainWindow.xib 文件的情况下,故事板是怎样被加载到app中的呢?         ...但现在什么都没有。         秘密都位于 Info.plist 文件。...但我们并没有配置它,因此会有这个警告。         模板 cells 是一种很酷的故事板特性。它远胜于原来的nib 文件

    1.1K30

    iOS开发--UIWindow与程序启动原理与两种创建控制器的方法

    创建窗口 2.加载main.storyboard,并且加载main.storyboard指定的控制器 3.把新创建的控制器,作为窗口的根控制器,让窗口显示出来 1、手动创建窗口步骤 1.自己加载程序启动...在 AppDelegate ?...Paste_Image.png 举例:如果需要看到键盘,必须把键盘添加到一个View上面去 首先了解什么是窗口:键盘、状态栏是窗口 窗口层级关系: // 窗口是有层级关系 // UIWindowLevelNormal...Paste_Image.png 3、控制器的创建(Xid) /* 通过xib创建控制器的view 1.一定要描述xib的文件拥有者是控制器,也就是说这个xib是用来描述控制器 */ 1.通过File...Paste_Image.png 在AppDelegate中加载: ? Paste_Image.png 这里创建出来是箭头指向的控制器的View ?

    1.2K20
    领券