自定义推送通知在主要包裹

时间:2015-12-21 14:56:47

标签: ios objective-c audio push-notification apple-push-notifications

在我正在开发的应用程序中,我要求用户可以自定义服务器端的推送通知声音。我检查了documentation并说明了这一点 "声音文件可以位于客户端应用程序的主包中,也可以位于应用程序数据容器的Library / Sounds文件夹中。"

所以我把声音从后端下载到Library中的这个子文件夹,我这样创建:

+ (NSString *)soundFolderPath
{
   NSString* path = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) firstObject];

    path = [path stringByAppendingPathComponent:@"Sounds"];

    NSLog(@"%@: Path to sounds folder: %@", [self class], path);

   return path;
}
- (void)createSoundsDirectoryIfNeeded
{
    NSFileManager* manager = [NSFileManager defaultManager];

    NSString* path = [self.class soundFolderPath];

    if (![manager fileExistsAtPath:path])
    {
        NSError* error = nil;

        [manager createDirectoryAtPath:path withIntermediateDirectories:NO attributes:nil error:&error];

        if (error) {
            [self handleError:error];
            return;
        }
    }
}

但是当我发送推送通知时,应用程序处于后台 - 它会播放默认通知声音而不是自定义通知声音。我已经检查了应用程序的数据容器 - 文件存在并且位于正确的文件夹中。文件格式符合文档中描述的内容,我甚至将这些声音添加为捆绑的资源,以及它实际工作的方式。

我无法找到解决方案,此时我想知道它是否可能。

有人可以帮我这个吗?

0 个答案:

没有答案