iOS13 Xcode11 真机运行黑屏

iOS13 Xcode11 真机运行黑屏,第1张

iOS13,Xcode11新建项目在模拟器上运行时,没有问题,程序跑在iOS13以下的手机时,就会出现黑屏。

原因:

Xcode 11 默认是会创建通过 UIScene 管理多个 UIWindow 的应用,工程中除了 AppDelegate 外会多一个 SceneDelegate

AppDelegate 和 SceneDelegate 这是iPadOS带来的新的多窗口支持的结果,并且有效地将应用程序委托的工作分成两部分。

也就是说在我们用多窗口开发iPadOS中,从iOS 13开始,您的应用代表应该:

设置应用程序期间所需的任何数据。

响应任何专注于应用的事件,例如与您共享的文件。

注册外部服务,例如推送通知。

配置您的初始场景。

相比之下,在iOS 13中的新顶级对象是一个 UIWindowScene ,场景代表可以处理应用程序用户界面的一个实例。因此,如果用户创建了两个显示您的应用程序的窗口,则您有两个场景,均由同一个应用程序委托支持。

这些场景旨在彼此独立工作。因此,您的应用程序不再移动到后台,而是单个场景执行 - 用户可以将一个移动到后台,同时保持另一个打开。

工程文件以及Info.plist中的一些变化:

参考学习链接:

https://www.cnblogs.com/henusyj-1314/p/11684444.html

https://blog.csdn.net/weixin_43031192/article/details/101677910

具体步骤如下(苹果手机)

1.注册定制的URL模式:在为您的应用程序注册URL类型时,必须指定CFBundleURLTypes属性的子属性。2.处理URL请求:应用程序委托在application:handleOpenURL:方法中处理传递给应用程序的URL请求。如果您已经为自己的应用程序注册了定制的URL模式,则务必在委托中实现这个方法。3.测试外部调用:回到Home屏幕,启动Safari(在iPhone仿真器上,在菜单上选择Hardware>Home命令就可以回到Home屏幕)。在Safari的地址栏中,键入使用定制模式的URL:callapp://justdoit确认您的应用程序是否启动,以及应用程序委托是否收到application:handleOpenURL:消息。4.app中调用:下面展示了一个程序如何请求另一个程序提供的服务(假定这个例子中的“callapp”是由应用程序注册的定制模式):

一,

调用自己开发的应用

1)在plist文件中,注册对外接口

在xcode

group&files 里面,展开 resources选择info.plist

鼠标右击information

property list ,然后从列表中选择URL types

右击

add row 添加一个对象(item)右击item add row

从列表中选择

URL Schemes 再右击添加一个对象(item1)

将item1得值设置为:myapp

这个myapp就是对外接口,其它应用可以通过它,调用该应用

plist如下图所示:

2).处理URL请求

应用程序委托在 application:handleOpenURL:方法中处理传递给应用程序的URL请求。如果您已经为自己

的应用程序注册了定制的URL模式,则务必在委托中实现这个方法。

下面代码实现了这个委托方法;

-

(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL

*)url

{

if([[url

scheme] isEqualToString:@"myapp"]){

[application

setApplicationIconBadgeNumber:10]

return

YES

}

return

NO

}

3).测试外部调用

1.回到Home屏幕,启动Safari(在iPhone仿真器上,在菜单上选择Hardware->Home命令就可以回到Home屏幕)。

2.在Safari的地址栏中,键入使用定制模式的URL: myapp:

3.确认您的应用程序是否启动,以及应用程序委托是否收到application:handleOpenURL:消息。

4)调用方法

在你需要调用上面注册过对外接口的应用中,添加下面代码即可

NSURL

*url = [NSURL URLWithString:@"myapp:"]

[[UIApplication

sharedApplication] openURL:url]

通过上述两个步骤,你可以在你的应用中,让用户打开你的其它应用

二,

调用IOS自带的应用

上面讲述的是调用自身的应用,讲解了如何在自己应用之间调用问题,今天介绍一下如果调用IOS自带的app的方法

一、调用app

store界面方法

在实际开发中,往往要推荐自己其他应用和推荐自己的收费软件,那么我们就需要在程序中直接连接到app

store的相应页面。

实际上的做法很简单,使用的还是UIApplication类的OpenURL方法:

[[UIApplication

sharedApplication] openURL:[NSURL URLWithString:@"程序的相应连接"]]

二、调用其它应用的方法


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12095291.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存