Hello,
I’m experiencing issues completing my Apple Developer Program membership purchase. I’ve attempted the process three times, received an order acknowledgment email each time, and was informed that the request would be processed within 2 business days. Despite this, my payment does not go through, and I’m repeatedly prompted to make the purchase again.
Here are the details:
Enrollment ID: 2D8KS5FGH4
Cost: US$99
Attempts: 3 separate purchase attempts
Acknowledgment Email Received: Yes (Order Acknowledgement email from Apple Developer, confirming my order request)
I’ve verified my payment method, billing details, and even tried different browsers and devices. Each time, the process completes up to the acknowledgment, but the payment is not finalized, and my membership remains inactive.
Could you please help resolve this issue? I need assistance in activating my membership so I can begin development.
Thank you,
Dive into the vast array of tools, services, and support available to developers.
Post
Replies
Boosts
Views
Activity
Hey guys, so I've read a lot of previous issues opened before opening this one, and I am doing it because none of the info found solved my problem.
So, I am trying to build my app which it has a custom Info.plist file. But i keep getting the issue of multiple command when trying to build. Here is how it;s configured:
Info.plist has the target membership correct
Build Setting is set to 'NO' under "Generate Info.plist File"
The path is correct, in the same folder as the ContentView
And here is what I've already tried to fix the issue:
Check in Build Phases if the wasn't a duplication: There isn't
Removing the Info.plist from the "Copy Bundle Resources": When I do this, than I get another issue which is "Build input file cannot be found. Did you forget to declare this file as an output of a script phase or custom build rule which produces it?"
Switching the Build to Legacy Build System: Nothing changed
Deleting the manually created Info.plist file and changing the Build Settings to 'YES' under "Generate Info.plist File": I get the same issue "Build input file cannot be found. Did you forget to declare this file as an output of a script phase or custom build rule which produces it?"
Deleted the Derived Data multiple times
Deleted the Info.plist file and re-added it through File > New File
Anyway, this is my last resource to find some help here in the forum. Any insight is valid
P.S: XCode version 16.1
Since updating to macOS Sequoia, I see this dialog every time I launch my SwiftUI macOS app from Xcode:
Users who installed the app from the App Store don’t see it. And this didn’t happened in previous macOS versions.
Could launching it from Xcode be triggering some extra access requirement? How can I stop this dialog from appearing every time I launch my app? It’s very disruptive to the debugging process.
The strange_behaviour.mp4 video attached shows how when running a list of statements to open (startCamera) and close (closeCamera) the camera against a MacBook Pro 2019 using the FaceTime camera, these return their value almost immediately, when in reality the camera is still opening and closing.
We believe that there might be a queue for statements to run against the camera and it finishes the awaits when all the statements are inserted in the queue instead of when they are actually solved.
We also attached the expected_behaviour.mp4 video where we replicate the same flow but using an external camera instead of the FaceTime camera. In this video, the promises take a bit longer to return but they do once the camera has already been opened and closed the requested amount of times.
The project used in the videos is attached as project.tar.xz.
We would like to know if the behaviour in strange_behaviour.mp4 is replicable on your side and if there is a way to access the cameras to make it behave like when using an external camera (expected_behaviour.mp4).
Attachments: https://drive.google.com/drive/folders/1cOeFb5GMbh4mPOeZiZyyevk3N778Kn1M?usp=sharing
Hello fellow developers! I am interested in obtaining the following information regarding one of our Home Screen widgets:
Pull the following data about the "my_app_widget" homepage widget in total and by month for the last 12 months (Sep '23 - Sep '24):
Widget install events
Unique widget installs
Device type (iPad, iOS).
Thus far, I am using AWS Lambda and have the proper credentials within a Secrets Manager and I keep getting a 409 error from this code:
const AWS = require('aws-sdk');
const axios = require('axios');
const jose = require('jose');
const crypto = require('crypto');
const s3 = new AWS.S3();
const secretsManager = new AWS.SecretsManager();
const cloudwatchlogs = new AWS.CloudWatchLogs();
const logGroupName = '/aws/lambda/my_lambda_function';
const logStreamName = '2024/11/05/[$LATEST]XXXXXXXXXXXXXX';
const getSecret = async (secretName) => {
const secret = await secretsManager.getSecretValue({ SecretId: secretName }).promise();
return JSON.parse(secret.SecretString);
};
const logError = async (message) => {
const params = {
logGroupName,
logStreamName,
logEvents: [
{
message: JSON.stringify(message),
timestamp: Date.now()
}
]
};
try {
await cloudwatchlogs.putLogEvents(params).promise();
} catch (error) {
console.error('Failed to log to CloudWatch:', error);
}
};
const getJwtToken = async (keyId, issuerId, privateKeyPem) => {
try {
const privateKey = crypto.createPrivateKey({
key: privateKeyPem,
format: 'pem',
type: 'pkcs8'
});
const payload = {
iss: issuerId,
exp: Math.floor(Date.now() / 1000) + 20 * 60,
aud: 'appstoreconnect-v1'
};
const token = await new jose.SignJWT(payload)
.setProtectedHeader({ alg: 'ES256', kid: keyId })
.sign(privateKey);
return token;
} catch (error) {
await logError({ error: 'Error generating JWT', details: error });
throw new Error('JWT generation failed');
}
};
const fetchAndUploadReport = async (url, token, s3Key, isAnalytics = false, body = null) => {
try {
const headers = {
'Authorization': `Bearer ${token}`,
'Accept': isAnalytics ? 'application/json' : 'application/a-gzip',
'Content-Type': 'application/json'
};
const response = await axios({
method: isAnalytics ? 'post' : 'get',
url: url,
headers: headers,
data: body,
responseType: isAnalytics ? 'json' : 'stream'
});
if (response.status === 200) {
let bodyContent = isAnalytics ? JSON.stringify(response.data) : response.data;
await s3.upload({
Bucket: 'my_bucket_name',
Key: s3Key,
Body: bodyContent
}).promise();
return { statusCode: 200, body: `${s3Key} fetched and uploaded successfully` };
} else {
await logError({ error: 'API response error', status: response.status, statusText: response.statusText, url });
return { statusCode: response.status, body: response.statusText };
}
} catch (error) {
await logError({ error: 'Error fetching report', url, details: error });
return { statusCode: 500, body: JSON.stringify(`Error fetching ${s3Key}`) };
}
};
exports.handler = async (event) => {
const secretName = 'AppStoreConnectPrivateKey';
try {
const secretData = await getSecret(secretName);
const { keyId, issuerId, private_key: privateKeyPem } = secretData;
const token = await getJwtToken(keyId, issuerId, privateKeyPem);
const startDate = '2023-09-01';
const endDate = '2024-09-30';
const apiEndpoints = [
{
url: `https://api.appstoreconnect.apple.com/v1/analyticsReportRequests`, // Changed to request report
s3Key: 'my_folder/my_subfolder/unique_widget_installs.json',
isAnalytics: true,
body: {
"data": {
"type": "analyticsReportRequests",
"attributes": {
"accessType": "ONGOING",
"name": "Home Screen Widget Installs",
"category": "APP_USAGE"
},
"relationships": {
"app": {
"data": {
"type": "apps",
"id": "YYYYYYYYYYYY"
}
}
}
}
}
}
];
Returns the following error :
{
"error": "Error fetching report",
"url": "https://api.appstoreconnect.apple.com/v1/analyticsReportRequests",
"details": {
"message": "Request failed with status code 409",
"name": "AxiosError",
"stack": "AxiosError: Request failed with status code 409\n at settle (/var/task/node_modules/axios/dist/node/axios.cjs:2019:12)\n at IncomingMessage.handleStreamEnd (/var/task/node_modules/axios/dist/node/axios.cjs:3135:11)\n at IncomingMessage.emit (node:events:531:35)\n at IncomingMessage.emit (node:domain:488:12)\n at endReadableNT (node:internal/streams/readable:1696:12)\n at process.processTicksAndRejections (node:internal/process/task_queues:82:21)\n at Axios.request (/var/task/node_modules/axios/dist/node/axios.cjs:4287:41)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async fetchAndUploadReport (/var/task/index.js:68:26)\n at async Promise.all (index 0)\n at async exports.handler (/var/task/index.js:174:25)",
"config": {
"transitional": {
"silentJSONParsing": true,
"forcedJSONParsing": true,
"clarifyTimeoutError": false
},
"adapter": [
"xhr",
"http",
"fetch"
],
"transformRequest": [
null
],
"transformResponse": [
null
],
"timeout": 0,
"xsrfCookieName": "XSRF-TOKEN",
"xsrfHeaderName": "X-XSRF-TOKEN",
"maxContentLength": -1,
"maxBodyLength": -1,
"env": {},
So I am not sure if the JSON body I am passing this URL endpoint are correct or if this is the correct API to be using to attempt to obtain this information. Please let me know when you have the chance and I look forward to hearing from you.
Hi
Hypothetically, my company has 300 mobile engineers and we're building an iPhone app.
Optimally I'd like each mobile engineer to have a physical device which they can do their day to day development, testing etc on.
What options do I have to enable this given that there is a 100 device limit for iPhones on the Apple Developer Program used by my company. (https://developer.apple.com/help/account/register-devices/devices-overview/)
Thanks
Hello,
I’m encountering a problem while trying to join the Apple Developer Program from Argentina. Each time I submit a payment, I receive a confirmation email stating:
Dear Agustin Oberg,
Thank you for your order. Here's a summary of your order request, which will be processed within 2 business days. We'll notify you when your items are ready.
Order Details:
Apple Developer Program
US$ 99
Best regards,
Apple Developer Relations
However, despite this message, no further actions are taken, and I am still unable to access the program. I’ve tried multiple credit cards and submitted payments on several occasions, but the issue persists.
Is there anyone who has faced a similar problem or can offer advice on how to resolve this? I would appreciate any assistance or guidance to complete my registration successfully.
Thank you!
We are struggling to launch an app that is specifically for Gynaecologists and Women's health practitioners. Part of the app is available to non members of our association, but there are specific parts of the app that require membership.
Membership cannot be purchased via the app as there are some security checks that need to be done. Membership cannot be purchased with personal credit cards, and we do not "sell" the membership on the app. Users can apply for membership, and if they are part of this medical community (they have to supply their medical registration numbers and practice/hospital numbers, they can join. Only then will they be issued an invoice by the accounts department. Accounts are rarely paid for by individuals- they are usually paid by the practice to which the member belongs, or the hospital where they work. We have explained all of this but the reviewer does not seem to read the information
Hello community!
Recently I faced unusual problem when I'm trying to run UITest from commandline. Everything works from XCode (I can execute UITest on both simulator and device), but in console I'm always getting:
xcodebuild: error: Unable to find a destination matching the provided destination specifier:
{ platform:iOS Simulator, OS:17.5, name:iPhone 15 Pro }
I already checked lot of possible solutions but none worked. What seems to be important here, I don't have any "Available destinations" proposal. Also installed XCode version is 16, but I need to run this project on 15.4 which is in another folder (I used xcode-select to choose 15.4, also tried to execute xcodebuild using full path) .
Executing:
xcrun simctl list
shows me f.e.:
-- iOS 17.5 --
iPhone 13 Pro (D20DE861-B938-4FD3-9797-F0AE0BBA5569) (Shutdown)
iPhone 15 (FE8687E4-B7CD-4861-83F8-B9E833F14982) (Shutdown)
iPhone 15 Plus (4B1F46CC-7C95-496B-9776-EC6BC539199E) (Shutdown)
iPhone 15 Pro (C622866E-74C8-45F5-A7B0-DFA76BC7C452) (Booted)
iPhone 15 Pro Max (CEF3892C-CFD4-4558-A317-A6EBDB079AAF) (Shutdown)
but running:
xcodebuild -workspace ./***.xcworkspace -scheme xxxUITests -destination 'platform=iOS Simulator,name=iPhone 15 Pro,OS=17.5' build
brings same error. What is also interesting, I'm getting same error when trying to run same command in GitLab pipeline. Is there anyone who had same problem?
Hi Apple Engineers,
I am encountering an issue where the memory usage reported by the Xcode memory report and the Xcode Instruments memory profiler are not aligned. Specifically:
Xcode Memory Report:
After implementing autoreleasepool, URLSession reading a zip file, and moving the task inside DispatchQueue.global().async, the memory usage goes down from 900MB to 450MB, indicating a potential memory leak.
Xcode Instruments Memory Profiler:
The memory usage goes down from 900MB to 100MB, suggesting that the memory has been properly released and there is no significant memory leak.
Could you please help me understand the discrepancy between these two tools and provide guidance on the appropriate way to interpret the memory usage in my application? Which result I should rely on it?
I would greatly appreciate your insights and expertise on this matter. Thank you in advance for your assistance.
We are currently building an app in Swift, reusing an internal C++ backend used in other platforms ( Linux/Windows/Mac ).
Current state of the project:
App W - ( Swift App )
Package X - Swift Package
Y.xcframework - Binary Target (ios-arm64 and ios-arm64-simulator)
Z.framework
Z - (C++ Backend as a library) Dynamic Library
Headers - Library header files
Frameworks (Folder) - Required .dylib’s for Z (
libA.dylib (Dependency of Z) [ 58 of them ]
libB.dylib (Runtime dependency of python) [ 123 of them ]
data - Supporting binary files for Z
conf - Supporting configuration files, both text and binary. for Z
python - Supporting .py scripts
C.py
D.py
Z.framework ( C++ ) contains 182 Dynamic Libraries.
Goal:
Validate the app for distribution with the Apple Store validation tool.
Learning when trying to solve the problem:
A framework can contain only one dynamic library (e.g. .dylib )
A framework cannot have nested frameworks within a Frameworks folder
Certain file types within a framework are not treated as resource files (e.g. .py files)
Possible solutions
Allow to have nested Frameworks in Z.framework.
It’s currently not allowed
Link 182 dynamic libraries into the project via SPM
Problem: Some of the libraries need to dynamically loaded at runtime (related to the python runtime)
Making the libraries static adds significantly technical challenges to the Z.framework.
Other questions:
What’s the best way to achieve this
I've discovered a bug in Xcode 16.0/16.1 where using std::variant in containers across compilation units triggers UBSan errors. This is a regression as it works correctly in Xcode 15.4.
Here's a minimal reproduction case:
[base.h]
#pragma once
#include <string>
#include <variant>
#include <forward_list>
class Item {
public:
std::variant<std::monostate, std::string> value;
};
typedef std::forward_list<Item> ItemList;
class Test {
public:
void addItem(const Item& item);
ItemList items;
};
[base.cpp]
#include "base.h"
void Test::addItem(const Item& item) {
items.push_front(item);
}
[main.cpp]
#include "base.h"
int main() {
Test t;
Item item;
t.addItem(item);
return 0;
}
To reproduce:
Compile with UBSan enabled (-fsanitize=undefined)
Occurs on both arm64 and x86_64
Occurs in both Xcode 16.0 and 16.1
Works correctly in Xcode 15.4
I've filed a Feedback Assistant report: FB15710420
Workaround:
The issue can be avoided by implementing the addItem method in the header file instead of a separate compilation unit.
Has anyone else encountered this issue? Are there other workarounds besides moving the implementation to the header?
Hello everyone,
I’m currently developing my first VisionOS app in Xcode, starting with the default "Hello World" code provided when creating a new VisionOS Mixed Reality App. However, I’m facing some issues with performance and previewing that I can’t seem to resolve.
When I load the preview, it takes an extremely long time, and sometimes it doesn’t load at all. Even when I try to run the app in the VisionOS Simulator, the simulator shows an endless black screen and never displays the intended view. I’ve made no changes to the code, so it’s purely the base setup.
Here are my system details:
Xcode version: 16.1, VisionOs 2.0;
macOS version: 15.0.1;
Hardware: MacBook Air 2020 M1
I’ve tried restarting Xcode and my machine, but the issue persists. Has anyone else faced similar problems or have any suggestions for fixing this? Or is my hardware simply too weak? Any help would be greatly appreciated!
Thank you in advance!
I'm use iPad OS 17.5.1, when I try to use socket to connect to an ipv6 address created by PacketTunnelProvider in my iOS device, an error occurs. Here is the code to create socket server and client:
#include <stdio.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
int dx_create_ipv6_server(const char *ipv6_address, int port) {
int server_fd;
struct sockaddr_in6 server_addr;
server_fd = socket(AF_INET6, SOCK_STREAM, 0);
if (server_fd == -1) {
perror("socket() failed");
return -1;
}
memset(&server_addr, 0, sizeof(server_addr));
server_addr.sin6_family = AF_INET6;
server_addr.sin6_port = htons(port);
if (inet_pton(AF_INET6, ipv6_address, &server_addr.sin6_addr) <= 0) {
perror("inet_pton() failed");
close(server_fd);
return -1;
}
if (bind(server_fd, (struct sockaddr *)&server_addr, sizeof(server_addr)) == -1) {
perror("bind() failed");
close(server_fd);
return -1;
}
if (listen(server_fd, 5) == -1) {
perror("listen() failed");
close(server_fd);
return -1;
}
printf("Server is listening on [%s]:%d\n", ipv6_address, port);
return server_fd;
}
int dx_accept_client_connection(int server_fd) {
int client_fd;
struct sockaddr_in6 client_addr;
socklen_t client_addr_len = sizeof(client_addr);
client_fd = accept(server_fd, (struct sockaddr *)&client_addr, &client_addr_len);
if (client_fd == -1) {
perror("accept() failed");
return -1;
}
char client_ip[INET6_ADDRSTRLEN];
inet_ntop(AF_INET6, &client_addr.sin6_addr, client_ip, sizeof(client_ip));
printf("Client connected: [%s]\n", client_ip);
return client_fd;
}
int dx_connect_to_ipv6_server(const char *ipv6_address, int port) {
int client_fd;
struct sockaddr_in6 server_addr;
client_fd = socket(AF_INET6, SOCK_STREAM, 0);
if (client_fd == -1) {
perror("socket() failed");
return -1;
}
memset(&server_addr, 0, sizeof(server_addr));
server_addr.sin6_family = AF_INET6;
server_addr.sin6_port = htons(port);
if (inet_pton(AF_INET6, ipv6_address, &server_addr.sin6_addr) <= 0) {
perror("inet_pton() failed");
close(client_fd);
return -1;
}
if (connect(client_fd, (struct sockaddr *)&server_addr, sizeof(server_addr)) == -1) {
perror("connect() failed");
close(client_fd);
return -1;
}
printf("Connected to server [%s]:%d\n", ipv6_address, port);
close(client_fd);
return 0;
}
@implementation SocketTest
+ (void)startSever:(NSString *)addr port:(int)port {
[[NSOperationQueue new] addOperationWithBlock:^{
int server_fd = dx_create_ipv6_server(addr.UTF8String, port);
if (server_fd == -1) {
return;
}
int client_fd = dx_accept_client_connection(server_fd);
if (client_fd == -1) {
close(server_fd);
return;
}
close(client_fd);
close(server_fd);
}];
}
+ (void)clientConnect:(NSString *)addr port:(int)port{
[[NSOperationQueue new] addOperationWithBlock:^{
dx_connect_to_ipv6_server(addr.UTF8String, port);
}];
}
@end
PacketTunnelProvider code:
override func startTunnel(options: [String : NSObject]?, completionHandler: @escaping (Error?) -> Void) {
let settings = NEPacketTunnelNetworkSettings(tunnelRemoteAddress: "fd84:306d:fc4e::1")
let ipv6 = NEIPv6Settings(addresses: ["fd84:306d:fc4e::1"], networkPrefixLengths: 64)
settings.ipv6Settings = ipv6
setTunnelNetworkSettings(settings) { error in
if error == nil {
self.readPackets()
}
completionHandler(error)
}
}
private func readPackets() {
// do nothing
packetFlow.readPackets { [self] packets, protocols in
self.packetFlow.writePackets(packets, withProtocols: protocols)
self.readPackets()
}
}
At main target, in viewcontroller's viewDidAppear, after starting the VPN, executed following code:
[SocketTest startSever:@"fd84:306d:fc4e::1" port:12345];
sleep(3);
[SocketTest clientConnect:@"fd84:306d:fc4e::1" port:12345];
The startSever is executed correctly, but when executing:
connect(client_fd, (struct sockaddr *)&server_addr, sizeof(server_addr))
in clientConnect, the code is blocked until it times out and returns -1.
**Even if I use GCDAsyncSocket or BlueSocket, I get the same error. The strange thing is that if I use the ipv4 address in PacketTunnelProvider, and change the above code to the ipv4 version and connect to ipv4 address, or use GCDAsyncSocket to perform the corresponding operation, it can be executed correctly.
**
I tried to search Google for problems with ios-related ipv6 addresses, but I still couldn't find a solution. Is this a bug in the ios system or is there something wrong with my code? I hope to get your help!
Stackoverflow url: iOS Socket cannot connect ipv6 address when use PacketTunnelProvider
When I try to use socket to connect to an ipv6 address created by PacketTunnelProvider in my iOS device, an error occurs. Here is the code to create socket server and client:
#include <stdio.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
int dx_create_ipv6_server(const char *ipv6_address, int port) {
int server_fd;
struct sockaddr_in6 server_addr;
server_fd = socket(AF_INET6, SOCK_STREAM, 0);
if (server_fd == -1) {
perror("socket() failed");
return -1;
}
memset(&server_addr, 0, sizeof(server_addr));
server_addr.sin6_family = AF_INET6;
server_addr.sin6_port = htons(port);
if (inet_pton(AF_INET6, ipv6_address, &server_addr.sin6_addr) <= 0) {
perror("inet_pton() failed");
close(server_fd);
return -1;
}
if (bind(server_fd, (struct sockaddr *)&server_addr, sizeof(server_addr)) == -1) {
perror("bind() failed");
close(server_fd);
return -1;
}
if (listen(server_fd, 5) == -1) {
perror("listen() failed");
close(server_fd);
return -1;
}
printf("Server is listening on [%s]:%d\n", ipv6_address, port);
return server_fd;
}
int dx_accept_client_connection(int server_fd) {
int client_fd;
struct sockaddr_in6 client_addr;
socklen_t client_addr_len = sizeof(client_addr);
client_fd = accept(server_fd, (struct sockaddr *)&client_addr, &client_addr_len);
if (client_fd == -1) {
perror("accept() failed");
return -1;
}
char client_ip[INET6_ADDRSTRLEN];
inet_ntop(AF_INET6, &client_addr.sin6_addr, client_ip, sizeof(client_ip));
printf("Client connected: [%s]\n", client_ip);
return client_fd;
}
int dx_connect_to_ipv6_server(const char *ipv6_address, int port) {
int client_fd;
struct sockaddr_in6 server_addr;
client_fd = socket(AF_INET6, SOCK_STREAM, 0);
if (client_fd == -1) {
perror("socket() failed");
return -1;
}
memset(&server_addr, 0, sizeof(server_addr));
server_addr.sin6_family = AF_INET6;
server_addr.sin6_port = htons(port);
if (inet_pton(AF_INET6, ipv6_address, &server_addr.sin6_addr) <= 0) {
perror("inet_pton() failed");
close(client_fd);
return -1;
}
if (connect(client_fd, (struct sockaddr *)&server_addr, sizeof(server_addr)) == -1) {
perror("connect() failed");
close(client_fd);
return -1;
}
printf("Connected to server [%s]:%d\n", ipv6_address, port);
close(client_fd);
return 0;
}
@implementation SocketTest
+ (void)startSever:(NSString *)addr port:(int)port {
[[NSOperationQueue new] addOperationWithBlock:^{
int server_fd = dx_create_ipv6_server(addr.UTF8String, port);
if (server_fd == -1) {
return;
}
int client_fd = dx_accept_client_connection(server_fd);
if (client_fd == -1) {
close(server_fd);
return;
}
close(client_fd);
close(server_fd);
}];
}
+ (void)clientConnect:(NSString *)addr port:(int)port{
[[NSOperationQueue new] addOperationWithBlock:^{
dx_connect_to_ipv6_server(addr.UTF8String, port);
}];
}
@end
PacketTunnelProvider code:
override func startTunnel(options: [String : NSObject]?, completionHandler: @escaping (Error?) -> Void) {
let settings = NEPacketTunnelNetworkSettings(tunnelRemoteAddress: "fd84:306d:fc4e::1")
let ipv6 = NEIPv6Settings(addresses: ["fd84:306d:fc4e::1"], networkPrefixLengths: 64)
settings.ipv6Settings = ipv6
setTunnelNetworkSettings(settings) { error in
if error == nil {
self.readPackets()
}
completionHandler(error)
}
}
private func readPackets() {
// do nothing
packetFlow.readPackets { [self] packets, protocols in
self.packetFlow.writePackets(packets, withProtocols: protocols)
self.readPackets()
}
}
At main target, in viewcontroller's viewDidAppear, after starting the VPN, executed following code:
[SocketTest startSever:@"fd84:306d:fc4e::1" port:12345];
sleep(3);
[SocketTest clientConnect:@"fd84:306d:fc4e::1" port:12345];
The startSever is executed correctly, but when executing:
connect(client_fd, (struct sockaddr *)&server_addr, sizeof(server_addr))
in clientConnect, the code is blocked until it times out and returns -1.
Even if I use GCDAsyncSocket or BlueSocket, I get the same error.
The strange thing is that if I use the ipv4 address in PacketTunnelProvider, and change the above code to the ipv4 version and connect to ipv4 address, or use GCDAsyncSocket to perform the corresponding operation, it can be executed correctly.
I tried to search Google for problems with ios-related ipv6 addresses, but I still couldn't find a solution. Is this a bug in the ios system or is there something wrong with my code? I hope to get your help!
Hello,
I'm using an HMSoft Bluetooth module that connects reliably to Android devices, maintaining a stable connection. However, when I try to connect it to my iPhone 12, the connection randomly disconnects after a few minutes (usually around 3 minutes). This issue occurs even when using apps like LightBlue and other BLE-based medical equipment apps, so it doesn't seem related to my app code.
Any suggestions on what I can do to prevent these unexpected disconnects? Should I change any specific settings on my iPhone or the module itself?
For new iOS apps you can select Swift or Objective-C but you cannot choose Objective-C for new watchOS apps.
A new watchOS app is always Swift.
Any help would with selecting Objective-C for new watchOS apps would be greatly appreciated.
Sometime since July 2024 the list of devices in our Enterprise Account is showing the same device and UDID 6 times.
Looking at the DATE REGISTERED field it is apparent that each instance of the device represents the 'old' device that should have been 'deleted' when the annual device reset was actioned. The date registered field shows dates with 2019, 2020, 2021, and so till 2024 (most recent).
I have 'disabled' two of the entries to see what happens, and those instances were disabled as expected without impacting the other instances. However, when attempting a re-enable of them, an error throws saying that they cant be enabled because that UDID already exists - obviously the other instances.
For now, I have left 4 active duplicates in place, and the 2 disabled ones as they are, and plan to deal with this again - if it re-occurs in 2025.
It does not seem to have impacted provisioing profiles - so will leave well enough alone. I am sure if I disable all of them, I will not be able to re-enabled any of them.
Is this a know issue? Is this the best strategy? - ie, wait till device reset next year and hope issue is resolved.
This post had similar issue, in 2023, but no response
Forum Post 733264
I noticed that IBDesignable was deprecated in the Xcode 16 release notes, and IBInspectable was deprecated in the Xcode 16.1 release notes.
So, I performed some tests on IBDesignable and IBInspectable in Xcode.
I wrote the following code:
@IBDesignable
extension UIView {
@IBInspectable var cornerRadius: CGFloat {
get {
layer.cornerRadius
}
set {
layer.cornerRadius = newValue
}
}
@IBInspectable var borderWidth: CGFloat {
get {
layer.borderWidth
}
set {
layer.borderWidth = newValue
}
}
@IBInspectable var borderColor: UIColor {
get {
UIColor(cgColor: layer.borderColor ?? .init(red: 1, green: 1, blue: 1, alpha: 0))
}
set {
layer.borderColor = newValue.cgColor
}
}
}
I cannot access the IBInspectable property in Xcode 16.
However, I can access the IBInspectable property in Xcode 16.1 and Xcode 16.2 Beta, where the Interface Builder shows it in the Attributes Inspector.
Is it possible that this will be updated later, as it differs from the release notes?
Thank you.
I ran out of disk space and I think I've come to the point that I need to delete files used by Xcode. Can I delete Simulator altogether? It doesn't look like I can run the latest Xcode without iOS 18 installed with it on my Mac Pro. Is there any way I can exclude iOS 18 support using the current Xcode? Would it be a good option to uninstall the latest Xcode and use a previous version of Xcode instead, since I'm not developing for iOS 18? Since I've been working on only macOS apps, is it possible for me to delete anything that has to do with developing for iOS?