我在我的应用程序中声明了一个url方案,smstest所以在Safari中我可以在搜索栏中写入smstest:my-test或者smstest://my-test我的应用程序是打开的.
我正在尝试通过短信文本实现相同的功能,以便消息应用程序可以格式化smstest:my-test或smstest://my-test作为链接,用户可以点击它并调用我的应用程序.但是文本没有格式化为链接.
是否可能或从SMS打开应用程序的唯一解决方案是指向带有脚本的Internet页面?
谢谢.
编辑:有趣的是,我已经安装了IMO Messenger,我收到了一个带有代码作为URL方案的短信,并由Messages app作为链接解析.为什么我的应用程序没有发生?我尝试了几条消息,在url之前和之后都有空格,没有任何反应.
Vla*_*pko 19
通常,有一种使用url方案从Messages应用程序打开应用程序的标准方法:
一切顺利.但是,当它不起作用并且你认为源代码是错误的时候,它可能是一个有趣的案例.但事实并非如此.让我们试着调查一下这个案例:
在添加url方案和安装应用程序之前发送短信.正如预期的那样,消息将显示为纯文本:

现在让我们将url方案添加到info.plist:

最后安装应用程序并发送/接收相同的短信:
如您所见,上一条消息显示为链接,如果点击它,iOS将打开我的应用程序.但是第一条消息仍然显示为纯文本,并且不可点击.消息app的逻辑似乎是以这种方式实现的.
现在让我们从iPhone删除应用程序并再次发送相同的短信:

现在它再次显示为纯文本,但第二条消息 - 作为链接.如果我点击它,iOS什么都不做,并打开消息应用程序.
结论:确保在安装支持您的方案的应用程序后发送/接收SMS.只有在这种情况下,它才会显示为链接,用户可以通过点击它来打开您的应用程序.
注意:我还发现一个案例,当安装应用程序时没有支持url方案,然后当我添加此支持消息时,显示为纯文本但不显示为链接.我无法重现它.但如果上述步骤无法解决您的问题,请尝试:
编辑:
我刚刚尝试了一个在sms主体上发送我的url方案的应用程序,并且工作了。它必须具有这种格式smstest://my-test
收到短信后,必须先安装该应用程序,并在info.plist上声明url方案。
我添加了通过不同的URL方案接收到的SMS的屏幕截图,所有这些方案均被iPhone SMS应用程序识别

如果仍然无法正常运行,请尝试实施并使它们返回 YES
application: handleOpenURL: 和 application: openURL:sourceApplication: annotation:
- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url
{
return YES;
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return YES;
}
Run Code Online (Sandbox Code Playgroud)
这个旧答案是针对您在评论中要求的JS重定向的。
如果未安装应用程序,我会使用它来从Web重定向到应用程序,并回退到iTunes网址
var now = new Date().valueOf();
setTimeout(function () {
if (new Date().valueOf() - now > 100) return;
window.location = "http://itunes.apple.com/yourappurl";
}, 25);
window.location = "smstest://my-test";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12349 次 |
| 最近记录: |