Welcome to the Apple Developer Forums:

Find answers, ask questions, and share comments on development topics with fellow developers and Apple engineers. 

To get started, search for keywords (like “app distribution”), standard tags (like [SwiftUI]), or WWDC tags (like [WWDC21]).

Learn different ways to search and use the forums

See all WWDC21 tags

Posts

Sort by:
Post not yet marked as solved
9 Views

Hotspot 2.0 Profile

Hello. I am trying to setup Hotspot 2.0 (Passpoint r1) in a lab setting. I have a RADIUS server configured to authenticate EAP-TLS, and have successfully created and installed a profile on an iPad that will connect to the SSID providing EAP-TLS...certs, keys and all required settings. I then created a new profile (starting with the working EAP-TLS profile) that defines Hotspot 2.0 settings (such as NAI realms, RoamingConsortiumOIs, Domain name, etc), the iPad will see the SSID and show it in the SSID list with my DisplayedOperatorName showing nicely. When I try to connect to it, however, I get the message Unable to join the network "HS20DEMO" I have tried to look at the logs. However, the logs don't make much sense to me. I know I have the SSID configured properly because I have it working on my Android phone via their Hotspot 2.0 profile install methods. I'm not sure what I'm doing wrong. Is there some other requirement here that I am missing? Do the HS20 profiles need to be signed in order to work properly? That's the only other thing I can think of trying. I reviewed the Configuration Profile Reference documentation many times, but nothing is stands out to me. Any help would be appreciated. Thanks. Passpoint Profile: <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>PayloadVersion</key> <integer>1</integer> <key>PayloadUUID</key> <string>723963bd-3eb1-4bd4-a62a-36e6cc2fd22f</string> <key>PayloadType</key> <string>Configuration</string> <key>PayloadIdentifier</key> <string>com.examplewifi.hs20</string> <key>PayloadDisplayName</key> <string>iOS HS20 test profile</string> <key>PayloadDescription</key> <string>This is a test Hotspot 2.0 profile providing a key/cert file for EAPTLS/HS20 authentication.</string> <key>PayloadContent</key> <array> <dict> <key>PayloadType</key> <string>com.apple.wifi.managed</string> <key>PayloadUUID</key> <string>8110d7fa-67ec-4b22-9bd7-e8961b71b0c2</string> <key>PayloadIdentifier</key> <string>com.examplewifi.hs20config</string> <key>PayloadVersion</key> <integer>1</integer> <key>PayloadScope</key> <string>System</string> <key>PayloadDescription</key> <string>Example Wifi Hotspot 2.0 Lab</string> <key>PayloadDisplayName</key> <string>Example Wifi Hotspot 2.0 Lab</string> <key>AutoJoin</key> <true/> <key>DisplayedOperatorName</key> <string>Example Wifi Hotspot 2.0 Lab</string> <key>DomainName</key> <string>examplewifi.com</string> <key>ServiceProviderRoamingEnabled</key> <true/> <key>IsHotspot</key> <true/> <key>NAIRealmNames</key> <array> <string>hs20.examplewifi.com</string> </array> <key>RoamingConsortiumOIs</key> <array> <string>112233</string> </array> <key>EncryptionType</key> <string>WPA2</string> <key>EAPClientConfiguration</key> <dict> <key>AcceptEAPTypes</key> <array> <integer>13</integer> </array> <key>TLSCertificateIsRequired</key> <true/> <key>TLSTrustedServerNames</key> <array> <string>hs20.examplewifi.com</string> <string>hs20ca.examplewifi.com</string> </array> <key>PayloadCertificateAnchorUUID</key> <array> <string>c0f507e3-2739-42bc-b934-74775405bb2c</string> </array> </dict> <key>PayloadCertificateUUID</key> <string>fe4b01ae-e8fe-4d30-a9ee-457bf436fbf9</string> </dict> <dict> <key>PayloadType</key> <string>com.apple.security.pkcs12</string> <key>PayloadUUID</key> <string>fe4b01ae-e8fe-4d30-a9ee-457bf436fbf9</string> <key>PayloadIdentifier</key> <string>com.examplewifi.p12</string> <key>PayloadVersion</key> <integer>1</integer> <key>PayloadDescription</key> <string>This is the private key and certificate.</string> <key>PayloadDisplayName</key> <string>Private Key and Certificate</string> <key>Password</key> <string>password</string> <key>PayloadContent</key> <data>MIIQOQIBAzCCD/8GCSqGSIb3DQEHAaCCD/AEgg/sMIIP6DCCBh8G CSqGSIb3DQEHBqCCBhAwggYMAgEAMIIGBQYJKoZIhvcNAQcBMBwG ... NZMXmMIrkMvkBAhwM09ez52g6gICCAA= </data> </dict> <dict> <key>PayloadDisplayName</key> <string>CA certificate</string> <key>PayloadIdentifier</key> <string>CA certificate.cert</string> <key>PayloadUUID</key> <string>c0f507e3-2739-42bc-b934-74775405bb2c</string> <key>PayloadType</key> <string>com.apple.security.pem</string> <key>PayloadVersion</key> <integer>1</integer> <key>PayloadCertificateFileName</key> <string>ca.pem</string> <key>PayloadContent</key> <data>MIIGZDCCBEygAwIBAgIJAPIkHYkIhVMLMA0GCSqGSIb3DQEBCwUA MGoxCzAJBgNVBAYTAlVTMQ0wCwYDVQQIDARPaGlvMQwwCgYDVQQH ... Kpg= </data> </dict> </array> </dict> </plist> Relevant iOS Logs (these logs are a capture with SSID=HS20DEMO): wifid.txt
Asked
by webasdf.
Post not yet marked as solved
4 Views

