是否可以使用 Android 应用程序链接,例如https://
:https://my-app.com/callback
在 OAuth2 流程结束时从 Android WebView 重定向回我的应用程序?我知道正常的深层链接如何工作,例如com.my-app://
或my-app://
可用于重定向回我的应用程序。根据我的理解,WebView 不知道如何处理此类协议,将请求传递给操作系统,然后操作系统将请求传递给我的应用程序,如果AndroidManifest.xml
.
这可以通过方案来完成吗https://
?或者重定向始终会被 WebView 捕获,并且无法重定向回我的应用程序?
指定我想要通过步骤实现的目标:
AndroidManifest.xml
来处理应用程序链接,例如:<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" android:host="my-app.com/callback" />
<data android:scheme="https" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
assetlinks.json
提供了有效的https://my-app.com/.well-known/assetlinks.json
(此时,IntentFilterIntent
日志显示 JSON 验证成功,我可以使用类似命令从终端打开应用程序npx uri-scheme open https://my-app.com/callback
)CustomTabsIntent.launchUrl
我的应用程序通过使用如下 URL启动来启动 OAuth2 流程:https://accounts.google.com/o/oauth2/v2/auth?
scope=email%20profile&
response_type=code&
state=state&
redirect_uri=https://my-app.com/callback&
client_id=client_id
Run Code Online (Sandbox Code Playgroud)
完成这些步骤后,我希望我的应用程序在成功登录后打开,因为它是 URL 的有效处理程序,并且不希望卡在浏览器中。这可能吗,或者请求永远不会从浏览器转发到操作系统,因为浏览器是该https://
方案的有效处理程序?
如果上述不可能,是否有办法从 WebView 导航回应用程序,提供 …
当我尝试构建 iOS 存档时,我在 Github CI 上收到以下警告:
ld: warning: ignoring file ios/myframework.xcframework/ios-arm64/myframework.framework/myframework, building for iOS-arm64 but attempting to link with file built for unknown-unsupported file format ( 0x76 0x65 0x72 0x73 0x69 0x6F 0x6E 0x20 0x68 0x74 0x74 0x70 0x73 0x3A 0x2F 0x2F )
Run Code Online (Sandbox Code Playgroud)
然后这个错误随之而来:
Undefined symbols for architecture arm64:
Run Code Online (Sandbox Code Playgroud)
现在令人困惑的是,这个错误可能由于多种原因而发生,就我而言,它不是我在网上找到的任何原因。
android ×1
applinks ×1
arm64 ×1
deep-linking ×1
github-ci ×1
ios ×1
oauth-2.0 ×1
react-native ×1
xcode ×1