Search results for

“missing package product”

52,918 results found

Post

Replies

Boosts

Views

Activity

Subs stuck in a rejection loop, App Store Connect won't let me attach them to a new app version anymore
Hey everyone, hoping someone here has seen this one because Apple support has basically gone silent on me at this point. Quick rundown of the situation: I submitted my app for review for the first time about 2 weeks ago, with my in app subscriptions attached to that first binary. That worked exactly like it's supposed to, subs and binary went into review together. The binary got rejected and the subs got rejected with it. Since then, every single time I create a new app version, the option to submit my subscriptions alongside it just isn't there. There's no attach subscriptions prompt anywhere in the new version's submission flow. So the only way I can actually submit the subs is on their own, straight from the Subscriptions page. And every time I do that, they come back rejected for one reason only, that they need to be submitted with a new app version. Which I literally cannot do, because that UI option doesn't appear in my ASC anymore. It worked the first time, and ever since that very first rejection it's
2
0
91
2d
In-App Purchase subscription products have been in Waiting for Review status for several months
Our app was approved for distribution yesterday, however our In-App Purchase subscription products have been in Waiting for Review status for several months, without the ability or option to manually connect to the app when submitting for review. As a result the App Store is incorrectly displaying our app as a $6.99 one-time purchase instead of Free with In-App Purchases. What can be done to connect the app to the subscriptions.
0
0
32
2d
Reply to Could not launch app on watchOS downloaded from TestFlight
@ppwqgtl That “Profile Missing / Provisioning Profile Not Found” line is extremely interesting. We just captured a fresh sysdiagnose from our own recurrence and it now looks very similar. In our latest case, the sequence was: TestFlight installed our iOS app and paired Watch app build. AppConduit/MobileInstallation reported the Watch app install succeeded. The Watch app launched successfully once after the update. A few minutes later, TestFlight queried installed beta Watch apps and found our Watch app still installed. Immediately after that, TestFlight/appconduitd removed two Watch-side provisioning profiles. The next watch app launch failed before our app process started with the same security/profile trust denial. The files where we saw this were: iPhone sysdiagnose: logs/AppConduit/AppConduit.log.0 logs/AppConduit/AppConduit.log.1 logs/MobileInstallation/mobile_installation.log.0 Watch sysdiagnose: logs/AppConduit/AppConduit.log.0 logs/MobileInstallation/mobile_installation.log.0 The most useful
Topic: App & System Services SubTopic: General Tags:
2d
Escalation Request: App stuck "In Review" for 30+ days (App ID: 6480077134)
Hello, I am seeking guidance or an internal escalation regarding our app (App ID: 6480077134), which has been in the In Review status for over 30 days. Despite several attempts to resolve this through standard channels, we have not received a status update or a response to our latest correspondence. We have already: Requested a phone callback (Result: We'll email the review team, but no follow-up). Submitted a formal Expedited Review request 14 days ago with no response. Attempted to contact the review team via email over a week ago (exceeding the 72hr response window). Our last correspondence addressed feedback regarding Guidelines 2.3.2 and 2.1(a) as follows: Guideline 2.3.2 – Promotional Images & Price References Removed all promotional images from IAP products. Removed price references from display names (e.g., changed 90 Day Free Trial to 90 Day Trial). Guideline 2.1(a) – App Completeness (Conversations) Provided clear reproduction steps for the Conversations feature, clarifying its contextu
1
0
69
2d
Merchant domain verification was done automatically
Hi, I’m looking for clarification on Apple Pay merchant domain verification behavior. Our production domain’s verification expiry was extended without any action from our team. Previous expiry: May 21, 2026 Current expiry: October 6, 2026 The Verify button is greyed out, and we can’t download a new .txt file. We did not re‑verify the domain during this time. A few weeks prior, we did renew our Apple Pay Merchant Identity certificate for Apple Pay on the web. Could someone clarify: Does updating the Merchant Identity certificate trigger automatic domain revalidation or expiry extension? If so, why was the extension only 4 months? Does Apple automatically revalidate or extend merchant domain verification? Is this expected behavior, or should domains always be manually re‑verified?
0
0
40
3d
Reply to Could not launch app on watchOS downloaded from TestFlight
@tph No, no silent pushes, we recently added event tracking that collects user actions in watch and send to phone via transferUserInfo, but it does not send anything when in background. It is a sports app, so just a workout processing background mode. And I even made a test build that does not have the event tracking feature, so WatchConnectivity might not be the reason. And rebooting does not solve the problem, must delete and reinstall. I did not find AppConduit / ACXRemoteAppList / MobileInstallation related logs, or maybe I am looking at the wrong place, can you tell me which file you saw these logs? From our watch logs there is another message next to the untrusted line: signature state: Profile Missing, reason: Provisioning Profile Not Found This kind of issue is hard to track the cause, it might took forever😂, what would cause the app lost the Provisioning Profile and become untrusted?
Topic: App & System Services SubTopic: General Tags:
3d
Reply to Could not launch app on watchOS downloaded from TestFlight
@ppwqgtl Small correction/update from our side: my earlier reply saying reboot fixed this was wrong. In the latest reproduction, a normal Apple Watch reboot did not recover the app. Deleting/reinstalling from TestFlight does recover it. Separately, one affected watch recovered after the battery drained completely, was left dead for hours, then charged/cold-booted. So this seems more persistent than a simple in-memory bad state. Our latest read is still that this is not an app crash. In the failed state, our app process is never created, there are no app startup logs, and launching with devicectl fails before our code runs with the same Security / RequestDenied shape. The strongest evidence we have now is around AppConduit / paired app state. In iPhone sysdiagnose we see AppConduit / ACXRemoteAppList reporting that the “App database is out of sync” around the relevant window. That lines up with the symptoms: the TestFlight watch app was installed, had launched successfully earlier on the same build/device, the
Topic: App & System Services SubTopic: General Tags:
3d
Reply to AVCaptureSession runtime error -11800 / 'what' on startRunning() with audio input — what's holding the HAL?
Resolved — posting the fix for anyone who hits this later. Root cause An EXAppExtensionAttributes block in our main app's Info.plist was registering the host app itself as an embedded com.apple.appintents-extension carrying our intents: EXAppExtensionAttributes EXExtensionPointIdentifier com.apple.appintents-extension IntentsSupported FeatureAppIntent ... After removing that block: AVCaptureSession.startRunning() with the audio AVCaptureDeviceInput attached no longer fires -11800 / 'what'. currentRoute.inputs is no longer empty — MicrophoneBuiltIn shows up as expected. AVAudioRecorder.record() returns true (we'd also tried that path; same family of bug). The three spurious routeChangeNotification(.categoryChange) events also stop. Why it matters Declaring AppIntents this way registers the main app bundle itself as hosting an appintents-extension extension point. Even though no intent was being invoked, that registration appears to engage the audio HAL pipeline at app launch in a way that conflicts with AV
Topic: Media Technologies SubTopic: Audio Tags:
3d
Reply to Auto-renewable subscriptions returning false on RevenueCat Purchase — unable to test in sandbox without Xcode
Thank you for the detailed responses and suggestions. I wanted to follow up with an update: we have identified the root cause of the issue. The problem was a FlutterFlow bug — not a StoreKit or RevenueCat configuration issue. FlutterFlow was generating the main.dart file with an empty string for the App Store API key, even after the key was correctly saved in the platform settings: await revenue_cat.initialize( , // ← App Store key was empty goog_XXXXXXXXXXXXXXXX, loadDataAfterLaunch: true, ); This caused the RevenueCat SDK to initialize with invalid credentials on iOS, returning INVALID_CREDENTIALS (code 11) on every call — including getOfferings() and purchasePackage(). The purchase action returned false not because of a StoreKit issue, but because the SDK was never properly authenticated. Workaround applied Since FlutterFlow does not expose main.dart for direct editing, we implemented a Custom Action called on pgSplash (first action on Page Load) that forces the correct API key at runtime, overriding the e
3d
VMs for automated testing vs 2 macOS instance limit
Hello, I'm evaluating possibility to use virtualization to setup on-permise parallel testing system for a product I work on. My compatibility range is wide, i.e. it would cover macOS 12 - 26, so any testcase needs to be executed on at least 5 different OS versions (and introducing any parallization to the test execution would mean I deal with higher number of VMs). As far as I understand, there is a constraint in Apple Software License, that limits number of OS VM installations per one physical system to 2 (section 2.B.(iii)) in case of OS downloaded from the Internet or through App Store. Clearly these days a single high-end Mac hardware could sustain more than 2 VMs running in parallel. The license also mentions it is also possible to be in a volume or maintenance license program and then the terms of this program apply instead. So I wonder how do people normally deal with the above limitation? What is the path I need to follow if I want to be able to run more than 2 additional copies or instances
0
0
62
3d
Agreements page broken in App Store Connect – Can't accept pending agreement to submit app
Hi everyone, I'm hoping someone has run into this before because it's completely blocking our release. When we try to submit a new version of our app, we get an error saying the Account Holder must accept a pending agreement. The problem is, when the Account Holder logs into App Store Connect, there are no agreements showing up to accept. To make things worse, the Business page is broken — every time we try to open it, it throws an error and won't load at all. This means we can't access the Agreements, Tax, and Banking section through the UI. Things we've already tried: Logging in as the Account Holder (not just an Admin) Trying different browsers and incognito mode Going directly to appstoreconnect.apple.com/agreements/#/ Checking email for any agreement links from Apple Nothing has worked so far. The page just errors out every time. Has anyone experienced this and found a fix? Did you have to go through Apple Support directly to get it resolved? We've already reached out to Apple Support but wanted to check
0
0
15
3d
Reply to App Store Server Notification v2: how to distinguish a resubscription that happened in-app from one that happened in Settings → Subscriptions?
One piece of information you seem to be missing that is likely crucial here, when you upgrade/downgrade/enable auto renewal/or resubscribe vis an in-app StoreKit purchase and provide an appAccountToken (or UUID application username for original StoreKit) it will set the appAccountToken for that purchase (or the next purchase if no purchase takes place immediately) with that appAccountToken. That means different transactions can have different tokens, which your purpose is good because if the token changed, you can tell it was in-app, and furthermore, as long as you are consistent about setting appAccountToken to the ”business account” or have some mapping therein you can even tell for App Store Server Notifications which account to entitle based upon the appAccountToken you see there. Last you can even go back and set it on your existing subscriptions via the Set App Account Token server endpoint.
3d
App Review Delay for so long
Hello App Review Team, We respectfully ask for your assistance regarding our app review status. Our submission was re-submitted on April 29, 2026, and it has now been waiting for review for more than 12 days without any update or response. In addition, we have already been working through the review process for this app on this developer account for almost 4 months. We carefully addressed all previous review feedback and submitted the required fixes, but the review process continues to experience very long delays. This situation is now seriously impacting our planned product launch, business operations, and partner commitments. We sincerely ask if the App Review Team could please help: Review the current submission status Escalate the case internally if possible Help move the review process forward Reference Information: Case Number: 102877213113 Submission ID: 68850cef-1651-40c8-b717-7916b679a467 We would greatly appreciate any assistance or update regarding this matter. Thank you very much.
0
0
42
3d
App Store Server Notification v2: how to distinguish a resubscription that happened in-app from one that happened in Settings → Subscriptions?
Context We're handling App Store subscriptions on the server side using App Store Server Notification v2. Our pipeline currently identifies each event by transactionId and originalTransactionId. A few notes about our client: Our app is built with Flutter and uses the standard in_app_purchase plugin layer to drive App Store purchases (StoreKit 1 under the hood). We have not migrated to StoreKit 2 on the client yet. We have not been setting SKPayment.applicationUsername on outgoing purchases, so every transaction we've ever produced has appAccountToken: null in its v2 notification. This question is purely about what the server-side notification can tell us, given the current client state above. What we're trying to figure out A user can resubscribe to an expired subscription in two different places: In-app — the user opens our app and re-purchases through our normal in-app purchase flow. App Store — the user goes to Settings → Apple ID → Subscriptions and resubscribes from the system UI, without ever returning
1
0
67
3d
Testflight issue
Hi, I have been using Testflight iOS app to test my apps before releasing to production. Over the past few weeks, I am unable to install any of my apps through Testflight. I also don't get any email notification that my app is live on Testflight. This is really important and it would be really helpful if I can find any solution to this. Thank you so much.
0
0
65
3d
Subs stuck in a rejection loop, App Store Connect won't let me attach them to a new app version anymore
Hey everyone, hoping someone here has seen this one because Apple support has basically gone silent on me at this point. Quick rundown of the situation: I submitted my app for review for the first time about 2 weeks ago, with my in app subscriptions attached to that first binary. That worked exactly like it's supposed to, subs and binary went into review together. The binary got rejected and the subs got rejected with it. Since then, every single time I create a new app version, the option to submit my subscriptions alongside it just isn't there. There's no attach subscriptions prompt anywhere in the new version's submission flow. So the only way I can actually submit the subs is on their own, straight from the Subscriptions page. And every time I do that, they come back rejected for one reason only, that they need to be submitted with a new app version. Which I literally cannot do, because that UI option doesn't appear in my ASC anymore. It worked the first time, and ever since that very first rejection it's
Replies
2
Boosts
0
Views
91
Activity
2d
In-App Purchase subscription products have been in Waiting for Review status for several months
Our app was approved for distribution yesterday, however our In-App Purchase subscription products have been in Waiting for Review status for several months, without the ability or option to manually connect to the app when submitting for review. As a result the App Store is incorrectly displaying our app as a $6.99 one-time purchase instead of Free with In-App Purchases. What can be done to connect the app to the subscriptions.
Replies
0
Boosts
0
Views
32
Activity
2d
Reply to Could not launch app on watchOS downloaded from TestFlight
@ppwqgtl That “Profile Missing / Provisioning Profile Not Found” line is extremely interesting. We just captured a fresh sysdiagnose from our own recurrence and it now looks very similar. In our latest case, the sequence was: TestFlight installed our iOS app and paired Watch app build. AppConduit/MobileInstallation reported the Watch app install succeeded. The Watch app launched successfully once after the update. A few minutes later, TestFlight queried installed beta Watch apps and found our Watch app still installed. Immediately after that, TestFlight/appconduitd removed two Watch-side provisioning profiles. The next watch app launch failed before our app process started with the same security/profile trust denial. The files where we saw this were: iPhone sysdiagnose: logs/AppConduit/AppConduit.log.0 logs/AppConduit/AppConduit.log.1 logs/MobileInstallation/mobile_installation.log.0 Watch sysdiagnose: logs/AppConduit/AppConduit.log.0 logs/MobileInstallation/mobile_installation.log.0 The most useful
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
2d
Escalation Request: App stuck "In Review" for 30+ days (App ID: 6480077134)
Hello, I am seeking guidance or an internal escalation regarding our app (App ID: 6480077134), which has been in the In Review status for over 30 days. Despite several attempts to resolve this through standard channels, we have not received a status update or a response to our latest correspondence. We have already: Requested a phone callback (Result: We'll email the review team, but no follow-up). Submitted a formal Expedited Review request 14 days ago with no response. Attempted to contact the review team via email over a week ago (exceeding the 72hr response window). Our last correspondence addressed feedback regarding Guidelines 2.3.2 and 2.1(a) as follows: Guideline 2.3.2 – Promotional Images & Price References Removed all promotional images from IAP products. Removed price references from display names (e.g., changed 90 Day Free Trial to 90 Day Trial). Guideline 2.1(a) – App Completeness (Conversations) Provided clear reproduction steps for the Conversations feature, clarifying its contextu
Replies
1
Boosts
0
Views
69
Activity
2d
Merchant domain verification was done automatically
Hi, I’m looking for clarification on Apple Pay merchant domain verification behavior. Our production domain’s verification expiry was extended without any action from our team. Previous expiry: May 21, 2026 Current expiry: October 6, 2026 The Verify button is greyed out, and we can’t download a new .txt file. We did not re‑verify the domain during this time. A few weeks prior, we did renew our Apple Pay Merchant Identity certificate for Apple Pay on the web. Could someone clarify: Does updating the Merchant Identity certificate trigger automatic domain revalidation or expiry extension? If so, why was the extension only 4 months? Does Apple automatically revalidate or extend merchant domain verification? Is this expected behavior, or should domains always be manually re‑verified?
Replies
0
Boosts
0
Views
40
Activity
3d
Reply to Could not launch app on watchOS downloaded from TestFlight
@tph No, no silent pushes, we recently added event tracking that collects user actions in watch and send to phone via transferUserInfo, but it does not send anything when in background. It is a sports app, so just a workout processing background mode. And I even made a test build that does not have the event tracking feature, so WatchConnectivity might not be the reason. And rebooting does not solve the problem, must delete and reinstall. I did not find AppConduit / ACXRemoteAppList / MobileInstallation related logs, or maybe I am looking at the wrong place, can you tell me which file you saw these logs? From our watch logs there is another message next to the untrusted line: signature state: Profile Missing, reason: Provisioning Profile Not Found This kind of issue is hard to track the cause, it might took forever😂, what would cause the app lost the Provisioning Profile and become untrusted?
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
3d
Reply to Could not launch app on watchOS downloaded from TestFlight
@ppwqgtl Small correction/update from our side: my earlier reply saying reboot fixed this was wrong. In the latest reproduction, a normal Apple Watch reboot did not recover the app. Deleting/reinstalling from TestFlight does recover it. Separately, one affected watch recovered after the battery drained completely, was left dead for hours, then charged/cold-booted. So this seems more persistent than a simple in-memory bad state. Our latest read is still that this is not an app crash. In the failed state, our app process is never created, there are no app startup logs, and launching with devicectl fails before our code runs with the same Security / RequestDenied shape. The strongest evidence we have now is around AppConduit / paired app state. In iPhone sysdiagnose we see AppConduit / ACXRemoteAppList reporting that the “App database is out of sync” around the relevant window. That lines up with the symptoms: the TestFlight watch app was installed, had launched successfully earlier on the same build/device, the
Topic: App & System Services SubTopic: General Tags:
Replies
Boosts
Views
Activity
3d
Reply to AVCaptureSession runtime error -11800 / 'what' on startRunning() with audio input — what's holding the HAL?
Resolved — posting the fix for anyone who hits this later. Root cause An EXAppExtensionAttributes block in our main app's Info.plist was registering the host app itself as an embedded com.apple.appintents-extension carrying our intents: EXAppExtensionAttributes EXExtensionPointIdentifier com.apple.appintents-extension IntentsSupported FeatureAppIntent ... After removing that block: AVCaptureSession.startRunning() with the audio AVCaptureDeviceInput attached no longer fires -11800 / 'what'. currentRoute.inputs is no longer empty — MicrophoneBuiltIn shows up as expected. AVAudioRecorder.record() returns true (we'd also tried that path; same family of bug). The three spurious routeChangeNotification(.categoryChange) events also stop. Why it matters Declaring AppIntents this way registers the main app bundle itself as hosting an appintents-extension extension point. Even though no intent was being invoked, that registration appears to engage the audio HAL pipeline at app launch in a way that conflicts with AV
Topic: Media Technologies SubTopic: Audio Tags:
Replies
Boosts
Views
Activity
3d
Reply to Auto-renewable subscriptions returning false on RevenueCat Purchase — unable to test in sandbox without Xcode
Thank you for the detailed responses and suggestions. I wanted to follow up with an update: we have identified the root cause of the issue. The problem was a FlutterFlow bug — not a StoreKit or RevenueCat configuration issue. FlutterFlow was generating the main.dart file with an empty string for the App Store API key, even after the key was correctly saved in the platform settings: await revenue_cat.initialize( , // ← App Store key was empty goog_XXXXXXXXXXXXXXXX, loadDataAfterLaunch: true, ); This caused the RevenueCat SDK to initialize with invalid credentials on iOS, returning INVALID_CREDENTIALS (code 11) on every call — including getOfferings() and purchasePackage(). The purchase action returned false not because of a StoreKit issue, but because the SDK was never properly authenticated. Workaround applied Since FlutterFlow does not expose main.dart for direct editing, we implemented a Custom Action called on pgSplash (first action on Page Load) that forces the correct API key at runtime, overriding the e
Replies
Boosts
Views
Activity
3d
VMs for automated testing vs 2 macOS instance limit
Hello, I'm evaluating possibility to use virtualization to setup on-permise parallel testing system for a product I work on. My compatibility range is wide, i.e. it would cover macOS 12 - 26, so any testcase needs to be executed on at least 5 different OS versions (and introducing any parallization to the test execution would mean I deal with higher number of VMs). As far as I understand, there is a constraint in Apple Software License, that limits number of OS VM installations per one physical system to 2 (section 2.B.(iii)) in case of OS downloaded from the Internet or through App Store. Clearly these days a single high-end Mac hardware could sustain more than 2 VMs running in parallel. The license also mentions it is also possible to be in a volume or maintenance license program and then the terms of this program apply instead. So I wonder how do people normally deal with the above limitation? What is the path I need to follow if I want to be able to run more than 2 additional copies or instances
Replies
0
Boosts
0
Views
62
Activity
3d
Agreements page broken in App Store Connect – Can't accept pending agreement to submit app
Hi everyone, I'm hoping someone has run into this before because it's completely blocking our release. When we try to submit a new version of our app, we get an error saying the Account Holder must accept a pending agreement. The problem is, when the Account Holder logs into App Store Connect, there are no agreements showing up to accept. To make things worse, the Business page is broken — every time we try to open it, it throws an error and won't load at all. This means we can't access the Agreements, Tax, and Banking section through the UI. Things we've already tried: Logging in as the Account Holder (not just an Admin) Trying different browsers and incognito mode Going directly to appstoreconnect.apple.com/agreements/#/ Checking email for any agreement links from Apple Nothing has worked so far. The page just errors out every time. Has anyone experienced this and found a fix? Did you have to go through Apple Support directly to get it resolved? We've already reached out to Apple Support but wanted to check
Replies
0
Boosts
0
Views
15
Activity
3d
Reply to App Store Server Notification v2: how to distinguish a resubscription that happened in-app from one that happened in Settings → Subscriptions?
One piece of information you seem to be missing that is likely crucial here, when you upgrade/downgrade/enable auto renewal/or resubscribe vis an in-app StoreKit purchase and provide an appAccountToken (or UUID application username for original StoreKit) it will set the appAccountToken for that purchase (or the next purchase if no purchase takes place immediately) with that appAccountToken. That means different transactions can have different tokens, which your purpose is good because if the token changed, you can tell it was in-app, and furthermore, as long as you are consistent about setting appAccountToken to the ”business account” or have some mapping therein you can even tell for App Store Server Notifications which account to entitle based upon the appAccountToken you see there. Last you can even go back and set it on your existing subscriptions via the Set App Account Token server endpoint.
Replies
Boosts
Views
Activity
3d
App Review Delay for so long
Hello App Review Team, We respectfully ask for your assistance regarding our app review status. Our submission was re-submitted on April 29, 2026, and it has now been waiting for review for more than 12 days without any update or response. In addition, we have already been working through the review process for this app on this developer account for almost 4 months. We carefully addressed all previous review feedback and submitted the required fixes, but the review process continues to experience very long delays. This situation is now seriously impacting our planned product launch, business operations, and partner commitments. We sincerely ask if the App Review Team could please help: Review the current submission status Escalate the case internally if possible Help move the review process forward Reference Information: Case Number: 102877213113 Submission ID: 68850cef-1651-40c8-b717-7916b679a467 We would greatly appreciate any assistance or update regarding this matter. Thank you very much.
Replies
0
Boosts
0
Views
42
Activity
3d
App Store Server Notification v2: how to distinguish a resubscription that happened in-app from one that happened in Settings → Subscriptions?
Context We're handling App Store subscriptions on the server side using App Store Server Notification v2. Our pipeline currently identifies each event by transactionId and originalTransactionId. A few notes about our client: Our app is built with Flutter and uses the standard in_app_purchase plugin layer to drive App Store purchases (StoreKit 1 under the hood). We have not migrated to StoreKit 2 on the client yet. We have not been setting SKPayment.applicationUsername on outgoing purchases, so every transaction we've ever produced has appAccountToken: null in its v2 notification. This question is purely about what the server-side notification can tell us, given the current client state above. What we're trying to figure out A user can resubscribe to an expired subscription in two different places: In-app — the user opens our app and re-purchases through our normal in-app purchase flow. App Store — the user goes to Settings → Apple ID → Subscriptions and resubscribes from the system UI, without ever returning
Replies
1
Boosts
0
Views
67
Activity
3d
Testflight issue
Hi, I have been using Testflight iOS app to test my apps before releasing to production. Over the past few weeks, I am unable to install any of my apps through Testflight. I also don't get any email notification that my app is live on Testflight. This is really important and it would be really helpful if I can find any solution to this. Thank you so much.
Replies
0
Boosts
0
Views
65
Activity
3d