Developer Account Enrollment Delays

Hello, I have had several developer accounts over the years, and all are set up within a week. I applied for a new developer account on 07/20 and have not heard anything since. I am wondering if there are delays at the moment or if this seems out of the ordinary? I've contacted developer support a couple of times and am told they are not able to give me an update. Any insight from others would be appreciated.
Asked
by JCT81.
Post not yet marked as solved
3 Views

Should/can I create a placeholder for our upcoming game in the App store?

We are in the process of creating a mobile game for the app store that should launch by the end of the year... Should or can I create a placeholder for the game in the app store so the name doesn't get taken?
Asked
Post not yet marked as solved
9 Views

Text in HTML Buttons is blue on iOS 15

I recently updated my iPhone to iOS 15 and suddenly the text inside all the buttons on my website looks blue (when it should be black), both on Safari and Chrome. I don't know what to do.
Asked
Post not yet marked as solved
10 Views

Creating Users using the VPP License Management 2 API

Hi, I'm looking for some clarification with regards to the Create User call for the new VPP API. According to the docs, the only required field for the RequestUser object is clientUserId. However sending a POST with just the clientUserId: {     "users": [         {             "clientUserId": "client-100"         }     ] } Returns {   "errorInfo": {     "clientUserIds": [       "client-100"     ]   },   "errorNumber": 9717,   "errorMessage": "This request contains an invalid email address. Change the request to send valid email addresses." } Is this the expected behavior where the email address is actually required? Thanks!
Asked
by WylanSW.
Post not yet marked as solved
65 Views

Blob Requests, unexpected behavior, iPhone 13

