Post not yet marked as solved
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
Post not yet marked as solved
I have an Iphone XR, my brother has an Iphone 11, Both upgraded to iOS 15, We do not have the option when we are in a facetime call to share screen. We are in Dominican Republic, are we blocked to this feature?
Post not yet marked as solved
the button for SharePlay on FaceTime is not there.
my phone is updated to the iOS 15 beta version
Apple please help. The iOS/iPadOS 15 RC disables shareplay. MacOS Beta 6 was never able to run shareplay. Downloading a SharePlay profile has been removed from developer.apple.com. Please instruct what to do.
How do we re-enable Share Play in iOS 15 RC? It is gone again.
Post not yet marked as solved
I am attempting to support SharePlay for live video in my app. I am calling playbackCoordinator.coordinateWithSession(_:) on my AVPlayer instance with a successfully joined session and both video playback and playback controls are not syncing across devices.
I have installed the SharePlay developer profile on both devices. I verified that I am receiving and joining session objects on all devices and passing it along to the player’s playback coordinator. All session states and activity events are successfully being sent & received; however, playback and playback controls are still not syncing across the devices.
Are there any other criteria for playback coordination that I could be missing? Perhaps something I should not be doing with regards to the player? Does SharePlay not work for live video?
Post not yet marked as solved
How to handle ads which are dynamically inserted with inconsistent length, it will cause stream out of sync.
I have the iOS 14 beta 7 and the SharePlay development profile installed on two devices, however whenever I'm on a FaceTime call with them, GroupStateObserver().isEligibleForGroupSession returns false in the app that I am attempting to start a group activity in.
Has anyone been able to successfully get SharePlay working using this configuration, which should supposedly work according to https://developer.apple.com/forums/thread/688155?
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.
My assumption is that Shareplay will continue to work for devices with the "Shareplay Development Profile" installed.
We appreciate how many teams have been hard at work building SharePlay experiences and to ensure there is no interruption in your development, we have provided a SharePlay Development Profile which will enable successful creation and reception of GroupSessions via the Group Activities API.
I have:
Installed Shareplay Development Profile on devices
Remove the Capability for Group Activities from app Capabilities. I can't submit build to App Store Connect with this.
However isEligableForGroupSession now always returns false and I am unable to start Group Activities.
Has anyone got their Shareplay back up and running since the latest Betas?
Running Xcode beta 5 & iOS Beta 6 on 2 Shareplay devices.
Post not yet marked as solved
IOS 15 Beta 6 has disabled SharePlay. According to emails sent out, installing the SharePlay Developer Profile should reenable SharePlay for development.
This does not work for me, after installing the Profile on two Beta 6 devices and restarting them, our app ever gets isEligibleForGroupSession == true, although there is an active FaceTime call running. Even if I ignore this and try to run activate() on the GroupActivity, I get an error message saying it can't activate as there are no sessions.
This all worked with beta 5 in our .generic GroupActivity app. Is this working for anyone? If yes what did you change when compared to beta 5? Have I missed something?
Post not yet marked as solved
Is there a working, sample code for GroupActivity API for all platforms?
Post not yet marked as solved
Hi
We are trying to implement Group watching feature with the help of Group Activities available in iOS 15 onwards
We can share the session across the user, and the proper content is launched in the Player. Now we need to coordinate the player activity. We are using custom video controls over AVPlayer and it seems by default calling the below line of code does not seems to be work.
player?.playbackCoordinator.coordinateWithSession(session)
Now we are stuck with coordinating player activity.
The example mentions default controls with AVPlayer, but in our case, we have custom video controls on top of AVPlayer.
https://developer.apple.com/videos/play/wwdc2021/10225/
So will the player automatically coordinate with the group session, or do we need to implement AVDelegatingPlaybackCoordinator for the same.
Please help!
Post not yet marked as solved
Will we be able to create the new iOS15 FaceTime links in our apps, so we can share them in-app with our users?
I've searched online and the closest thing I found was the old URL scheme that looks like this:
facetime://user@example.com
But you have to know the email address / phone number of the person to call. I know the new FaceTime links allow you to essentially "schedule" a FaceTime call with a unique identifier, so I was wondering if these links could be generated in our apps.
Post not yet marked as solved
When printing a GroupSession object I see that "locallyInitiated" is included in the print and I would like to update / prepare my UI based on the initiator of the Group Session. Can "locallyInitiated" be added as a property to the GroupSession object?
Post not yet marked as solved
I was hoping to add support for SharePlay, but my app is not Universal, because it is around 5 years old. The macOS and iOS versions have different bundle ids, and making a universal app would be a bag of hurt (loss of reviews, migrating data in sandboxed environments and lots more).
Am I correct that SharePlay will only work with a single bundle id? I was hoping by simply choosing the same activity type in each app they could connect, but I don't really see how it can given the activity type is hard coded, rather than configured in the Info.plist.
If this is the case, it seems like a lost opportunity, not only for "legacy" apps like ours, but also for anyone who might want to work between apps in an app group. Presumably rather than hard coding the activity type, it could have been registered as an Info.plist configuration or entitlement, allowing apps to partake with different bundle ids, the same way it works for iCloud for example.
Post not yet marked as solved
Hello All,
Currently I'm implementing GroupActivities for a production app. The question isn't about the implementation, rather it's about staying backward compatible.
The app's minimum target is iOS 13.0. The new features are implemented with appropriate @available checks so that there aren't any issues while compiling for iOS 13 & iOS 14.
When the app is run on a iOS 13.0 simulator though, it crashes during launch, stating:
dyld: Library not loaded: /usr/lib/swift/libswift_Concurrency.dylib
So I have added the libswift_Concurrency.tbd to be optionally linked to the main app target as seen in the screenshot. After this it seems to be working fine but I wanted to ask whether this is the right way to go in this particular situation or is there something else that needs to be done?
Thanks in advance for your time!
All the best,
Ferhat
Post not yet marked as solved
Would like to play with this example project shown on session wwdc21-10187
Is it possible to use and debug SharePlay through the iOS Simulator like with iMessage apps?