Build custom experiences with Group Activities

RSS for tag

Discuss the WWDC21 session Build custom experiences with Group Activities.

View Session

Posts under wwdc21-10187 tag

15 Posts
Sort by:
Post not yet marked as solved
0 Replies
230 Views
addSubview: button button:removeFromSubview crashed Hardware Model: iPhone13,4 Process: iCSee [32890] Path: /private/var/containers/Bundle/Application/E4F78A1E-04C2-4FAB-8784-EB547CB03AA6/iCSee.app/iCSee Identifier: com.XM.CSee Version: 1.4.0 (20.0) AppStoreTools: 13E114 AppVariant: 1:iPhone13,4:15 Code Type: ARM-64 (Native) Role: Background Parent Process: launchd [1] Coalition: com.XM.CSee [1488] Date/Time: 2022-05-06 06:00:35.1051 +0700 Launch Time: 2022-05-06 02:44:37.4063 +0700 OS Version: iPhone OS 15.4.1 (19E258) Release Type: User Baseband Version: 2.53.01 Report Version: 104 Exception Type: EXC_CRASH (SIGKILL) Exception Codes: 0x0000000000000000, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY Termination Reason: FRONTBOARD 2343432205 <RBSTerminateContext| domain:10 code:0x8BADF00D explanation:scene-update watchdog transgression: application<com.XM.CSee>:32890 exhausted real (wall clock) time allowance of 10.00 seconds ProcessVisibility: Background ProcessState: Running WatchdogEvent: scene-update WatchdogVisibility: Background WatchdogCPUStatistics: ( "Elapsed total CPU time (seconds): 26.030 (user 19.430, system 6.600), 41% CPU", "Elapsed application CPU time (seconds): 9.636, 15% CPU" ) reportType:CrashLog maxTerminationResistance:Interactive> Triggered by Thread: 0 Thread 0 name: Thread 0 Crashed: 0 CoreAutoLayout 0x000000019ad38a40 NSBitSetCount + 28 (NSBitSet.m:207) 1 CoreAutoLayout 0x000000019ad3c0cc _table_removeStorageBlockIfPossible + 64 (NSISEngine_Table.m:40) 2 CoreAutoLayout 0x000000019ad37ea0 -[NSISEngine removeConstraintWithMarker:] + 680 (NSISEngine.m:2668) 3 CoreAutoLayout 0x000000019ad412a4 -[NSLayoutConstraint _removeFromEngine:] + 212 (NSLayoutConstraint.m:1693) 4 UIKitCore 0x00000001843714d4 __57-[UIView(AdditionalLayoutSupport) _switchToLayoutEngine:]_block_invoke + 204 (NSLayoutConstraint_UIKitAdditions.m:4010) 5 CoreAutoLayout 0x000000019ad355c4 -[NSISEngine withBehaviors:performModifications:] + 88 (NSISEngine.m:1988) 6 UIKitCore 0x000000018455e524 -[UIView(AdditionalLayoutSupport) _switchToLayoutEngine:] + 216 (NSLayoutConstraint_UIKitAdditions.m:4003) 7 UIKitCore 0x0000000184381ecc __45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke + 100 (UIView.m:12344) 8 CoreAutoLayout 0x000000019ad355c4 -[NSISEngine withBehaviors:performModifications:] + 88 (NSISEngine.m:1988) 9 UIKitCore 0x00000001844115d4 -[UIView(Hierarchy) _postMovedFromSuperview:] + 840 (UIView.m:473) 10 UIKitCore 0x0000000184342468 __UIViewWasRemovedFromSuperview + 168 (UIView.m:11692) 11 UIKitCore 0x00000001843542ec -[UIView(Hierarchy) removeFromSuperview] + 400 (UIView.m:11744) 12 iCSee 0x000000010548a970 -[RightToolView configToolViewSupportFull:supportRatio:supportSplit:supportLight:supportPIP:supportManualAlert:] + 168 (RightToolView.m:38) 13 iCSee 0x0000000104d369e0 -[XMCameraViewController configToolBarRight:] + 2668 (XMCameraViewController.mm:1457) 14 iCSee 0x0000000104dc5200 -[XMCameraViewController mediaPlayer:info1:info2:] + 2424 (XMCameraViewController.mm:9180) 15 iCSee 0x00000001055c2298 0x10481c000 + 14312088 16 iCSee 0x0000000105418f24 -[RealPlayModel OnFunSDKResult:] + 80 (RealPlayModel.mm:74) 17 Foundation 0x00000001835c98a0 -[NSObject(NSThreadPerformAdditions) performSelector:onThread:withObject:waitUntilDone:modes:] + 916 (NSThread.m:1233) 18 Foundation 0x0000000183565204 -[NSObject(NSThreadPerformAdditions) performSelectorOnMainThread:withObject:waitUntilDone:] + 136 (NSThread.m:1284) 19 iCSee 0x00000001066ea12c invocation function for block in UI_SendMsg(int, XMSG*) + 304 (UIInterface.mm:177) 20 libdispatch.dylib 0x0000000181a32e68 _dispatch_call_block_and_release + 32 (init.c:1517) 21 libdispatch.dylib 0x0000000181a34a2c _dispatch_client_callout + 20 (object.m:560) 22 libdispatch.dylib 0x0000000181a42f48 _dispatch_main_queue_drain + 928 (inline_internal.h:2622) 23 libdispatch.dylib 0x0000000181a42b98 _dispatch_main_queue_callback_4CF + 44 (queue.c:7770) 24 CoreFoundation 0x0000000181d862f0 CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE + 16 (CFRunLoop.c:1795) 25 CoreFoundation 0x0000000181d401f4 __CFRunLoopRun + 2532 (CFRunLoop.c:3144) 26 CoreFoundation 0x0000000181d536b8 CFRunLoopRunSpecific + 600 (CFRunLoop.c:3268) 27 GraphicsServices 0x000000019dded374 GSEventRunModal + 164 (GSEvent.c:2200) 28 UIKitCore 0x00000001846b8e88 -[UIApplication _run] + 1100 (UIApplication.m:3511) 29 UIKitCore 0x000000018443a5ec UIApplicationMain + 364 (UIApplication.m:5064) 30 iCSee 0x00000001055c4df4 0x10481c000 + 14323188 31 dyld 0x000000010918dce4 start + 520 (dyldMain.cpp:879) ```language code-block
Posted
by
Post not yet marked as solved
1 Replies
323 Views
Hi, Currently I'm working on Share Play. And I struggled a lot on the issue that: In some cases, we need to share what other user(s) is(are) doing, so I made a custom event to share with all participants. But when 2 (or more) users send the activities with custom event at the same (or very similar) time, looks like groupSession ignores other users activities. Is there any way to solve this problem? or any idea to handle this situation? I just used same code with Apple's sample project. (sink completion is not called for other users activity sometimes) groupSession.$activity.sink { [weak self] activity in                     // Set the movie to enqueue it in the player.                     self?.enqueuedMovie = activity.movie                 }.store(in: &subscriptions)
Posted
by
Post not yet marked as solved
0 Replies
387 Views
When a user is in a Facetime call and accepted the SharePlay request, I want to push a specific ViewController. So I thought it would be same as to get notification when the user tap "accept". But this was not the case. Nothing were printed out in the logs. Is there another way to know when the app (in the background or terminated) is launched or openend by accepting a SharePlay request ? import UIKit import UserNotifications @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. // to perform action when notification is tapped UNUserNotificationCenter.current().delegate = self registerForPushNotifications() return true } func registerForPushNotifications() { UNUserNotificationCenter.current() .requestAuthorization(options: [.alert, .sound, .badge]) { [weak self] granted, error in print("Permission granted: \(granted)") guard granted else { return } self?.getNotificationSettings() } } func getNotificationSettings() { UNUserNotificationCenter.current().getNotificationSettings { settings in print("Notification settings: \(settings)") guard settings.authorizationStatus == .authorized else { return } DispatchQueue.main.async { UIApplication.shared.registerForRemoteNotifications() } } } extension AppDelegate : UNUserNotificationCenterDelegate { func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { let application = UIApplication.shared if(application.applicationState == .active){ print("user tapped the notification bar when the app is in foreground") } if(application.applicationState == .inactive) { print("user tapped the notification bar when the app is in background") } guard let rootViewController = (UIApplication.shared.connectedScenes.first?.delegate as? SceneDelegate)?.window?.rootViewController else { return } // Do some work completionHandler() } }
Posted
by
Post not yet marked as solved
0 Replies
355 Views
I want to make a custom UI that integrates each video feed from my FaceTime group activity participants. I found the app Share+ in the App Store integrates the video from each FaceTime participant into it's own UI, so I know it's possible. Can anyone point me to the relevant documentation that shows me how I can get to the video of each FaceTime group member to put in my own AVSampleBufferDisplayLayer or otherwise?
Posted
by
Post not yet marked as solved
0 Replies
335 Views
I have a ipa, which was built with Adhoc profile. When I register a new device, but device can't install that ipa. I will have to create a new adhoc profile and rebuild again new ipa with new adhoc profile. And i will need repeat all steps when my teamate have a new devices.It's very annoying. To build a ipa need more time. Is there anyway to i only need register new devices and that devices can download my ipa which is existing(without rebuild)?
Posted
by
Post not yet marked as solved
1 Replies
489 Views
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
Posted
by
Post not yet marked as solved
1 Replies
445 Views
Hi Apple, please help! In MacOS Monterey betas 2-5, I was able to run GroupActivities on my Mac Catalyst app. When running my app with GroupActivities on MacOS Monterey beta 7, I get an error: "GroupActivities is not available when building for Mac Catalyst. Consider using #if !targetEnvironment(macCatalyst) to conditionally import this framework when building for iOS." No such module 'GroupActivities' Is SharePlay going to be available for Mac Catalyst in an upcoming beta?
Posted
by
Post marked as solved
9 Replies
2.2k Views
I have been testing my new SharePlay app for many weeks now just fine. Now with the unpleasant surprise that SharePlay is disabled in iOS 15 beta 6 and won't make the 15.0 release, I still want to continue testing my app, but I can't get the SharePlay Developer Profile to re-enabled SharePlay. I have iOS 15 beta 6 on both devices, the new SharePlay Developer Profile installed, and rebooted both devices, and isEligibleForGroupActivities is never true even when on a FaceTime call. So it appears that SharePlay is still disabled even with the profile installed on both devices. Has anyone gotten the new SharePlay Developer Profile to work as intended? Do we need a new Xcode version to get it working again? There hasn't been an Xcode 13 beta 6 released yet so that's the only thing I can think of that might be missing.
Posted
by
Post not yet marked as solved
0 Replies
533 Views
Update Error BigSur Beta > Finding available software Downloading macOS Big Sur 11.5 Beta 2 Password: Downloading: 100.00% Failed to download & prepare update: Error Domain=SUMacControllerError Code=7721 "[SUMacControllerErrorPreflightWakeupFailed=7721] Failed to perform PreflightWakeup operation: [MobileSoftwareUpdateErrorDomain(MSU):819]" UserInfo={NSUnderlyingError=0x127908c80 {Error Domain=MobileSoftwareUpdateErrorDomain Code=819 "softwareupdated relaunch needed to load new brain" UserInfo={NSDebugDescription=softwareupdated relaunch needed to load new brain}}, SUMacControllerErrorIndicationsMask=0, NSDebugDescription=[SUMacControllerErrorPreflightWakeupFailed=7721] Failed to perform PreflightWakeup operation: [MobileSoftwareUpdateErrorDomain(MSU):819], NSLocalizedDescription=Failed to launch the software update installer. Please try again.} https://store-028.blobstore.apple.com/v01/FR/0433/8681/0000/16782909/sysdiagnose_2021.06.06_15-45-23%2B0000_macOS_MacBookAir10-1_20G5023d.tar.gz?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=MKIA0879Y5FEZQ0RYD6Z%2F20210608%2Fstore-028%2Fs3%2Faws4_request&X-Amz-Date=20210608T164714Z&X-Amz-Expires=15&X-Amz-SignedHeaders=host&X-Amz-Signature=70a6152d9b55d98b7e487329fa2813a95770fe8dd489cea7a7e0aed32a838bb1 24/12HR , >> DAY WEEK YEAR . WEEK DAY YEAR << US & EU ,,
Posted
by