iOS - Расширение загрузки трансляции - UserDidFinishSetup - передача параметров из приложения-контейнера - PullRequest
0 голосов
/ 28 мая 2020

Я разрабатываю приложение с использованием Broadcast Upload Extension - я хотел бы знать, как передавать параметры в BroadcastViewController, чтобы они могли передавать их в метод CompleteRequest ( userSetup параметр). Или я должен как-то сослаться на приложение-контейнер и получить оттуда параметры?

код из BroadcastViewController :

  public partial class BroadcastViewController : UIViewController
        {
            protected BroadcastViewController(IntPtr handle) : base(handle)
            {
                // Note: this .ctor should not contain any initialization logic.
            }

            public void UserDidFinishSetup()
            {
// NEED TO OBTAIN HERE PARAMETERS
                System.Diagnostics.Debug.WriteLine("ScreenShareExtensionUI: UserDidFinishSetup");
                // Broadcast url that will be returned to the application
                var broadcastURL = NSUrl.FromString("http://broadcastURL_example/stream1");

                // Service specific broadcast data example which will be supplied to the process extension during broadcast
                var keys = new[] { "channelName", "token", "appId" };
                var objects = new[] { "channelName", "token", "appId" };
                var setupInfo = NSDictionary.FromObjectsAndKeys(objects, keys);

1 Ответ

0 голосов
/ 02 июня 2020

Я решил проблему, используя возможности групп приложений. Это позволяет мне заполнить параметры в приложении-контейнере, а затем получить их в расширении следующим образом:

var plist = new NSUserDefaults("group.com.foo.ss", NSUserDefaultsType.SuiteName);
            var agoraApi = plist.StringForKey("agoraApi");
            var agoraRoomId = plist.DoubleForKey("agoraRoomId");
            var agoraToken = plist.StringForKey("agoraToken");
            var agoraUserId = plist.DoubleForKey("agoraUserId");
...