Post not yet marked as solved
Hi Developer Community,
I am currently working with a developer to create an application that uses the camera to scan QR codes and take pictures to be uploaded to an AWS database. My developer mentions that our application needs to request permission to use the microphone. The app works perfectly fine without the usage of the microphone and it is my preference to not request for the usage of the microphone and not use the microphone at all? Can somebody confirm if microphone usage and permission request is mandatory for this issue?
Thank you.
Privacy concerned developer
Post not yet marked as solved
Hi,
I want to use Apple Broadcast API as client but before I broadcast my iOS screen record, I want to make object detection on video data. I read ReplayKit design docs, the only relevant Instance Property is "serviceinfo:Information updated by the service during a broadcast." in RPBroadcastController, But it does not also sound like it will provide me the required video data.
So do you have any Idea if it is possible to reach iOS screen record data in run time before broadcasting?
Thanks a lot in advance.
Best Regards
Emre
Post not yet marked as solved
Is there a way to record in app generated audio using ReplayKit ?
I successfully import ReplayKit and I can start and stop a recording, where the audio source comes from the microphone.
However the sound of interest for recording is the audio from the app itself.
Is there a way to have the audio recording come from the sound generated inside the application?
Post not yet marked as solved
Hello,
I'm finding that AVAssetWriter status is failing in the middle of recording frames obtained using RPScreenRecorder::startCapture. The failure seems to occur about a minute and half into a recording. The error code when asked from AVAssetWriter is -11847. It appears that error code is usually thrown when the app is backgrounded but in my case the app is never backgrounded. This error happens once every 2-3 runs on my iPhone 12 Pro Max. It's also reproducible on an iPhone 11. iOS version is 15.1.1.
Any clues as to why this might be occurring? Thanks in advance.
Note I'm using movieFragmentInterval on an mp4 file. I couldn't tell from the documentation if its only for QuickTime files or not.
I'm setting up an AVAssetWriter like so. Code simplified for readability.
let assetWriter = try? AVAssetWriter(outputURL: fileURL, fileType: AVFileType.mp4)!
assetWriter.movieFragmentInterval = CMTimeMakeWithSeconds(60, preferredTimescale: 1000)
let preset = AVOutputSettingsAssistant(preset: .preset1280x720)
var outputSettings = preset?.videoSettings
outputSettings?[AVVideoScalingModeKey] = AVVideoScalingModeResizeAspect
var compressionSettings = outputSettings?[AVVideoCompressionPropertiesKey] as? [String:Any]
var bitRate:Float = 4.0
compressionSettings?[AVVideoAverageBitRateKey] = NSNumber(value:720.0 * 1280.0 * bitRate)
outputSettings?[AVVideoCompressionPropertiesKey] = compressionSettings
videoInput = AVAssetWriterInput(mediaType: AVMediaType.video, outputSettings: outputSettings)
videoInput.expectsMediaDataInRealTime = true
assetWriter.add(videoInput)
let audioOutputSettings = preset?.audioSettings
audioInput = AVAssetWriterInput(mediaType: .audio, outputSettings: audioOutputSettings)
audioInput.expectsMediaDataInRealTime = true;
assetWriter.add(audioInput)
assetWriter.startWriting()
Post not yet marked as solved
I'm using replayKit's RPSystemBroadcastPickerView to add live broadcast functionality.
Is it possible to change to a custom UI rather than the default UI for the button?
P.S. I used Google Translate.
Post not yet marked as solved
I'm starting to look into MDM and device management for my iOS app. I'm also wondering if there is any way to allow someone on a macOS or another iOS device take control of another person's iOS device to show them how to use their device and perhaps even take control of their device while the person using the controlled device watches what the the person in control of the device is doing so he can follow along. Is there something like this that Apple already has? Is it possible to do this? If it is possible to do this, can it be done in a commonly distributed device that anyone can install from App Store and not require any additional maintenance or extra setup? I think the word I'm thinking of is "supervised". I saw that word in another post. Is it possible for one device to give control over to another user on a different device without the first device being "supervised".
Post not yet marked as solved
So my brightness is constantly going down automatically…I have auto brightness turned off…reduce white point also turned off…I have low power mode turned off…and I have a good 78% charge of battery………..YET MY SCREEN BRIGHTNESS IS CONSTANTLY AS A DARK AS THE THE DUNGEONS AND DRAGONS BOARD GAME…what’s most infuriating though is apple is so confident it’s the auto brightness or white point…I have a an iPhone SE 2020. It’s fairly new and is is acting like a 6. Some genius help me yo why my screen brightness is constantly so low and literally can’t do anything but stop using the phone completely and wait for it to be go back up. Thank you.
Post not yet marked as solved
Please ask how to capture the home screen in the background program?
Post not yet marked as solved
Hi, I am doing an acoustical experiment with iPhone, but I need to know whether the microphone and its parameter are the same among different iPhones (iph8, X, 11, 12, 13, and their Pro & Max version).
If the microphones and the parameters are not the same, I would do the experiment only with one of them.
Looking forward to your answers.
Post not yet marked as solved
Hello,
Is there any way to create a call recording app without distributing it to the app store? And just use it as a beta local app on my iphone only?
If there is a way to do it, can you briefly explain how can i do it?
Because all of the app store recording apps store my calls on their server and i dont want that, i just want to save my calls locally on my iphone.
Thanks!
Post not yet marked as solved
I have an audio session enabled and I'm using the screen sharing extension using ReplayKit.
If screen sharing is working and you force close the app during a phone call, the screen sharing extension does not end. Is there a way?
Post not yet marked as solved
my extension id : com.***.test
other extension id : com.***.testabc
I ues replaykit to realize screen share, when preferredExtension appoint my extension bundleId, broadcastPickerView also selected my extension, but system start-up another app extension.(when click top red status bar, it show other app name)
it has that role? when other app extension id contain my extension id, system star-up long id extension?
Post not yet marked as solved
when my app is recording,I click recording in statusbar on the left, then it post the captured false notification below with alert, but I havent click stop button in alert; then it post the captured true notification when I click cancel button.
it should not post notification when I click the stop button?
it was some bug for this problem?
private func addNotificationForCaptured() {
NotificationCenter.default.addObserver(self, selector: #selector(screenCapturedDidChange), name: UIScreen.capturedDidChangeNotification, object: nil)
}
@objc func screenCapturedDidChange(noti: Notification) {
if let screen: UIScreen = noti.object as? UIScreen {
print(screen.isCaptured)
}
}
Post not yet marked as solved
In the app there is a webview which is a web game with sound and video
@IBOutlet var webView: WKWebView!
webView.navigationDelegate = self
let url=URL(string: "https://www.crazygames.com/game/tap-tap-shots")
webView.load(URLRequest(url: url!))
I use RPScreenRecorder
import ReplayKit
import UIKit
class ViewController: UIViewController, RPPreviewViewControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Start", style: .plain, target: self, action: #selector(startRecording))
}
@objc func startRecording() {
let recorder = RPScreenRecorder.shared()
recorder.startRecording{ [unowned self] (error) in
if let unwrappedError = error {
print(unwrappedError.localizedDescription)
} else {
self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Stop", style: .plain, target: self, action: #selector(self.stopRecording))
}
}
}
@objc func stopRecording() {
let recorder = RPScreenRecorder.shared()
recorder.stopRecording { [unowned self] (preview, error) in
self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Start", style: .plain, target: self, action: #selector(self.startRecording))
if let unwrappedPreview = preview {
unwrappedPreview.previewControllerDelegate = self
self.present(unwrappedPreview, animated: true)
}
}
}
func previewControllerDidFinish(_ previewController: RPPreviewViewController) {
dismiss(animated: true)
}
}
Can record video, but no sound from webpage
Post not yet marked as solved
I need to get a log or information on when the user has turned off their notifications on Screen Sharing when ReplayKit is used to record a users screen.
User's are not getting push notifications when they are screen sharing in the app. I want to allow users to get push notifications or at least notify to the api when ever a user turns off their push notifications.
Post not yet marked as solved
This error occurs when my app exits the background after starting the screen recording operation. If this error occurs, how can it be avoided or solved? Every time, the process is killed to continue to be enabled
Post not yet marked as solved
Recently I add a broadcast upload extension to my host app to implement system wide screen cast.I found the broadcast upload extension sometimes stopped for unknown reason.If I debug the broadcast upload extension process in Xcode, it stopped without stopping at a breakpoint(If the extension is killed for 50M bytes memory limit, it will stopped at a breakpoint, and Xcode will point out that it's killed for 50M bytes memory limit).For more imformation, I read the console log line by line.Finally, I found a significant line:
osanalyticshelper Process replayd [26715] killed by jetsam reason highwater
It looks like the ReplayKit serving process 'replayd' is killed by jetsam, and the reason is 'highwater'.So I searched the internet for more imformation.And I found a post:
https://www.jianshu.com/p/30f24bb91222
After reading that,I checked the JetsamEvent report in device, and found that when the 'replayd' process was killed it occupied 100M bytes memory.Is there a 100M bytes memory limit for 'replayd' process?How can I avoid it to occupy more than 100M bytes memory?
Further more, I found that this problem offen occured if the previous extension process is stopped via RPBroadcastSampleHandler's finishBroadcastWithError method.If I stop the extension via control center button, this rarely occured.
Post not yet marked as solved
Device Info: iPad Pro 3rd(iPad13,4) iPadOS:15.5
I start a broadcast server at 13:06:00, and system called 'broadcastStarted'
13:06:03 system called 'broadcastFinished' and 'broadcastError with no error message'
13:06:10 system called 'broadcastStarted' again
At the same time, I didn't do anything !
WHY ? ? ?
Post not yet marked as solved
I would like to know if there is a way in iOS to get information on what app is on screen while screen sharing with ReplayKit.
Does the iOS SDK provide a function to retrieve the name of the app on screen while screen sharing with ReplayKit? If yes, what class and method provide the function?