Setup I'm trying read ~1500 bytes from a remote device over bluetooth GATT. I have my data at the ready on the remote device. I use one characteristic read request and rely on Read Blob Requests (RBRs) to handle the rest. On the remote device I'm running a BlueZ 5.47 stack with a DBus application on top. I also enable btmon to monitor all incoming and outgoing data. My client device is an iPhone 13 with a simple scan-connect-and-read swift app. Behavior AS IS I send one read request. The client device correctly reacts with two read blob requests. After this, communication falls silent. On my client device I received the 552 bytes from the RBR sequence while there should be ~1500 bytes. Btmon output can be found in attachments. Btmon output from the host device Expected Behavior When I try reading with a Raspberry Pi 4 it all works fine and I correctly receive my ~1500 bytes. When my host device returns it's value, the BlueZ stack notices it's too large to fit in the MTU size. It automatically truncates the value to the correct size and add a flag to the response package to indicate to the client there's more data waiting. Upon receiving this response, if the client device detects the flag has been set, it caches the value, records its size and reacts with a RBR with an offset. The offset indicates how many bytes the client has received and from which position it wants to read its value. In the Bluetooth spec, the RBRs are described as follows: ​ To read the entire value of an attributes larger than (ATT_MTU- 1) octets, the read blob request is used. It is possible to read the first (ATT_MTU-1) octets of a long attribute value using the read request. Why does this only work for the first two requests? Further Comments This is particularly strange behavior since when I try writing ~1500 bytes, everything works fine. My host device receives one write request containing the full value. As I said, reading the value only works partially. After the second RBR communication falls silent. But why? Bugfix Request Stigma online is that characteristic reads and writes are capped at the MTU size. That's where the blob requests (Read Blob Request, Prepare Write Request) come in play. These requests allow us to send and receive larger chunks or data albeit in multiple behind-the-scenes requests. I think many people are waiting for this change although they might not immediately know about it. A similar issue also arises on Android systems with the Fluoride stack. How soon can this be fixed?
Asked
by ReznovvV.
Post not yet marked as solved
26 Views

iOS 15 PushKit VOIP Not Received When App is Not Running

After updating to iOS 15, our app is no longer receiving voip notifications when in a not running (killed) state. However, voip notifications come through just fine if the app is in the foreground or background. This behavior is specific to iOS 15, as testing the same exact build on iOS 14 works in all 3 states: foreground, background, & killed. Looking through the device console, I see the following logs coming through when running the app on iOS 15: Killing VoIP app because it failed to post an incoming call in time VoIP app failed to post incoming call and then eventually: VoIP app no longer eligible to launch I'm aware about needing to report the call to CallKit immediately - this is what we're doing (i.e. it works fine on iOS 14). And after reviewing the PushKit & CallKit docs, I see no changes that would affect this. Also, I tested this with the Facebook Messenger app, and the same problem was happening; no voip received when the app is killed on iOS 15, but on iOS 14 it works fine. Anyone know what's going on here?
Asked
Post marked as solved
26 Views

Apple pay with stripe

Select the Merchant ID you'd like to add this certificate to, then click 'Create Certificate' in the Apple Pay Payment Processing Certificate section. When it prompts you to upload a Certificate Signing Request, choose the .certSigningRequest file you just downloaded. Verify your certificate details are correct. First, click Activate to enable the certificate, and then click Download to save it locally. I could not load page, to load the page, I will have to enroll apple developer enrollment, which is $99 for a year, Is there any way to test it free? Please help me on this.
Asked
by kudratov.
Post not yet marked as solved
14 Views

Is changing the GroupActivity by replacing still the preferred way?

Hi there, I'm currently trying to implement SharePlay for one of my apps. Thanks to session wwdc21-10187, most of it went pretty smoothly. But at the end of the video, Adam talks about how to change activities and that's where I now struggle. He says that it is the preferred way to just replace the GroupActivity and demonstrates it for the reset button of the DrawTogether app. But this causes some behavior in iOS 15.1 that I would rather avoid. Let's say we have a FaceTime call with two participants, A and B and use the DrawTogether app. A starts the GroupActivity. If A now resets the canvas, a notification stating Started Draw Together will appear for both users. This is not super nice, but I could live with that. But if B wants to reset the canvas, B will see an alert that states: Replace Draw Together? This will end the existing SharePlay activity and start a new one , with the option to "Replace Existing" or "Cancel". This will most likely throw the user B off - B just wanted to clean the canvas and stay in the same session (they shouldn't even need to think about sessions) So my question is - Is changing the GroupActivity by replacing it still the preferred way if we want to have a clean slate? And if it is, how can I get rid of that alert that B sees? This is probably possible by actually doing the replacement through A (so through the GroupActivity "creator/owner"), but as far as I saw it in the documentation, there is currently no way to get that "owner", right? To give a bit more context - I have an app where participants go through lessons together. They do not care about the history of completed lessons, every lesson should start from a clean slate. Through interaction, any participant could trigger the progression to the next lesson and so it is pretty distracting if this progression is interrupted by the aforementioned alert. BTW: The code example is great, but as someone already noted over here, it does not compile since the API changed a bit (currently on iOS 15.1, but it was already broken before that). Thanks! Klemens
Asked
Post not yet marked as solved
13 Views

