Visual Studio MacOS-iOS应用签名,设置和TeamID-MSAL身份验证

问题描述

我在Windows机器上的Xamarin中开发了一个完整的应用程序,并且android版本运行得很好。我现在正在尝试为iOS(为此专门购买了2020 Mac mini)构建此应用程序,而我却遇到了一次麻烦。

[序言]-可跳过。
首先,我必须购买Mac,然后必须付费才能加入开发人员计划并获得团队ID,然后我必须重新安装Visual Studio 3次,因为它在我尝试执行的任何项目中始终给我“未知令牌g”创建或打开。然后由于缺少用于小型身份验证的团队ID而导致我的应用无法运行,因此我尝试设置资源调配,但没有设备,却掉进了兔子洞,然后清除了所有工作重新开始。

[问题]
我现在所处的位置是,当我尝试打开应用程序时,它会到达起始页面登录页面),然后引发错误。不幸的是,它不是像在弹出的除法模拟器屏幕上那样可复制/粘贴,而是基本的GIST。

Xamarin.ios.4.22.0.0.MsalClientException
cannot_access_publisher_keychain Microsoft.Identity.Client.MsalClientException
The application cannot access the iOS keychain for the application publisher (TeamId is null). This is needed to enable SingleSignOn between applications of the same publisher

然后继续为我提供身份客户端令牌缓存访问器,platformoproxy等的长堆栈跟踪。

注意事项:
我正在使用azure托管Web服务。
还使用azure B2C来保护服务(因此需要登录)。
这正在android项目上工作,所以我的键是正确的。
是的,我已使用Apple ID登录到Visual Studio
是的,我有一个可以在线上和在钥匙串证书中使用的teamID。
为了解决这个问题,我可能创建了多个证书。...不知道这可能是一个问题吗?
我没有iOS设备,因此无法设置配置文件并使用自动配置-我只想通过模拟器运行它。
我的证书是苹果开发的。
我的info.plist具有我的捆绑包标识符(com.myappname.myapp)。
我的权利包含带有$(AppIdentifierPrefix).com.microsoft.adalcache

的钥匙串访问组

如何以及在何处添加团队ID,以便我可以运行模拟器并使用iOS登录我的应用?这是格式错误错误,与我的团队ID或appidentifierprefix没有关系,还有其他问题吗?还是我错过了什么?我整天都在搜索,并尝试登录Xcode并在那里链接我的配置文件,设置证书的不同方法,不同的plist值,配置(失败-要么因为我没有配置文件,要么不允许我自动配置,因为我没有分歧,或者如果我将其设置为手动,它只是说找不到个人资料)

我很茫然。

我是一个安卓系统的人,总是避免使用Mac-但是我必须构建iOS版本,我完全不知道苹果在这里想要我提供什么

修改

值得一提的是,我之后添加了以下内容-仍然没有运气。

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>msauthv2</string>
    <string>msauthv3</string>
</array>

// And under my CFBundleURLSchemes
<string>msauth.com.myapp.app</string>


也值得注意

然后打开项目设置,然后在iOS Bundle Signing中选择 “自定义权利”属性中的Entitlements.plist。

也这样做了...但是我第二次添加,我得到了:

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.Shared.targets(3,3): Error: Could not find any available provisioning profiles for MyApp.iOS on iOS.
         (MyApp.iOS)

因此,我会全面提及个人资料问题。
不知道我的权利是否有问题?

更多信息

我已经进行过三重检查https://github.com/Azure-Samples/active-directory-b2c-xamarin-native/tree/master/UserDetailsClient/UserDetailsClient.iOS

我以前的设置为CFBundleUrlName使用了不同的名称,这只是教程“ ADB2C Auth”中的随机名称,并且正在android上运行,但是上面的链接已将其设置为包名称,因此我尝试了这一点(都添加了新的阵列,并替换现有的),同样的问题-没有链接权利,我得到auth msal错误-链接了权利,我什至无法生成获取配置文件错误

我还不断收到许多人在最新的OS / Xcode下报告的Spotlight崩溃错误

我真的不知道我在这里做错了什么...我觉得我已经尝试了一切。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)