From 5f335cdef447cce854da58ed1d2f267a68c97bfb Mon Sep 17 00:00:00 2001 From: Skylar Ittner Date: Fri, 14 Jul 2023 00:02:46 -0600 Subject: [PATCH] Hopefully make alerts not stop music on iOS (#59) --- config.xml | 2 ++ scripts/fix_ios_audio.sh | 5 +++++ src/ios/AppDelegate.m | 44 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 scripts/fix_ios_audio.sh create mode 100644 src/ios/AppDelegate.m diff --git a/config.xml b/config.xml index 9f5cd71..3ed5ac5 100644 --- a/config.xml +++ b/config.xml @@ -51,8 +51,10 @@ + + diff --git a/scripts/fix_ios_audio.sh b/scripts/fix_ios_audio.sh new file mode 100644 index 0000000..0208a9b --- /dev/null +++ b/scripts/fix_ios_audio.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +echo "Replacing AppDelegate.m to fix AVAudioSession.Category..." + +cp src/ios/AppDelegate.m platforms/ios/PackageHelper/Classes/AppDelegate.m \ No newline at end of file diff --git a/src/ios/AppDelegate.m b/src/ios/AppDelegate.m new file mode 100644 index 0000000..8d40971 --- /dev/null +++ b/src/ios/AppDelegate.m @@ -0,0 +1,44 @@ +/* + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + */ + +// +// AppDelegate.m +// PackageHelper +// +// Created by ___FULLUSERNAME___ on ___DATE___. +// Copyright ___ORGANIZATIONNAME___ ___YEAR___. All rights reserved. +// + +#import "AppDelegate.h" +#import "MainViewController.h" +#import + +@implementation AppDelegate + +- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions +{ + self.viewController = [[MainViewController alloc] init]; + //set audio category to stop app interrupting music + NSError *setCategoryError = nil; + BOOL success = [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryAmbient error: &setCategoryError]; + + return [super application:application didFinishLaunchingWithOptions:launchOptions]; +} + +@end