Explore the intersection of business and app development. Discuss topics like device management, education, and resources for aspiring app developers.

All subtopics

Post

Replies

Boosts

Views

Activity

App Managed Configuration in Declarative Management
Hello, We've been playing the app managed configuration with DDM recently and there is a few thing that we might be missing. We're trying to replace our existing feature of app installation using the Install Command with DDM. Everything seems to be working as expected but we're having an hard time understanding how to keep an app installed with the ManifestUrl (custom IPA) updated on the device as well as custom apps deployed through Custom Apps with ABM. We used to send new install command when a new version was released (either with manifest or custom apps) and this will trigger a new app install over the existing app keeping data and updating the app. We however, cannot figure how to do this with App Managed Configuration with DDM. If we replace the configuration declaration (and therefore changed the declaration Identifier), the app will be uninstalled and then reinstalled again (but not all the time). In that case app data is lost as this is a fresh install of the app. Is there a way to reinstall over an existing app an updated version of an app available through Manifest or with custom apps ? The same question would apply to any apps unless I'm mistaken, how do we force apps to be updated? Thanks for your help, Jeremy
2
0
427
May ’24
Declarative management AppManaged declaration with custom configuration
I am trying to find how to configure an application when using an AppManaged declaration. Using MDM, I would send the install command and include the settings in the 'Configuration' key of the command. I have checked the documentation and rewatched the 2023 WWDC video, but it is not mentioned at all. AppManagedAttributesObject has specific configuration options and doesn't appear to cater for adhoc app specific configurations. Anyone found a way to accomplish this? There are a number of apps (store and enterprise) that require this functionality in order to be configured remotely.
3
2
450
Mar ’24
DEP MDM Enrollment iOS/macOS
I can enroll iOS and macOS devices with success when DEP is not used (OTA). With DEP, I can enroll iOS devices but not macOS devices. In this case, the process fails when the activation profile is received, because the system cannot decrypt the returned payload. Note that I sign the payload using the server certificate (trusted as the anchored certs are defined accordingly) and I encrypt the payload using the device identity certificate. This identity certificate was obtained when the device reached the enrollment URL (used to sign the inbound payload). From the console logs, it seems that the device cannot find the aforementioned certificate using the issuer and serial number, which is surprising because this should be the device identity certificate. I currently use PKCS7 openssl 3 API. I am wondering if I should switch for the CMS functions since it provides a way to define the certificate using it's key identifier rather than the issuer and serial number. I'm also wondering if certificates are missing in the chain. Any help would be greatly appreciated.
4
0
330
May ’24
FileVaultPRK.dat is missing from /var/db directory
From MDM server, we push a DiskEncryption profile to enable FileVault and chosen Personal as the recovery type. Once the profile lands on the system, we execute the command fdesetup changerecovery which prompts the user to complete the authentication. Then a file named FileVaultPRK.dat is getting created in /var/db directory. Though the file presents in most of the devices after certain time, we noticed that the file FileVaultPRK.dat got removed in few devices. We would like to know on what basis the file would get deleted from the macOS device? (except removing the DiskEncryption profile.) Thank you in advance.
0
0
366
May ’24
Clarification on the Get Server Supported Declarations endpoint
In Declarative Device Management there is the Get Server Supported Declarations endpoint that is sent via an MDM Check-In request. Is this supposed to return all of the declarations supported by the server, or only the ones that are intended for the device making the request? This seems like a bad choice of naming for that endpoint and, if my assumption is correct it should be named more along the lines of "Get Device Declarations" Or am I fundamentally misunderstanding DDM and our server should be sending all declarations we have to the device and the device controls them via activations? This seems counter to the pitch around scalability and performance improvements that DDM offers if we have to send literally everything to the device even if it's known to not be needed, and similarly if the device doesn't support it but the server does then obviously(?) the server shouldn't send it to the device.
2
1
461
May ’24
Content Filter Extension on Shared iPads
We're trying to make our Content Filter solution work on Shared iPads. We leverage the Network Extension framework, more specifically the Content Filter Providers. On regular, 1:1 iPads, this works perfectly fine. However, on Shared iPads we see some weird behaviour. Upon logging in with a MAID everything initially seems fine. However, in about 5 to 10 seconds the user is automatically logged out and an error indicating "a connection to iCloud could not be made" is presented to the user. After investigating the logs it turns out this is caused by the fact that the network is unreachable. For example: Jan 19 00:33:04 cloudd(CFNetwork)[5867] <Error>: Task <F5DC7C46-422D-4265-A364-B3C859BF6291>.<1> finished with error [-1009] Error Domain=NSURLErrorDomain Code=-1009 UserInfo={_kCFStreamErrorCodeKey=50, NSUnderlyingError=0xefe89ffc0 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 UserInfo={_NSURLErrorNWPathKey=unsatisfied (Path was denied by NECP policy), interface: en0[802.11], ipv4, dns, uses wifi, _kCFStreamErrorCodeKey=50, _kCFStreamErrorDomainKey=1}}, _NSURLErrorFailingURLSessionTaskErrorKey=<private>, _NSURLErrorRelatedURLSessionTaskErrorKey=<private>, NSLocalizedDescription=<private>, NSErrorFailingURLStringKey=<private>, NSErrorFailingURLKey=<private>, _kCFStreamErrorDomainKey=1} Test device: iPad Pro (11-inch) running iPadOS 17.2 (21C62) My assumption: It looks like the filter providers start "too late". In the meantime the device is trying to reach the network, but since there is a Content Filter configuration in place all traffic is denied until the extension is started (and the completionHandler has been called with a nil error). I can see in the logs that, about 5 seconds after the home screen is visible, the Content Filter Providers are starting: ... Jan 19 00:52:54 neagent(NetworkExtension)[7086] <Notice>: Extension request with data extension <our filterData bundle ID> started with identifier 63576D2C-A484-4D07-9753-ADC99BFDB7A6 ... Jan 19 00:52:55 neagent(NetworkExtension)[7086] <Notice>: Extension request with control extension <our filterControl bundle ID> started with identifier 51D19516-C860-48B8-AB83-0F43D5F613CB ... Is my assumption correct? Are the Content Filter provider even officially supported by Apple on Shared iPads? Is there anything we can do to fix this issue?
4
0
626
Jan ’24
System Preferences MDM for macOS 14 WWDC2023
On WWDC 2023 Apple announced this: https://developer.apple.com/videos/play/wwdc2023/10040/?time=648 And as you can see and hear, they are saying: "In the past, entire System Preference panes were hidden to fulfill this requirement. With the introduction of System Settings, we were able to implement a granular management approach. Instead of hiding entire panes, the administrator can restrict modifications of a specific setting which now shows a label about its management state." But where Apple Developer documentation can I find the payload for this? The only thing I was abble to find is https://developer.apple.com/documentation/devicemanagement/systempreferences which is DEPRECEATED for 13.0 macOS.
1
0
301
May ’24
Does everyone wait for weeks for their Apple Developer Support?
Hello everyone! The first time I needed Apple Support I had to wait 2 weeks. I wrote now 5 days ago to change my entity type from Individual to Company and I am afraid I am going to wait weeks or months for such a thing to happen. I wrote countless support emails asking for an update on my case number 102275785042, but I am receiving only the confirmation email that is lying that it takes 48 to respond. I have wrote my first app but I am stuck on this and everything is going to be for nothing because my client is leaving me. Taking in account that I don’t have an option to call, what can I do to get an answer from Apple? I am in Romania. If I get a phone number of a country that they really do offer support, will I be able to call, or have the issue addressed? I am getting desperate
1
0
332
Apr ’24
Apple Push Certificate Portal page not working
Hi everyone. I've been trying to set up my Macs in Intune. One of the key requirements is to create a push certificate for my environment. I can get past the upload page on the Apple Push Certificate Portal. Once I click the upload button on the web page after choosing my CSR file, I get this the page on the CSR file "The page you’re looking for can’t be found". I get the same message every time I refresh or log back into the page doing these steps. I don't know what to do. Would anyone have any advice on this? Or is this solely an Apple problem? Just if it's of any relevance, I am in Australia.
2
0
439
Apr ’24
Behavior when a non-empty response is returned for the DDM status report
I have a question. When the DDM status report is sent from a DDM device, normally an empty response is returned. However, if we return a non-empty response that includes an arbitrary string, the device sends us the declaration-items request. Is this behavior correct? device| --status reort--------&gt; |server device| &lt;------a non-empry----- |server device| --declaration-items---&gt; |server. Is this behavior correct?
1
0
374
Apr ’24
How to Exempt iOS native Translate APP in Microsoft Intune Policy
I'm the IT Admin in my company. We use Microsoft Intune, which is a Mobile Device Management tool, to manage our devices and apps. I created an app protection policy, restricting the data can only be shared between the allowed apps. For example, if our user want to copy the content in Outlook for iOS to WeChat or personal memo, the action will be blocked. However, may be it's too strict, here is the scenario that we need to hadle: A user selected the content in the Outlook for iOS mail, and wanted to use the "translate" function to do translation. Before the app protection policy was deployed, he can do the translation successfully. And now, it's blocked. Therefore, we need to find a way to exempt the app "Translate" so that users can do the translation successfully. We put the value "com.apple.Translate"(this is a package ID listed in the official document of Apple) to the exemption, but it's not working. May I know what is the correct "value" for the iOS native Translate APP? I need to put this value to our app protection policy to exempt Translate app. Thank you so much.
5
0
563
Apr ’24
VPN configuration profile ApplicationExceptions key?
Hi! Notice for the VPN of type "Always On", this site indicates a ApplicationExceptions key. But on the configuration manual it's not found. I'm trying to indicate a couple apps that should be able to bypass the always on vpn, but it doesn't seem to work. Any ideas? THanks appears here: https://developer.apple.com/documentation/devicemanagement/vpn/alwayson/applicationexceptionelement not here: https://developer.apple.com/business/documentation/Configuration-Profile-Reference.pdf
2
0
330
Apr ’24
How to configurable endpoint security message deadline value by which app should respond?
As enterprise endpoint security/data loss prevention application, we need to detect data which is being transferred out of the enterprise context from their MacOS filesystem through applications like Cloud Sync or Email. Depending on the file content, type and size, we require some time for scanning the content being sent. This can range from milli seconds to few minutes for very large contents. But the Endpoint Security message has to be responded within the provided message deadline else application will be killed. This deadline is reducing with every macos release and its now only 15 seconds on macos sonoma which is blocking our use case of completing the scan before responding. We may scan it before but it imposes challenges of the data being modified before actual sent. So, we have to scan it on the fly and cant rely solely on the previous scans. Is there any way an Enterprise can customize this deadline value depending on the ES message and scanning application may be through MDM setting?
1
1
488
Mar ’24
Thread 1: Breakpoint 1.1
I can't find the problem.. - The simulator is stopping after opening the app... Database`property wrapper backing initializer of ContentViewViewModel.currentUserId: 0x104c12bd0 <+0>: sub sp, sp, #0x50 0x104c12bd4 <+4>: stp x29, x30, [sp, #0x40] 0x104c12bd8 <+8>: add x29, sp, #0x40 0x104c12bdc <+12>: str x8, [sp, #0x10] 0x104c12be0 <+16>: mov x8, x0 0x104c12be4 <+20>: str x8, [sp, #0x8] 0x104c12be8 <+24>: mov x0, x1 0x104c12bec <+28>: str x0, [sp, #0x18] 0x104c12bf0 <+32>: stur xzr, [x29, #-0x10] 0x104c12bf4 <+36>: stur xzr, [x29, #-0x8] -> 0x104c12bf8 <+40>: stur x8, [x29, #-0x10] 0x104c12bfc <+44>: mov x1, x0 0x104c12c00 <+48>: stur x1, [x29, #-0x8] 0x104c12c04 <+52>: bl 0x1053b9a88 ; symbol stub for: swift_bridgeObjectRetain 0x104c12c08 <+56>: ldr x9, [sp, #0x8] 0x104c12c0c <+60>: ldr x8, [sp, #0x10] 0x104c12c10 <+64>: ldr x1, [sp, #0x18] 0x104c12c14 <+68>: add x0, sp, #0x20 0x104c12c18 <+72>: str x9, [sp, #0x20] 0x104c12c1c <+76>: str x1, [sp, #0x28] 0x104c12c20 <+80>: adrp x1, 2556 0x104c12c24 <+84>: ldr x1, [x1, #0xa00] 0x104c12c28 <+88>: bl 0x104c12c40 ; Combine.Published.init(wrappedValue: Value) -> Combine.Published<Value> at <compiler-generated> 0x104c12c2c <+92>: ldr x0, [sp, #0x18] 0x104c12c30 <+96>: bl 0x1053b91a0 ; symbol stub for: swift_bridgeObjectRelease 0x104c12c34 <+100>: ldp x29, x30, [sp, #0x40] 0x104c12c38 <+104>: add sp, sp, #0x50 0x104c12c3c <+108>: ret // // ContentViewViewModel.swift // Database // // Created by Maxi on 25.03.24. // import Firebase import FirebaseAuth import Foundation class ContentViewViewModel: ObservableObject { @Published var currentUserId: String = "" private var handler: AuthStateDidChangeListenerHandle? init () { self.handler = Auth.auth().addStateDidChangeListener{ [weak self] _, user in DispatchQueue.main.async { self?.currentUserId = user?.uid ?? "" } } } public var isSignedIn: Bool { return Auth.auth().currentUser != nil } } // // ContentView.swift // Database // // Created by Maxi on 25.03.24. // import Firebase import FirebaseAuth import SwiftUI struct ContentView: View { @StateObject var viewModel = ContentViewViewModel() var body: some View { VStack { NavigationView { if viewModel.isSignedIn, !viewModel.currentUserId.isEmpty { //signed in HomeView() } else { LoginView() } } .padding() } } } struct ContentView_Previews: PreviewProvider{ static var previews: some View { ContentView() } } // // HomeView.swift // Database // // Created by Maxi on 25.03.24. // import SwiftUI struct HomeView: View { var body: some View { Text("Welcome to your Account!") } } #Preview { HomeView() } // // LoginViewViewModel.swift // Database // // Created by Maxi on 25.03.24. // import FirebaseAuth import Foundation class LoginViewViewModel: ObservableObject { @Published var email = "" @Published var password = "" @Published var errorMessage = "" init() {} func login() { guard validate() else { return } //Try log in Auth.auth().signIn(withEmail: email, password: password) } private func validate() -> Bool { errorMessage = "" guard !email.trimmingCharacters(in: .whitespaces).isEmpty, !password.trimmingCharacters(in: .whitespaces).isEmpty else { errorMessage = "Bitte füllen Sie alle Felder aus." return false } guard email.contains("@") && email.contains(".") else { errorMessage = "Bitte geben Sie eine gültige Email-Adresse ein." return false } return true } } // // LoginView.swift // Database // // Created by Maxi on 25.03.24. // import SwiftUI struct LoginView: View { @StateObject var viewModel = LoginViewViewModel() var body: some View { NavigationView { VStack { //Header HeaderView() if !viewModel.errorMessage.isEmpty{ Text(viewModel.errorMessage) .foregroundColor(Color.red) } Form{ TextField("E-Mail Adresse", text: $viewModel.email) .textFieldStyle(DefaultTextFieldStyle()) .autocapitalization(/*@START_MENU_TOKEN@*/.none/*@END_MENU_TOKEN@*/) SecureField("Passwort", text: $viewModel.password) .textFieldStyle(DefaultTextFieldStyle()) CreateAccountButton( title: "Anmelden", background: .blue) { viewModel.login() } } //Create ACC VStack { Text ("Neu hier?") //Show registartion NavigationLink ("Erstelle einen Account", destination: RegisterView()) } } } } } struct LoginView_Previews: PreviewProvider{ static var previews: some View { LoginView() } }
0
0
305
Mar ’24
Developer name
Good morning, community. I have an organization account. When creating the first application, it asked for the name of the organization again, in which I accidentally filled with the name of the application. Now, when trying to submit my app, I am told that I need to provide files showing that I'm the owner of that company, etc. But in reality, there's no company with that name, as it's only the name of the application. Is there a way to change this developer name back to my organization's name? I've seen this link, and they say there's no way to change it. What could I do in this scenario? I just enrolled; should I remove the account and enroll as an organization again? I need support, please. Thank you guys in advance.
0
0
346
Mar ’24
Transfer Account Holder role- Individual
Query: My ex colleague opened a individual apple developer account and we mutually published app there, but later on, he get separated, and move to an other town. I keep on using same account but he stopped. I don't have his contact detail as he have changed is contact and all details. Now I want to transfer account holder role to my name, where as apple says one can only do it in below scenario. ""Account Holder transfers for individual members are granted when a minor reaches the age of majority and can receive the Account Holder role from their guardian, or when the Account Holder is deceased. Assistance is required from Apple Developer Support."" Any Solution to my Problem?
0
1
394
Mar ’24