开发者社区 问答 正文

Twitter身份验证WebView正在自动关闭。Xamarin形式

Xamarin IOS问题;

嗨,我在TwitterApi上显示身份验证/登录视图有问题。但是,在我单击Rg.Popup上的一个按钮后显示的身份验证,它不允许同时显示两个模式,因此身份验证没有显示,所以我把这个代码放在这里,这样它将显示UINavigationController,身份验证现在显示,但自动关闭。

window = new UIWindow(UIScreen.MainScreen.Bounds);
                window.RootViewController = new UIViewController();
                window.MakeKeyWindow();
                window.MakeKeyAndVisible(); 


The runtime error are these:


 WF: _WebFilterIsActive returning: NO
Task <1FF5F626-AB30-4444-A021-E5F28A38CCEA>.<0> HTTP load failed, 0/0 bytes (error code: -999 [1:89])

展开
收起
游客5akardh5cojhg 2019-12-19 21:12:33 723 分享 版权
阿里云 AI 助理回答

遇到Xamarin.iOS中Twitter API身份验证视图显示的问题,以及自动关闭和HTTP加载失败的错误,这可能是由几个原因导致的。下面是一些建议来帮助你解决这个问题:

  1. 模式视图冲突:你已经意识到Rg.Popup不允许同时显示两个模式视图。确保在展示身份验证视图之前,已经正确地dismiss或hidden任何其他正在显示的模态视图。

  2. UI线程操作:确保所有与UI相关的操作都在主线程上执行。在Xamarin中,可以使用Device.BeginInvokeOnMainThread来确保代码在正确的线程上运行。

  3. WKWebView与App Transport Security (ATS):错误代码-999通常与网络请求被系统策略阻止有关,特别是在iOS 9及以后版本引入ATS后。检查你的应用是否正确配置了ATS或者为Twitter API请求添加了必要的ATS例外。在Info.plist中添加如下配置允许HTTP请求(注意,出于安全考虑,仅在必要时才这么做):

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>
  1. Twitter API的认证处理:确认你的OAuth认证流程正确无误。确保你正确获取了访问令牌,并且在发起请求时包含了必要的认证头信息。

  2. 日志和调试:增加详细的日志记录,特别是网络请求相关的日志,以便更好地理解问题所在。使用像Charles或Fiddler这样的代理工具可以帮助你捕获并分析网络请求和响应。

  3. 检查Twitter API变更:确认没有Twitter API的更新或变更影响到了你的实现。有时API提供商的更改会导致现有代码不再工作。

  4. 测试环境与生产环境:确认问题是否只出现在特定环境下(如模拟器或真机),并且检查是否有环境配置差异。

如果以上建议不能解决问题,可能需要更详细的代码审查或查看完整的错误日志来进一步诊断问题。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答地址: