当应用程序未在后台运行时,自定义 URL 方案不起作用

2024-04-08

我正在从 safari 调用自定义 URL 来启动应用程序。如果应用程序在后台运行,它可以正常工作。但是,当应用程序未在后台运行但已安装在设备上时,应用程序不会启动。我已经实现了以下两种方法:

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

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

但当应用程序不在后台运行时,它们都不会被调用。

我还用谷歌搜索发现,当应用程序未在后台运行时,我们可以使用以下代码启动应用程序

if ( [launchOptions objectForKey:UIApplicationLaunchOptionsURLKey] != nil ) {
    NSURL *url =(NSURL *)[launchOptions valueForKey:UIApplicationLaunchOptionsURLKey];
    [self application:application handleOpenURL:url];
}

in

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

但不幸的是 ,didFinishLaunchingWithOptions也没有被触发。有人有指点吗?

P.S:此问题仅在 iPad 上出现,在 iPhone 上正常。


我面临着同样的问题。

看来我们的代码运行得太快了。

插入延迟来运行自定义代码将解决该问题。

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    [NSTimer scheduledTimerWithTimeInterval:0.5f target:self selector:@selector(yourCustomActions) userInfo:nil repeats:NO];

    return YES;
}

希望能帮助到你

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当应用程序未在后台运行时,自定义 URL 方案不起作用 的相关文章

  • 如何改进 iOS 中的 TWTweetComposeViewController 代码?

    我已经实现了以下代码来进行 Twitter 共享 在我的代码中 我尝试测试 iOS 5 如果这不起作用 我会回到使用 ShareKit 的 Twitter 代码进行共享的旧方式 我向同事展示了代码 他建议我的代码可能有缺陷 我需要做两件事
  • iOS UITableViewCell 配件在左侧?

    对于我的应用程序 我想要一些可以同时具有复选标记和详细信息披露按钮的单元格 也就是说 我希望它们看起来与 iOS 设置中的 Wi Fi 网络选择一模一样 左侧的复选标记 中间的内容 右侧的详细信息披露按钮 有没有正确的方法来做到这一点 或者
  • 找不到导航对象。您的组件是否位于导航器屏幕内?

    在我下面的代码中 当我使用 useNavigation 时 它会给出像我的问题一样的错误 如何使用useNavigation 请任何人都可以解决此错误 错误 找不到导航对象 您的组件是否位于导航器屏幕内 我从这里跟踪了代码https rnf
  • 删除后台 moc 中的对象然后在主 moc 中刷新它会导致 NSFetchedResultsController 更新崩溃

    我遇到了一个NSObjectInaccessibleException我无法理解 Terminating app due to uncaught exception NSObjectInaccessibleException reason
  • iOS Swift 检测键盘事件

    我能以某种方式检测来自 iOS 键盘的事件吗 我想检测此类事件UIViewController哪个没有UITextField或任何此类物体 我只有四个圆圈UIView我想在按下键盘上的按钮时将它们涂成不同的颜色 您没有任何对象可以从键盘获取
  • 如何在 RestKit 中为同一类提供两条发布路线

    由于我无法弄清楚如何为同一个类设置两个不同的 POST 资源路径 因此我尝试手动创建 RKObjectLoader 请求 但它似乎不断发送 GET 请求而不是 POST 即使我已将方法设置为邮政 这是我的代码 User user User
  • iOS 外部附件框架:如何获取特定 MFI 设备的协议字符串

    我正在编写一个 iOS 应用程序 用于与 mini mPlay Drumi MP18B 小型蓝牙扬声器 进行通信 据我所知 showBluetoothAccessoryPickerWithNameFilter仅显示协议字符串添加到 Info
  • 在 iOS 中录制音频并永久保存

    我制作了 2 个 iPhone 应用程序 可以录制音频并将其保存到文件中并再次播放 其中之一使用 AVAudiorecorder 和 AVAudioplayer 第二个是苹果的在这里说话 http developer apple com l
  • iOS 内存警告

    我正在尝试使用从 Parse 数据库下载的图像填充集合视图 但我收到内存警告 然后偶尔崩溃 有谁知道其他应用程序如何设法呈现这么多图像而不崩溃 有人可以告诉我如何优化我已有的东西吗 这是所有相关代码 https gist github co
  • 从 RemoteIO 保存音频的示例?

    我进行了搜索 但没有找到任何从 RemoteIO 音频单元保存音频的好示例或教程 我的设置 使用 MusicPlayer API 我有几个 AUSamplers gt MixerUnit gt RemoteIO 音频播放效果很好 我想添加将
  • 从 Core Data、iOS 获取最后插入的项目

    有没有办法获取核心数据数据库中最后插入的项目 这将返回最后插入的对象 setFetchLimit 1 和 setFetchOffset 所有条目数 1
  • swift 中的负数模

    负数模如何在 swift 中工作 当我执行 1 3 时 它给出 1 但余数是 2 其中有什么问题 雨燕余数运算符 计算余数 整数除法 a b a a b b where 是截断整数除法 在你的情况下 1 3 1 1 3 3 1 0 3 1
  • 在 Swift 中检查一个数组是否包含另一个数组的所有元素

    我想为数组编写一个扩展来检查一个数组是否包含另一个数组的所有元素 在我的用例中它是字符串对象 但我一直得到 Cannot convert value of type T Generator Element to expected argum
  • 如果 NSExtensionActivationRule 设置为仅音频,则共享扩展不会出现在有功能的应用程序中

    我正在尝试创建一个共享扩展 用户可以从任何有能力的应用程序上传她的录音 该文档甚至有一个简单的示例 请参阅声明共享或操作扩展支持的数据类型 https developer apple com library content document
  • 如何在 Xcode 4 中通过一个操作归档多个目标

    我有一个包含多个目标的项目 这些目标都适用于不同的 iOS 应用程序 例如 一个用于精简版的目标 另一个用于专业版的目标 我想立即构建并归档我的所有应用程序 目前 我对每个目标都有一个方案 我用它来独立归档每个应用程序 但现在我必须开始归档
  • 具有多种自定义单元格类型的 RxSwift 表视图

    我想知道是否有任何代码示例RxSwift当我可以在一个表视图中使用多个自定义单元格时 例如 我有两个部分 第一部分有 10 个单元格 类型为CellWithImage标识符和第二部分有 10 个带有类型的单元格CellWithVideo标识
  • Swift 中 UIImages 的淡入淡出动画

    我有一组图像 我希望它们在登录屏幕的背景中淡出 我无法在 swift 中找到任何可以做到这一点的东西 有什么办法我可以做到吗 这是我当前的代码 override func viewDidLoad super viewDidLoad star
  • 应用未能及时恢复

    我在一个非常具体的场景中遇到 未能及时恢复 崩溃 我认为与看门狗相关 仅在从后台恢复时 并且仅在进入后台后在很短的时间内执行此操作 a最多几秒钟 这似乎是相关的崩溃日志 Incident Identifier E30F2238 5B15 4
  • 如何使用 afnetworking 在后台上传任务

    我正在尝试使用 AFNetworking 上传大文件 并在应用程序处于后台时继续上传 我可以很好地上传文件 但是当我尝试使用后台配置时 应用程序崩溃并显示以下堆栈跟踪 异常 EXC BAD ACCESS 代码 1 地址 0x8000001f
  • 当设置 setVisibleXRangeMaximum 时,iOS-Charts X 轴值无限重复

    我正在尝试绘制一个图表 其中 x 轴是TimeIntervalY 轴是power consumption 由于每天都会有数据 因此将有太多数据无法显示 因此 我想一次显示 5 个值 我通过设置实现了这一点self chart setVisi

随机推荐

  • 什么时候值得使用数据库?

    我有一个与数据库有关的问题 以及什么时候值得深入研究 我主要是一名嵌入式工程师 但我正在使用 Qt 编写一个应用程序来与我们的控制器交互 我们正处于一个奇怪的境地 我们有足够的数据 可以实现一个数据库 大约 700 多个项目并且还在不断增长
  • EF4 审核多对多关系的更改

    我正在将审核添加到我的 EF4 模型优先 应用程序中 我可以获得有关发生更改的实体的结构属性的详细信息 我还可以看到多对多关系何时发生变化 我可以看到所涉及类型的名称以及发生的情况 添加或删除 但我真正想要的是关系更改中涉及的实体的 ID
  • 使用 scala 时 lambda 的 AWS 凭证不起作用

    尝试使用通过 DefaultCredentialProvider 提供的凭证时 AWS lambda 函数不起作用 我需要将凭据传递给 S3 才能运行 Code def initializeAwsCredentials AWSCredent
  • iOS Firebase - 如何从不同节点中删除具有相同密钥的子节点

    我有一个名为 以下 的裁判 在该引用下 有 2 个不同的 userId 关注同一用户 如果他们都关注的用户想要删除他们的帐户 我想从关注节点中删除他们 多位置更新似乎不正确地实现此目的 如何做呢 用户 kk8qFOIw 是正在删除其帐户的用
  • 如何追加到 R 中的现有文件而不覆盖它?

    我想写入一个文件 然后在循环中多次追加它 在 Windows 机器上 每次追加后 我想关闭连接 因为我希望该文件存入保管箱帐户 以便我可以在代码运行时在其他计算机上打开它 以检查日志文件的状态 注意 这个条件使得这个问题不同于SO上关于si
  • Dagger 2 构建 IllegalArgumentExceptioncompileDebugJavaWithJavac

    我一直在测试 Dagger 2 一切都正常 直到我做了一些重构 现在 gradle 正在抛出一个IllegalArgumentException 而且我无法弄清楚我所做的更改现在导致了错误 我没有对 gradle 文件进行任何更改 这似乎是
  • r 沿着向量搜索并计算平均值

    我的数据看起来像 require data table DT lt data table x c 19 19 19 21 21 19 19 22 22 22 y c 53 54 55 32 44 45 49 56 57 58 我想沿着 x
  • 自动将 GitHub 分支部署到 AWS Elastic Beanstalk

    说我有一个分支stable在 GitHub 上 我希望在提交时自动部署到我的 AWS EB 实例 我看过CodePipeline 这在我托管实例的区域不可用 我也看过CodeDeploy但这似乎仅适用于 EC2 的单个实例 而不适用于Ela
  • 骆驼http端点动态形成url

    我正在尝试使用的伙计们 from direct a to someUrl processor new Processor Override public void process Exchange arg0 throws Exception
  • chrome 扩展,每 x 分钟执行一次

    我只是做一个简单的 chrome 扩展 我希望我的后台页面 或部分 每 5 分钟执行一次 以获取一些数据并显示桌面通知 如果有 我该如何执行此操作 重要提示 如果您使用非持久后台脚本 Manifest V3service worker或清单
  • 使用“memcpy”复制二维数组在技术上是未定义的行为吗?

    评论中出现了一个有趣的讨论最近的这个问题 https stackoverflow com q 69329303 10871073 现在 虽然有语言C 讨论已经转向什么C 标准指定了使用以下函数访问多维数组的元素时构成未定义行为的内容std
  • 尝试开始扫描 Chromecast 设备时出错

    使用 iOS 尝试调用时出现此错误startScan的方法GCKDeviceScanner实例 有什么建议么 2014 03 27 11 03 17 814 XXX4Cast 3542 60b NSCFTimer gck setTolera
  • Xcode 11 beta 无法在以证书问题结束的设备上安装应用程序

    尝试将应用程序构建到 iOS 设备 任何设备 iPhone X XS 任何操作系统 如 12 13 beta 并获得证书颁发 想要在 ios 13 beta 操作系统支持的设备上构建应用程序并调试问题 我要在模拟器上构建应用程序 证书的自动
  • 使用反射从抽象基类访问构造函数

    我正在研究 Java 的 Reflection 我有一个抽象类Base与构造函数 abstract class Base public Base String foo do some magic 我还有一些进一步的课程延伸Base 它们不包
  • 无法在 Visual Studio Code 中调试 Azure Functions。调试器停止

    I am using http trigger Azure Function When I am running my application by pressing F5 after clicking http localhost 707
  • iOS AVCaptureSession - 如何获取/设置每秒记录的帧数?

    我是 AVCaptureSession 的新手 希望更好地了解如何使用它 因此 我设法将视频流捕获为单独的 CIImage 并将它们转换为 UIImage 现在我希望能够获取每秒捕获的帧数 并且最好能够对其进行设置 知道该怎么做吗 AVCa
  • jq:根据对象值条件递归删除对象的最简单方法

    我想用jq删除 JSON 对象 中的所有字典 我通常使用该术语来指代数组或字典 a 包含一个名为 delete me 的键 并且 b 其中键 delete me 满足某些预定条件 空 非零 真等 基本上 我想要实现的逻辑是 遍历输入 在每个
  • 如何让“ghci”使用我的“show”功能?

    假设您想使用自己的显示函数 例如 let show take 1000 Prelude show 你怎么可以允许ghci使用它来代替内置的打印show 您可以定义自己的交互式打印 https downloads haskell org gh
  • Python networkx 和持久性(可能在 neo4j 中)[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个每秒在内存中创建数千个图形的应用程序 我希望找到一种方法来保存这些以供后续查询 它们并不是特别
  • 当应用程序未在后台运行时,自定义 URL 方案不起作用

    我正在从 safari 调用自定义 URL 来启动应用程序 如果应用程序在后台运行 它可以正常工作 但是 当应用程序未在后台运行但已安装在设备上时 应用程序不会启动 我已经实现了以下两种方法 BOOL application UIAppli