Posts

Sort by:
Post not yet marked as solved
0 Replies
11 Views
Hello, I'm creating an app in Visual Studio 2022 (Windows) and I'm attempting to go through the steps of porting it to my iPhone. However, for the past two days I've been encountering an error when attempting to log in to my individual developer account using my API key information. The message I'm getting states: "An unexpected error occurred, An unexpected error occurred on the server side. If this issue continues, contact us at https://developer.apple.com/contact/." I've already tried clearing the cache and I've tried connecting on two different networks but nothing has worked. This is incredibly frustrating and I'm failing to find a solution. Is this something I can even fix on my own, or do I just have to wait for Apple to resolve an issue?
Posted
by
Post not yet marked as solved
0 Replies
7 Views
Hello fellow developers, I've encountered a code signing issue during the archiving process in Xcode and I'm looking for some guidance. Here's the error message I received: codesign command failed (/var/folders/44/968_7v_972vb03blw9l1_sqr0000gn/T/XcodeDistPipeline.~~~k4kX6H/Root/Payload/SweetifyCrm.app/Frameworks/hermes.framework: replacing existing signature /var/folders/44/968_7v_972vb03blw9l1_sqr0000gn/T/XcodeDistPipeline.~~~k4kX6H/Root/Payload/SweetifyCrm.app/Frameworks/hermes.framework: invalid or corrupted code requirement(s) Requirement syntax error(s): line 1:140: unexpected token: SWEETIFY ) Here's what I've tried so far: Cleaned the build folder and rebuilt the archive. Ensured that the correct signing certificate and provisioning profile are in use. Checked .entitlements file for any syntax errors or misplaced tokens. Searched for the token "SWEETIFY" in my project, which is part of the development team name, but didn't find any irregularities. This error seems to be triggered when codesign is executed during the archiving process, specifically with the Hermes framework which is part of my React Native project. I'm using Xcode version 15.0.1, and my project includes Hermes as a JavaScript engine. The issue arises when I try to archive the app for distribution. The word "SWEETIFY" appears to be causing trouble, but it's merely part of the development team's name, (LLC "SWEETIFY"). Has anyone faced a similar issue or could offer some insight into what might be going wrong here? Any help or suggestions would be greatly appreciated! Thank you in advance for your time and help.
Posted
by
Post not yet marked as solved
0 Replies
14 Views
So I have a simple view for my SwiftUI application below: import SwiftUI struct ContentView: View { var body: some View { List { ForEach(0..<4) { index in RowView(index: index) .accessibilityIdentifier("row") } } } } struct RowView: View { let index: Int var body: some View { HStack { Image(systemName: "globe") .imageScale(.large) .foregroundStyle(.tint) Text("Hello, world!") Spacer() ButtonView(index: index) } .padding() } } struct ButtonView: View { let index: Int var body: some View { VStack { if index != 3 { Button(action: {}, label: { Text("Cancel") }) .accessibilityIdentifier("cancel_button") } Button(action: {}, label: { Text("Submit") }) .accessibilityIdentifier("submit_button") } } } My goal is to reference each cancel and submit button per row for a UI Test, which I have tried doing so here: let rowElements = app.tables.cells.matching(identifier: "row") for i in 0..<rowElements.count { let cancelButton = rowElements.element(boundBy: i).buttons["cancel_button"] let submitButton = rowElements.element(boundBy: i).buttons["submit_button"] XCTAssertTrue(cancelButton.exists, "Cancel button does not exist in row \(i)") XCTAssertTrue(submitButton.exists, "Submit button does not exist in row \(i)") } Even with the identifiers set like this my tests fail and say it cannot find the buttons labeled as they are with their specific identifiers or the rows. What is the correct way to reference elements if they are in a list or table for UI Testing? I'm specifically trying to use accessibility Identifiers to make my life easy.
Posted
by
Post not yet marked as solved
0 Replies
19 Views
Hello Apple Developer Community, I am writing to request urgent support regarding the recent removal of our app, which has been available on the App Store for over a year serving a large user base. We were notified that our app violated Section 3.2(f) of the Apple Developer Program License Agreement, but we have not altered our operations recently and believe this to be a misunderstanding. We have attempted to reach out via email but have not received further details or the opportunity to rectify or discuss the alleged issue. Historically, developers are given a chance to resolve concerns before an app is removed, a courtesy we were unfortunately not extended. We seek clarity on the specific violations and an opportunity to address any issues to comply fully with Apple's guidelines. The removal has significantly impacted our users and our team, and we are committed to resolving this swiftly to restore service to our users. Thank you for your attention to this urgent matter. We look forward to your guidance and support. Below is the notification we received from Apple regarding the termination of our agreements: Apple has terminated the Apple Developer Program License Agreement and the Apple Developer Agreement with our company effective immediately. According to the notice, the reason provided for this action is an alleged violation of Section 3.2(f) of the ADP Agreement, which includes accusations of fraudulent conduct associated with our account. This has led to the immediate cessation of our status as an Apple developer and termination under both the ADP and Developer Agreements.
Posted
by
Post not yet marked as solved
0 Replies
25 Views
I know the short answer is, no, you cannot update an older version of your app… but it got me thinking…. could you make a new version of an app that supports older iOS versions and then quickly release another version of the app that supports iOS 16+ only? Wouldn‘t this effectively allow you to make a new version for for iOS 12 devices and still allow you to have iOS 16+ features that are needed for the current version? one of my apps needs features found in swiftUI (iOS 16+) but I’d like to update an old version that was not on swiftUI.
Posted
by
Post not yet marked as solved
0 Replies
30 Views
Like the post at https://forums.developer.apple.com/forums/thread/118035, I'm hitting an issue where I'm receiving: boringssl_session_set_peer_verification_state_from_session(448) [C1.1.1.1:2][0x12b667210] Unable to extract cached certificates from the SSL_SESSION object In my app logs. I tried to pin the SSL version to TLS 1.2 per Quinn's advice in that post, and then started digging further enabling CFNETWORK_DIAGNOSTICS=3 to see what was exposed on the Console.log (since it didn't show up in the Xcode console) The related log lines: 0 debug boringssl 15:43:04.978874-0700 MeetingNotes boringssl_context_log_message(2206) [C5:2][0x11080a760] Reading SSL3_RT_HANDSHAKE 16 bytes 0 debug boringssl 15:43:04.979007-0700 MeetingNotes boringssl_context_log_message(2206) [C5:2][0x11080a760] Writing SSL3_RT_CHANGE_CIPHER_SPEC 1 bytes 0 debug boringssl 15:43:04.979141-0700 MeetingNotes boringssl_context_log_message(2206) [C5:2][0x11080a760] Writing SSL3_RT_HANDSHAKE 16 bytes 0 debug boringssl 15:43:04.979260-0700 MeetingNotes nw_protocol_boringssl_write_bytes(87) [C5:2][0x11080a760] write request: 51 0 debug boringssl 15:43:04.979387-0700 MeetingNotes nw_protocol_boringssl_write_bytes(158) [C5:2][0x11080a760] total bytes written: 51 921460 debug boringssl 15:43:09.937961-0700 MeetingNotes boringssl_context_log_message(2206) [C5:2][0x11080a760] Writing SSL3_RT_ALERT 2 bytes 0 error boringssl 15:43:04.979630-0700 MeetingNotes boringssl_session_set_peer_verification_state_from_session(448) [C5:2][0x11080a760] Unable to extract cached certificates from the SSL_SESSION object Have a number of references to SSL3_RT in the messages, and I was curious if that indicated that I was using TLS1.3, which apparently doesn't support private shared keys. The constraints that I used riffs on the sample code from the tic-tac-toe example project: private static func tlsOptions(passcode: String) -> NWProtocolTLS.Options { let tlsOptions = NWProtocolTLS.Options() let authenticationKey = SymmetricKey(data: passcode.data(using: .utf8)!) let authenticationCode = HMAC<SHA256>.authenticationCode( for: "MeetingNotes".data(using: .utf8)!, using: authenticationKey ) let authenticationDispatchData = authenticationCode.withUnsafeBytes { DispatchData(bytes: $0) } // Private Shared Key (https://datatracker.ietf.org/doc/html/rfc4279) is *not* supported in // TLS 1.3 [https://tools.ietf.org/html/rfc8446], so this pins the TLS options to use version 1.2: // @constant tls_protocol_version_TLSv12 TLS 1.2 [https://tools.ietf.org/html/rfc5246] sec_protocol_options_set_max_tls_protocol_version(tlsOptions.securityProtocolOptions, .TLSv12) sec_protocol_options_set_min_tls_protocol_version(tlsOptions.securityProtocolOptions, .TLSv12) sec_protocol_options_add_pre_shared_key( tlsOptions.securityProtocolOptions, authenticationDispatchData as __DispatchData, stringToDispatchData("MeetingNotes")! as __DispatchData ) /* RFC 5487 - PSK with SHA-256/384 and AES GCM */ // Forcing non-standard cipher suite value to UInt16 because for // whatever reason, it can get returned as UInt32 - such as in // GitHub actions CI. let ciphersuiteValue = UInt16(TLS_PSK_WITH_AES_128_GCM_SHA256) sec_protocol_options_append_tls_ciphersuite( tlsOptions.securityProtocolOptions, tls_ciphersuite_t(rawValue: ciphersuiteValue)! ) return tlsOptions } Is there something I'm missing in setting up the proper constraints to request TLS version 1.2 with a private shared key to be used? And beyond that, any suggestions for debugging or narrowing down what might be failing?
Posted
by
Post not yet marked as solved
0 Replies
27 Views
When I distribute a app that includes Apple Unity plugin, I got an error of asset validation failed. The bundle 'Payload/{app name}/Frameworks/AppleCoreNative.framework' is missing plist key. The Info.plist file is missing the required key: CFBundleShortVersionString. Does anyone get this?
Posted
by
Post not yet marked as solved
0 Replies
31 Views
Hello, I've successfully tested my macOS app's subscription purchases in Sandbox mode, but I'm unsure how to test in Production mode, as I read that "Developer ID" profiles don't allow testing subscription purchases. Since Mac can't use an Ad Hoc profile, is there a recommended method for testing in-app purchases in Production mode for macOS apps? I need to test by myself (preferring to avoid Test Flight, if that is even an option for this purpose). My app subscription processes work in the Sandbox environment, but an Apple reviewer could not retrieve the subscription details. (I'm using RevenueCat and see nothing that I need to change). Thank you for your assistance.
Posted
by
Post not yet marked as solved
0 Replies
26 Views
I'm an Apple developer but I'm currently trying to test someone else's app that uses StoreKit for in-app purchases. The app is being tested using TestFlight. When I run the app, I always get a StoreKit error. On the screen, I see: "App Store communication failure, please try later" (with a close button to dismiss it) In the app's console I see: "StoreKit: Unable to Complete Request" This happens with 3 different apps that the company is currently testing. No one else that is testing is getting this issue. StoreKit is working fine for them. I suspect the problem has to do with the fact that I'm an Apple Developer as well. There must be something about my account that is tripping up StoreKit. I don't currently have any Sandbox test accounts. None of my apps are currently in testing. Anyone have any thoughts? I did capture a log from the Console App, filtering on StoreKit: StoreKitFailure.txt If you search the log for my email address "bill at otherwise dot com" you will see some errors that may mean something to someone.
Posted
by
Post not yet marked as solved
1 Replies
33 Views
There is a field "Feedback Email" on the TestFlight and we are expecting to receive an email when a tester submits feedback. Is there any configuration that I need to check to be able to receive emails when a tester submits feedback?
Posted
by
Post not yet marked as solved
0 Replies
26 Views
My app has two static widgets. In the widget extension, I have the following code: import WidgetKit import SwiftUI import ItemWidgetsKit @main struct ItemWidgetsBundle: WidgetBundle { var body: some Widget { RecentSavesWidget() RecommendationsWidget() } } the rest of the code, including the two Widget implementations, the TimelineProvider, etc, are in the imported ItemsWidgetKit, which is a library inside a Swift Package containing several libraries. These two widgets work as expected. Now I am adding a configurable widget, and the code above changes like so: import WidgetKit import SwiftUI import ItemWidgetsKit @main struct ItemWidgetsBundle: WidgetBundle { @WidgetBundleBuilder var body: some Widget { makeWidgets() } func makeWidgets() -> some Widget { if #available(iOS 17.0, *) { return WidgetBundleBuilder.buildBlock(RecentSavesWidget(), TopicRecommendationsWidget()) } else { return WidgetBundleBuilder.buildBlock(RecentSavesWidget(), RecommendationsWidget()) } } } TopicRecommendationsWidget is similar to RecommendationsWidget except that it lets you choose a topic to display recommendations for, by long pressing and selecting an intent. I followed the same approach of the other two widgets, and put the code inside ItemWidgetsKit This time, though, the widget does not work, and it only loads the placeholder; in fact, in the AppIntentTimelineProvider implementation (see below) only placeholder(in:) gets ever called @available(iOS 17.0, *) public struct TopicTimelineProvider: AppIntentTimelineProvider { public func placeholder(in context: Context) -> TopicEntry { return TopicEntry(date: Date(), content: TopicContent.sampleContent) } public func snapshot(for configuration: TopicIntent, in context: Context) async -> TopicEntry { return TopicEntry(date: Date(), content: configuration.topicEntity.topic) } public func timeline(for configuration: TopicIntent, in context: Context) async -> Timeline<TopicEntry> { let entry = TopicEntry(date: Date(), content: configuration.topicEntity.topic) return Timeline(entries: [entry], policy: .never) } } for more context, here's the code for the configurable Widget implementation (that resides inside ItemWidgetsKit @available(iOS 17.0, *) public struct TopicRecommendationsWidget: Widget { let kind: String public init() { self.kind = WidgetKind.topicRecommendations // a string stored elsewhere } public var body: some WidgetConfiguration { AppIntentConfiguration(kind: kind, intent: TopicIntent.self, provider: TopicTimelineProvider()) { entry in TopicWidgetContainerView(entry: entry) } .configurationDisplayName("New Recommendations") .description("Select a Topic") .supportedFamilies([.systemMedium, .systemLarge]) } } Any Idea why this happens and what would be the solution to this problem? Thank you
Posted
by
Post not yet marked as solved
0 Replies
38 Views
SwiftUI in visionOS has a modifier called preferredSurroundingsEffect that takes a SurroundingsEffect. From what I can tell, there is only a single effect available: .systemDark. ImmersiveSpace(id: "MyView") { MyView() .preferredSurroundingsEffect(.systemDark) } I'd like to create another effect to tint the color of passthrough video if possible. Does anyone know how to create custom SurroundingsEffects?
Posted
by
Post not yet marked as solved
0 Replies
33 Views
Hi, We want to build an excellent app for Vision OS, just wonder are there any tangible support from Apple, liking a community or organization that help developers? Thank you
Posted
by
Post not yet marked as solved
0 Replies
30 Views
I have read several times https://developer.apple.com/forums/thread/705868 https://developer.apple.com/forums/thread/705810 https://developer.apple.com/documentation/os/logging/generating_log_messages_from_your_code#3665948 From what I understand code like this: import SwiftUI import OSLog struct ContentView: View { private static let logger = Logger(subsystem: "HCP", category: "ContentView") var myprivateData: Date { Date() } var myprivateData2: String { "bank-account-111-222-333" } let myprivateData3: String = "bank-account-111-222-333" var body: some View { VStack { Image(systemName: "globe") .imageScale(.large) .foregroundStyle(.tint) Text("Hello, world!") } .padding() .onAppear(perform: { Self.logger.info("test info") Self.logger.info("test info \(myprivateData)") Self.logger.info("test info \(myprivateData2)") Self.logger.info("test info \(myprivateData3)") Self.logger.info("test info") Self.logger.info("test info \(myprivateData, privacy: .private)") Self.logger.info("test info \(myprivateData2, privacy: .private)") Self.logger.info("test info \(myprivateData3, privacy: .private)") }) } } Should result in somewhat redacted log messages, so my expectation would be that dynamic strings Self.logger.info("test info1") Self.logger.info("test info2 \(myprivateData)") Self.logger.info("test info3 \(myprivateData2)") Self.logger.info("test info4 \(myprivateData3)") would result in logs like: info 21:29:07.877698+0200 TestOsLogger test info1 info 21:29:07.877757+0200 TestOsLogger test info2 <private> info 21:29:07.877800+0200 TestOsLogger test info3 <private> info 21:29:07.877835+0200 TestOsLogger test info4 <private> instead I get info 21:29:07.874356+0200 TestOsLogger test info1 info 21:29:07.877531+0200 TestOsLogger test info2 <private> info 21:29:07.877615+0200 TestOsLogger test info3 bank-account-111-222-333 info 21:29:07.877656+0200 TestOsLogger test info4 bank-account-111-222-333 where clearly date object got redacted, but string not really. Adding privacy: .private helps here, but it is still a different behavior from what I expected after reading docs. Is that a change or rather my misunderstanding? Eskimo for the rescue?
Posted
by
Post not yet marked as solved
2 Replies
42 Views
Attempting to run my app on the simulator or device seemingly leaves it stuck on the launch screen for a long time. Slowly, the terminal will start to relay info suggesting it's past that but still displays the launch screen until eventually it goes to a black screen. No changes I am aware of were made to cause these behavior to start. And it was a sudden issue. My last OS update was a few days ago and my last Xcode update was after this started to occur in hopes it would fix the problem. Recent code changes would have nothing to do with startup. I did try to delete derived data and ~/Library/Developer/Xcode/iOS DeviceSupport/ based on solutions given to other users with similar problems. I've restarted the computer and cold restarted. When I stop the application from Xcode, I can then run the app. It's just when it's attached. It will also work if "Debug executable" is off. Other apps on this computer do not seem to have this problem. Would appreciate any help. Thanks.
Posted
by
Post not yet marked as solved
0 Replies
45 Views
I work on an app that uses a couple 3P SDKs that have their own SDK. My app also uses some of the APIs (UserDefaults) and declares those reasons in it's privacy manifest file. I was under the impression that I should only declare the reasons from my app in it's Privacy Manifest file, and that the 3P SDK reasons would automatically be pulled in (because they include them). Uploading to TestFlight I get warnings that this is not the case. If I only declare my app's reasons, it warns me that the APIs the SDK accesses are not included in the manifest. The only way to get it to work, is manually copying in the same declarations that the 3P SDK has into my own manifest file. Is this the way it's supposed to work? Or should it be generating a holistic manifest automatically for me?
Posted
by
Post not yet marked as solved
2 Replies
150 Views
Hi, I'm trying to Developer ID-sign and export a macOS app through my CI/CD pipeline on GitHub Actions, but I've run into an issue signing my app once it has one or more entitlements, in this case, an app group entitlement. I'm using xcodebuild to archive the app and export that archive, signing it along the way. This works fine as long as my app does not have an entitlement, but once it has an entitlement, exporting the archive fails. To elaborate a bit on this, I first make sure the development certificate and the Developer ID certificate are installed on the machine. These are installed using the security CLI, and I'm confident that they are installed correctly. Then I proceed to archive the app using xcodebuild as shown below. xcodebuild archive\ -scheme MyApp\ -configuration Release\ -sdk macosx\ -archivePath MyApp.xcarchive\ -destination "platform=OS X,arch=x86_64"\ -allowProvisioningUpdates\ -authenticationKeyIssuerID XYZ1234\ -authenticationKeyID XYZ\ -authenticationKeyPath AuthKey.p8 Then I export the archive using xcodebuild as shown below. xcodebuild -exportArchive\ -archivePath MyApp.xcarchive\ -exportPath export\ -exportOptionsPlist ExportOptions.plist\ -allowProvisioningUpdates\ -authenticationKeyIssuerID XYZ1234\ -authenticationKeyID XYZ\ -authenticationKeyPath AuthKey.p8 When my app has one or more entitlements, this fails with the following error message: Error: error: exportArchive: Cloud signing permission error Error: error: exportArchive: No profiles for 'com.example.MyApp' were found Note that I am not signed into an Apple ID in Xcode when signing and exporting my app through my CI/CD pipeline, as there does not seem to be a way to sign into an Apple ID in Xcode through the CLI. Instead, I'm authenticating with an App Store Connect API key. Developer ID-signing and exporting my app does work when I do it through Xcode, even if the app has an entitlement, so the signing of the app is configured correctly. Upon inspecting the contents of ~/Library/MobileDevice/Provisioning Profiles after signing and exporting the app through Xcode, I notice that Xcode automatically creates two provisioning profiles with the titles: Mac Team Provisioning Profile: com.example.MyApp Mac Team Direct Provisioning Profile: com.example.MyApp These two provisioning profiles are not created when signing and exporting the app through the xcodebuild command-line tool, and I suspect that is part of the problem. I'd be OK with manually creating these provisioning profiles through Apple's developer portal and installing them as part of my CI/CD pipeline, but I can't seem to find a way to create this type of provisioning profile through the portal. Neither the macOS App Development, Mac App Store Connect, nor Developer ID provisioning profile types yield this kind of provisioning profile. All of this, leaves me with the question: How do I Developer ID-sign and export a macOS app with an entitlement through the command-line without being signed in with my Apple ID in Xcode?
Posted
by

TestFlight Public Links

Get Started

Pinned Posts

Categories

See all