Focus update crashes UI on tvOS 15.0

I'm encountering UI update issues whenever I'm selecting an option for new quality from the menu in new tvOS 15.0 controls. FYI: selecting a quality makes a new content node and replaces previous node in player. However the behaviour is different for two cases whenever I select an option while content is PLAYING - focus update is okay and and i get the expected outcome. whenever I select an option while content is ON PAUSE - focus update crashes ui and it moves to previously opened screen while im hearing player playing somewhere in the back WHEN PLAYING The focus debug just before focus update shows: AVPlayerViewController.view.preferredFocusEnvironments: a. _AVPlayerViewControllerContainerView (skipping collectionView) <_AVPlayerViewControllerContainerView: 0x7fa0d27f5b30; frame = (0 0; 1920 1080); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x600000f7de90>; layer = <CALayer: 0x6000000df8a0>> (view controller is <AVPlayerViewController: 0x7fa0d31f4a00> b. container's preferred focusEnvironments: <_AVFocusContainerView: 0x7fa0c68a4c30; frame = (0 0; 1920 1080); gestureRecognizers = <NSArray: 0x600000f68e40>; layer = <CALayer: 0x6000000d79a0>> (view controller is <AVPlayerViewController: 0x7fa0d31f4a00>) WHEN IN PAUSE The focus debug just before focus update in this case shows: a. CollectionView - the customMenuItems collectionView <UICollectionView: 0x7fa0d3143800; frame = (0 844; 1920 64); autoresize = W+H; gestureRecognizers = <NSArray: 0x600000f43300>; layer = <CALayer: 0x6000000dccc0>; contentOffset: {0, 0}; contentSize: {1760, 64}; adjustedContentInset: {0, 0, 0, 0}; layout: <AVxCollectionViewLayout: 0x7fa0d2760580>; dataSource: <AVxCollectionViewController: 0x7fa0c6873e00>> b. CollectionView.preferredFocusEnvironments is cell - is one of customMenuItems <AVxOverlayToolCell: 0x7fa0dd721140; baseClass = UICollectionViewCell; frame = (1606 0; 64 64); layer = <CALayer: 0x60000012b980>> c. Cell's preferredFocusEnvironments is empty. I don't know if its native bug or there's a way to solve this myself.
Asked
by azhukov.
Post not yet marked as solved
15 Views

Numbers won't let me export to pdf

My iMac was just returned to me after a new hard drive was put in, but instead of Big Sur, it now uses Monterey Beta 12 When I use Numbers - File - Export to PDF, etc, numbers just quit. Can this be fixed, please? Is there any other way to save it to a pdf? Thank you
Post not yet marked as solved
13 Views

Software or Solutions for Backup in Cloud

Hello good afternoon, I need help, I want to know what solutions mac has to make backups in the cloud, I understand that locally you can make backups with the time machine, but I would like to do the same with the entire profile but in the cloud. This solution must be for companies. Thank you very much for your support. AB
Asked
by hmk_it.
Post not yet marked as solved
16 Views

loadFriends Example

Hello every one, Is there an full example of how to implement loadFriends in objective-c? https://developer.apple.com/documentation/gamekit/gklocalplayer/3726201-loadfriends?language=objc Thanks!
Asked
by aarenas.
Post not yet marked as solved
25 Views

UNUserNotificationCenterDelegate not firing for remote notifications

Notification center delegate is firing for local notifications but not remote, when using UNTextInputNotificationAction on a WKUserNotificationInterfaceController.  func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) I get a response when the user enters text and submits, but only for a local notification. For the remote notification - the delegate method never fires. The notification delegate is a singleton that's assigned in the watch's ExtensionDelegate's applicationDidFinishLaunching method.
Asked

Trending Tags

See all Trending Tags