This may be a dumb question but I cannot find the 'Playgroundbasics.playground' file nor the folder where i am supposed to download it?I am following the Introduction to Swift and I am on Lesson 1 trying to figure out where to find this folder to download.thank you for the help!
Explore the intersection of business and app development. Discuss topics like device management, education, and resources for aspiring app developers.
Post
Replies
Boosts
Views
Activity
I have submit my request a month ago and I didn't get any reply yet. I've seen that other developers are getting their approval or rejection after a couple of weeks.
Is anyone in this situation? how long does it usually take?
Our app is currently employing an SSO extension. Our implementation of
beginAuthorization(with request: ASAuthorizationProviderExtensionAuthorizationRequest)
seems to be working correctly, as we are able to process the request and complete the SSO. Unfortunately we seem to be running into trouble getting an associated UI to display for our users. Our info.plist file for the extension has the value
NSExtensionPrincipalClass:$(PRODUCT_MODULE_NAME).AuthenticationViewController
and we have an accompanying storyboard file named
AuthenticationViewController.xib
where the file's owner is set to our custom view controller. We have added a window and some views to this storyboard file and linked them to our view controller which is also named
AuthenticationViewController
The window will appear when the extension is activated. However, this window will appear behind the safari window we have open, and we cannot seem to bring it to the front of the other views. Traditional methods do not seem to work since the extension cannot access a sharedApplication object. We have tried other methods, including using
NSRunningApplication.runningApplications
to locate the extension via bundle identifier and activate it, but activation still does not bring it to the front of all open windows. We also tried using
presentAuthorizationViewController(completion: @escaping (Bool, Error?) -> Void)
to no avail. We got true for our result in the completion closure, but we couldn't get the UI to display at all in that case. We fear that we may be misguided in our approach, and have not configured our storyboard correctly to achieve the desired result. We have been able to find no example of this for macOS so any help would be greatly appreciated!
WWDC21 session 10123 shows a screen that implies the guardian instance of your app is able to select apps on your child's device to encourage or to control. In my experience with the API so far I can't see a way to do this. The API only seems to work on the child's phone. Here are my questions:
Is there a suggested way to determine whether the app is running on a guardian device? The only way I can see is to attempt AuthorizationCenter.shared.requestAuthorization and check for an error value of .invalidAccountType. But it seems you could get that error for other reasons too.
Is there a way to present FamilyActivityPicker on the guardian device but have it show apps on the child's phone? I don't see any thing in the API for selecting a child account to access with `FamilyActivityPicker', it seems to only show the phone's user's apps (or no apps if it's the guardian's phone).
After retrieving app tokens from 'FamilyActivityPicker' is there a recommended way to present to the user in the UI? The WWDC session shows an app icon and app name (i.e. "Books" and "Solar System"), but my understanding is that info is hidden from the developer for privacy reasons. So I'm wondering if the example in the session is really feasible.
I downloaded Apple Configurator v1.1 from the App Store to an iPad 9th Gen running iPadOS 16.1. When I try to launch the Configurator, the display goes black for a second and then returns to the home screen. I have neither a current Mac available nor an iPhone, only a stack of new iPads purchased through Amazon.
The iphone info:
OsVersion: iOS 15
Device model: iphone 12
Steps:
Install the MDM profile on the iphone.
The server pushes the command to install the webclip profile through MDM (the profile is set to not be manually removable).
After installing the webclip profile, the webclip icon will appear on the Home Screen of the phone screen.
When the webclip is no longer used, remove the webclip profile through MDM.
The problem occurs in step 4, the webclip profile is deleted, but the webclip icon still exists on the home screen of the mobile phone, and cannot be removed by tools such as Apple Configurator2.
So what causes this phenomenon and how to fix?
** Hi Community,**
We have been testing on using oauth2 for User Enrollment.Where as per doc provided we have supplied the method, authorization-url, token-url, redirect-url, client-id in the 401 response from MDM Server
Authorization Request
As mentioned the apple client performed authorization request by adding state, login_hint to the Authorization-url and the params mentioned above and successfully received the authorization code after the user makes a login with the IDP.
<<<<< Request
GET /oauth2/authorization?response_type=code
&client_id=XXXXXXXXXX
&redirect_uri=apple-remotemanagement-user-login:/oauth2/redirection
&state=XXXXXXXXXX
&login_hint=useroa@example.com HTTP/1.1
Host: mdmserver.example.com
------- MULTIPLE REQUESTS BETWEEN CLIENT Server ----------
>>>>> Response
HTTP/1.1 308 Permanent Redirect
Content-Length: 0
Location: apple-remotemanagement-user-login:/oauth2/redirection
?code=XXXXXXXXXX&state=XXXXXXXXXX
.
Token Request
Using the code received from authorization server apple client performs this step to get the access_token and refresh_token.I am using a authorization server created by default in my Okta domain and this step fails.
<<<<< Request
POST /oauth2/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 195
grant_type=authorization_code
&code=XXXXXXXXXXXX
&redirect_uri=apple-remotemanagement-user-login:/oauth2/redirection
&client_id=XXXXXXXXXX
>>>>> Response
HTTP/2 401 Unauthorized
Content-Type: application/json
{
"error": "invalid_client",
"error_description": "Client authentication failed. Either the client or the client credentials are invalid."
}
When debugged this issue, As per Okta's doc https://developer.okta.com/docs/guides/implement-grant-type/authcode/main/#exchange-the-code-for-tokens The client must specify Their credentials in Authorization header as Authorization : Basic <client_id>:<client_secret> in order to get the access_token
And Also as per RFC-6749 https://www.rfc-editor.org/rfc/rfc6749#section-4.1.3 The Confidential Clients must specify their client_id, client_secret provided by the authorization server to receive the access_tokens.
May I know how to overcome this issue or did I missed any steps that may include the Authorization header
Thanks in Advance,.
Здравствуйте коллеги! Кто-нибудь знает как подписать соглашение Paid Applications Agreement если его нет в App Store Connect? Спасибо.
Since a few days my Apple Business Manager Enterprise App in Azure was quarantined. I had no configuration changes, it just suddenly stopped. I have two groups which contain the users I want to sync. It seems it cannot use groups at all anymore. If I assign users directly it will work. But that's very inconvenient for us.
Was there any change lately to explain why this does not work anymore?
Group
User
Hi Apple Team,
We are excited by looking on the new updates introduced in WWDC23. In a Session named "Do More With Managed Apple IDs" Where There is Sign In Policy Introduced For Managed Apple IDs
Any Device
Managed Devices Only
Supervised Devices Only
And as a MDM Vendor We need to Support GetToken CheckIn Request to Support Sign In Policy Managed Devices Only, Supervised Devices Only and have some doubts regarding this.
When the Policy is Set To Managed Device Only and we don't have DEP Tokens Registered by Customer with us.How could we able generate the JWT Signed Token with the necessary serverUUID.
In case 1) Even though if I have DEP Token with me How could I choose the necessary serverUUID If the device had managed by MDM through Profile Based Enrollments.
Can you please provide with appropriate solution to overcome this
During the "What’s new in managing Apple devices" session, you provided information about the "Not Now" option during Mac ABM Enrollment. We observed that this option was functional when enrolling a Mac through ABM using the "profiles renew -type enrollment" command. However, when attempting to enroll a Mac by erasing it through ABM, we couldn't find the "Not Now" option. Could you please confirm whether the "Not Now" option is intended to be available when enrolling a Mac by erasing it through ABM? Your clarification on this matter would be greatly appreciated.
When pushing the “ScheduleOSUpdate” command to a Supervised MDM enrolled iPad device, command fails with the following error.
Available OS Update response
<key>AvailableOSUpdates</key>
<array>
<dict>
<key>AllowsInstallLater</key>
<false/>
<key>Build</key>
<string>20G75</string>
<key>DownloadSize</key>
<integer>4456890240</integer>
<key>HumanReadableName</key>
<string>iOS 16</string>
<key>InstallSize</key>
<integer>467664896</integer>
<key>IsCritical</key>
<false/>
<key>ProductKey</key>
<string>iOSUpdate20G75</string>
<key>ProductName</key>
<string>iOS</string>
<key>RestartRequired</key>
<true/>
<key>Version</key>
<string>16.6</string>
</dict>
</array>
<key>CommandUUID</key>
<string>AvailableOSUpdates</string>
<key>Status</key>
<string>Acknowledged</string>
ScheduleOSUpdate command
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CommandUUID</key>
<string>ScheduleOSUpdate</string>
<key>Command</key>
<dict>
<key>RequestType</key>
<string>ScheduleOSUpdate</string>
<key>Updates</key>
<array>
<dict>
<key>ProductKey</key>
<string>iOSUpdate20G75</string>
<key>InstallAction</key>
<string>Default</string>
<key>ProductVersion</key>
<string>16.6</string>
</dict>
</array>
</dict>
</dict>
</plist>
ScheduleOSUpdate command response
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CommandUUID</key>
<string>AttemptOSUpdate</string>
<key>Status</key>
<string>Acknowledged</string>
<key>UDID</key>
<string>****</string>
<key>UpdateResults</key>
<array>
<dict>
<key>ErrorChain</key>
<array>
<dict>
<key>ErrorCode</key>
<integer>12057</integer>
<key>ErrorDomain</key>
<string>MCMDMErrorDomain</string>
<key>LocalizedDescription</key>
<string>The update failed to download.</string>
<key>USEnglishDescription</key>
<string>The update failed to download.</string>
</dict>
<dict>
<key>ErrorCode</key>
<integer>2202</integer>
<key>ErrorDomain</key>
<string>DeviceManagement.error</string>
<key>LocalizedDescription</key>
<string>A download failed.</string>
</dict>
<dict>
<key>ErrorCode</key>
<integer>31</integer>
<key>ErrorDomain</key>
<string>com.apple.softwareupdateservices.errors</string>
<key>LocalizedDescription</key>
<string>The operation couldn’t be completed. (com.apple.softwareupdateservices.errors error 31.)</string>
</dict>
</array>
<key>InstallAction</key>
<string>Error</string>
<key>ProductKey</key>
<string>iOSUpdate20G75</string>
<key>Status</key>
<string>DownloadFailed</string>
</dict>
</array>
</dict>
</plist>
As seen in the AvailableOSUpdate response, this device is applicable for iOS 16 update but unable to update manually as well as via MDM.
The device has the following message showing up, is there any relation between the MDM command failing and this message.
This iPad device is currently running "12.1.4" OS version
Kindly confirm the reason for this message and the reason for this failure via MDM.
And also confirm if there are any restrictions to update to certain major OS versions from lower OS versions, if so kindly share any documentation available regarding this.

I've not been able to find instructions for m y scenario. Both Macs are running Sonoma. They are both logged in as me via iCloud. What/where are the settings to enable me to remotely access the other Mac from a different house in a different town?
Hi, Im testing protecting iMessages using an managed ID with iOS 16.6. With a managed ID, it seems iMessages sycned to iClould is not available nor are iMessages backed up using the backup option on the device. When is this feature expected to be available?
Thanks,
Mohsin
Red edilen uygulamaya sadece "Reply to App Review" diyerek geri cevap alabilir miyiz?
Daha önce yaptığımda 3,4 gün beklememe rağmen bir cevap alamadım, hataya geçen sürümü tekrar review göndermek zorundamıyız?
Good morning,
I am very beginners student of openFrameworks. I'm following a tutorial trying to create a new class with openFrameworks but I cannot compile it in the right way. This because the tutorial I found in on Visual Studio and i'm working on a Mac with Xcode.
This problem is blocking me and I cannot go on with the course.
Can someone help me translate the code to create a new class from Visual Studio to Xcode? The language is the same, but the programme in this case is slightly different.
On Visual Studio the files are Class.H and Class.Cpp
THIS IS CLASS.H VISUAL STUDIO
#pragma once
#include "ofMain.h"
class ball {
public:
ball();
void setup (ofVec2f initialPos, ofVec2f initialVel, float rad);
void update ();
void draw();
ofVec2f pos;
ofVec2f vel;
ofVec2f radius;
};
CLASS.CPP VISUAL STUDIO
#include "ball.h"
ball :: ball();{
}
void ball :: setup(ofVec2f initialPos, ofVec2f initialVel, float rad); {
ofVec2f initialPos;
ofVec2f initialVel;
float rad;
}
//--------------------------------------------------------------
void ball::update()
{
pos += vel;
if ((pos.x > ofGetWidth ()) || (pos.x < 0)){
vel.x *= -1;
}
if ((pos.y > ofGetWidth ()) || (pos.y < 0)){
vel.y *= -1;
}
//--------------------------------------------------------------
void ball::draw(){
ofDrawCircle (pos.x, pos.y, radius);
}
On Xcode it is slightly different and I don't know how to translate it.
Here is the setting for the two XCode pages CLASS.H and CLASS.M
CLASS.H
//
// Default Classes.h
// default classes
//
// Created by Valerie Tameu on 23/08/23.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface Default_Classes : NSObject
@end
NS_ASSUME_NONNULL_END
and CLASS.m
//
// Default Classes.m
// default classes
//
// Created by Valerie Tameu on 23/08/23.
//
#import "Default Classes.h"
@implementation Default_Classes
@end
Somebody can help me to traslate the code of Visual Studio here in XCode?
Thank you for the help!
I am trying apple declarative management protocol. I would like to get management.client-capabilities from device on demand apart from incremental updates when device upgrades. Is this possible by some declaration or workaround
without reenrolling device ?
Sample subscription:
{
"Identifier": "status-subscriptions1",
"ServerToken": "$serverToken",
"Type": "com.apple.configuration.management.status-subscriptions",
"Payload": {
"StatusItems": [
{
"Name": "device.operating-system.build-version"
},
{
"Name": "device.identifier.serial-number",
},
{
"Name": "device.identifier.udid",
},
{
"Name" : "device.model.family",
},
{
"Name" : "device.model.identifier",
},
{
"Name" : "device.model.marketing-name",
},
{
"Name" : "device.model.number",
},
{
"Name" : "device.operating-system.family",
},
{
"Name" : "device.operating-system.marketing-name",
},
{
"Name" : "device.operating-system.supplemental.build-version",
},
{
"Name" : "device.operating-system.supplemental.extra-version",
},
{
"Name" : "device.operating-system.version",
},
{
"Name" : "diskmanagement.filevault.enabled",
},
{
"Name": "mdm.app"
},
{
"Name": "management.client-capabilities",
},
{
"Name": "security.certificate.list",
},
{
"Name": "passcode.is-compliant",
},
{
"Name": "passcode.is-present",
}
]
}
}
Problem Description:
We are using manageVPPLicensesByAdamIdSrv API for assigning licenses for serial numbers. We get "Internal error - 9603" response for this API when assigning the API for valid adamID of an app. When using the same API other apps, this issue doesn't occur. AdamID: 720111835. The license is assigning properly for the same app in VPP License Management 2.0.0 + - Associate Assets API. Currently, we will not able to the new API. We overcame this issue by creating a new location token in the same organization and purchasing the same app in it and using it to assign the license to device for the same app which is successful.
Kindly help us with this issue.
Request:
{"pricingParam":"STDQ","disassociateSerialNumbers":["SAMPLESERIAL"],"adamIdStr":"720111835","sToken":"********************","notifyDisassociation":false}
Response:
{"errorMessage":"Internal error.","errorNumber":9603,"status":-1}
When I execute the InstalledApplicationList(MDM command),
A part of the response is Incorrect.
TikTokLite is not a managed app according to the later methods.
This is the request and response.
■Request
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"[]>
<plist version="1.0">
<dict>
<key>Command</key>
<dict>
<key>ManagedAppsOnly</key>
<true />
<key>RequestType</key>
<string>InstalledApplicationList</string>
</dict>
<key>CommandUUID</key>
<string>8dffac1f-55df-40b1-8c69-414dfb8aedac</string>
</dict>
</plist>
■Response
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"[]>
<plist version="1.0">
<dict>
<key>CommandUUID</key>
<string>8dffac1f-55df-40b1-8c69-414dfb8aedac</string>
<key>InstalledApplicationList</key>
<array>
<dict>
<key>AdHocCodeSigned</key>
<false />
<key>AppStoreVendable</key>
<true />
<key>BetaApp</key>
<false />
<key>BundleSize</key>
<integer>12525568</integer>
<key>DeviceBasedVPP</key>
<false />
<key>DynamicSize</key>
<integer>12288</integer>
<key>ExternalVersionIdentifier</key>
<integer>858324287</integer>
<key>HasUpdateAvailable</key>
<false />
<key>Identifier</key>
<string>net.skyseaclientview.mdm</string>
<key>Installing</key>
<false />
<key>IsAppClip</key>
<false />
<key>IsValidated</key>
<true />
<key>Name</key>
<string>SKYSEA MDM</string>
<key>ShortVersion</key>
<string>1.1.182200</string>
<key>Version</key>
<string>36</string>
</dict>
<dict>
<key>AdHocCodeSigned</key>
<false />
<key>AppStoreVendable</key>
<true />
<key>BetaApp</key>
<false />
<key>BundleSize</key>
<integer>266919936</integer>
<key>DeviceBasedVPP</key>
<false />
<key>DynamicSize</key>
<integer>15335424</integer>
<key>ExternalVersionIdentifier</key>
<integer>858769767</integer>
<key>HasUpdateAvailable</key>
<false />
<key>Identifier</key>
<string>com.ss.iphone.ugc.tiktok.lite</string>
<key>Installing</key>
<false />
<key>IsAppClip</key>
<false />
<key>IsValidated</key>
<true />
<key>Name</key>
<string>TikTokLite</string>
<key>ShortVersion</key>
<string>29.3.16</string>
<key>Version</key>
<string>2931603</string>
</dict>
</array>
<key>Status</key>
<string>Acknowledged</string>
<key>UDID</key>
<string>00008120-000C28DC0AB8C01E</string>
</dict>
</plist>
・TikTokLite does not appear in the "Mobile Device Management App" in the iPhone's Settings app.
Is this right?
If this is expected response, Is there a way to judge that the app is a managed app?
This is the Device information.
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"[]>
<plist version="1.0">
<dict>
<key>CommandUUID</key>
<string>31317d47-355c-40cb-ad72-3bff6c57989b</string>
<key>QueryResponses</key>
<dict>
<key>AvailableDeviceCapacity</key>
<real>112.608231424</real>
<key>BatteryLevel</key>
<real>0.97999999999999998</real>
<key>BluetoothMAC</key>
<string>***</string>
<key>BuildVersion</key>
<string>20F66</string>
<key>CellularTechnology</key>
<integer>1</integer>
<key>DataRoamingEnabled</key>
<false />
<key>DeviceCapacity</key>
<real>128</real>
<key>DeviceName</key>
<string>***</string>
<key>EASDeviceIdentifier</key>
<string>***</string>
<key>IMEI</key>
<string>***</string>
<key>IsActivationLockEnabled</key>
<true />
<key>IsCloudBackupEnabled</key>
<true />
<key>IsDeviceLocatorServiceEnabled</key>
<true />
<key>IsDoNotDisturbInEffect</key>
<false />
<key>IsMDMLostModeEnabled</key>
<false />
<key>IsRoaming</key>
<false />
<key>IsSupervised</key>
<false />
<key>Model</key>
<string>MQ983J</string>
<key>ModelName</key>
<string>iPhone</string>
<key>ModemFirmwareVersion</key>
<string>1.70.02</string>
<key>OSVersion</key>
<string>16.5</string>
<key>PersonalHotspotEnabled</key>
<false />
<key>ProductName</key>
<string>iPhone15,3</string>
<key>SerialNumber</key>
<string>***</string>
<key>SubscriberMCC</key>
<string></string>
<key>SubscriberMNC</key>
<string></string>
<key>UDID</key>
<string>00008120-000C28DC0AB8C01E</string>
<key>VoiceRoamingEnabled</key>
<false />
<key>WiFiMAC</key>
<string>***</string>
<key>iTunesStoreAccountHash</key>
<string>***</string>
<key>iTunesStoreAccountIsActive</key>
<true />
</dict>
<key>Status</key>
<string>Acknowledged</string>
<key>UDID</key>
<string>00008120-000C28DC0AB8C01E</string>
</dict>
</plist>
Hello,
ContentFilterUUID in WebContentFilter payload can be used for "Per-App content filter" - the UUID can be used in app attributes, as stated in the doc:
A globally-unique identifier for this content filter configuration. Managed apps with the same ContentFilterUUID in their app attributes have their network traffic processed by the content filter.
Do I understand right that if we want the profile to be globally applied, it should NOT contain the ContentFilterUUID key ?
We're seeing cases where setting the key would make the profile doing nothing on the device, but the documentation is not 100% clear on this.
Any clarification would be very appreciated !
Thanks