小编Cal*_*l30的帖子

应用程序退出时无法恢复亮度

我的应用程序(音乐家的节拍器应用程序)中有一项功能可以调暗屏幕以节省电池寿命.要设置亮度,我正在使用:

[UIScreen mainScreen].brightness = 0.1;
Run Code Online (Sandbox Code Playgroud)

我在viewDidLoad(...)中启动app保存原始亮度并将其保存到我的用户默认值.

在应用程序中更改视图时,我从用户默认值中检索原始亮度并通过调用恢复:

[UIScreen mainScreen].brightness = originalBrightness;
Run Code Online (Sandbox Code Playgroud)

这很好用.我有NSLog(...)消息显示原始值等...所以机制工作.

我遇到的问题是如何在按下主页按钮时恢复应用程序退出时的原始亮度.

我已经为我的应用程序委托方法添加了类似的代码:

applicationWillResignActive(...)
applicationDidEnterBackground(...)
applicationWillTerminate(...)
Run Code Online (Sandbox Code Playgroud)

它们每个都有一个方法调用,用于在视图中设置屏幕亮度,类似的NSLog(...)显示检索到的原始亮度...并且它都是正确的.我也已调试并且正在调用设置亮度...但是应用程序退出,设备屏幕仍处于较低的调暗级别.

最后,如果单击顶部的"锁定"按钮,然后按"主页"按钮将其唤醒...亮度正确.

我的怀疑是,当应用程序退出时我设置亮度的调用触发的任何操作或事件都没有通过,可能是由于状态无效或类似.

此外,我的应用程序设置为不在后台运行,在info.plist中设置为:

Application does not run in background     YES
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

谢谢!

iphone brightness mainwindow uiscreen

12
推荐指数
1
解决办法
1561
查看次数

AVAudioPlayer和AVAudioSession不会在iPad上播放BlueTooth立体声(2或其他)

我有一个播放录制音频和重复声音的应用程序.通过板载iPad扬声器可以正常播放声音,如果我从耳机插孔插入一根线到我的立体声音频输入,它也可以很好地播放.当我将iPad与我的蓝牙立体声输入配对时,来自我的其他应用程序(为iPhone编写,在我的iPad上运行)的所有声音都能正常工作,就像我设备上的所有其他声音一样.

问题是我为iPad编写的应用程序不是在蓝牙路径上播放,而是从内置扬声器播放.

在我的didFinishLaunchingWithOptions(...)方法的app委托中,我放置了以下内容:

NSError *error = nil;
[[AVAudioSession sharedInstance] setMode:AVAudioSessionModeDefault error:&error];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:&error];
[[AVAudioSession sharedInstance] setActive:YES error:&error];
Run Code Online (Sandbox Code Playgroud)

正在调用此代码,并且不会返回任何错误.

在我的控制器代码中,我记录了使用AVAudioPlayer播放的样本,如下所示:

audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:recordURL error:&error];
audioPlayer.numberOfLoops = 0;
[audioPlayer setDelegate:self];
[audioPlayer play];
Run Code Online (Sandbox Code Playgroud)

在其他方面,我的无人机播放时间很短.在线程控制的循环中重复播放了01秒的声音,我使用OpenAL执行此操作:

    alSourcePlay(sourceID);
Run Code Online (Sandbox Code Playgroud)

这与我为iPhone编写的其他应用程序中的代码完全相同.

我意识到有关于蓝牙输入的其他线程,但我有一个特定的问题与我的iPad应用程序的音频声音的蓝牙输出.

objective-c avaudioplayer ipad ios avaudiosession

8
推荐指数
1
解决办法
4596
查看次数

使用 CloudKit 进行轻量级 CoreData 迁移

核心数据是否可以处理简单的数据模型添加(例如新属性)而无需我提供任何进一步的“帮助”?就我而言,我有一个应用程序,它使用核心数据来处理与用户个人资料相关的各种事务。我有一个名为 Profile 的现有数据模型实体,我想向其中添加 2 个新属性:

hasPublished: Boolean

lastDetail: String

那么,这适用于我的情况吗?我没有重新命名任何东西,只是添加。

还要注意一点,我使用 NSPersistentCloudKitContainer 因为信息可以在用户设备之间共享。

data-migration core-data ios swift nspersistentcloudkitcontainer

2
推荐指数
1
解决办法
819
查看次数