天道酬勤,学无止境

带有通配符的 iOS 关联域(通用链接)不起作用(iOS Associated Domains (Universal Links) with Wildcards not working)

问题

在我正在开发的 iOS 应用程序中,我设置了关联域(通用链接)。 该应用程序托管多个域。 我使用通配符设置了一些域。 这些域似乎不起作用。 例如,我想链接到https://news.mydomain.com/ 。 如果我将以下内容添加到关联域列表中:

applinks:*.mydomain.com -> 不起作用

applinks:news.mydomain.com -> 工作正常

所以我相信我的设置完全正确,apple-app-site-association 文件设置得很好。 我什至可以看到在这两种情况下(使用 Charles Proxy)apple-app-site-association 文件都可以正常检索。

对于通配符,链接只能在 Safari 中打开。

当我在没有通配符的情况下配置域时,应用程序将打开。

我在这里错过了什么吗? 我在设备上运行 iOS 9.3.2,我运行 Xcode 7.3.1,这是今天的最新版本。

回答1

我将我的发现添加到此线程:https://forums.developer.apple.com/thread/47315

简而言之,即使在 iOS 10 中,通配符设置似乎也要求apple-app-site-association文件由通配符的根提供。

例如,如果你想使用*.domain.com ,那么apple-app-site-association需要同时托管,例如app1.domain.comdomain.com ,否则它不会简单地使用在 Xcode 中指定applinks:*.domain.com

如果您的主站点托管在www.domain.com ,并且您在domain.com上有 301 重定向(将您重定向到www.domain.com ),这将是不幸的,因为通用链接不允许重定向。

我发现的解决方法是为您的应用创建一个主子域,并为通配符使用子子域。 例如

  • app.domain.com (必须提供apple-app-site-association文件)
  • server1.app.domain.com (必须为apple-app-site-association
  • server2.app.domain.com (...)

这样,在 Xcode 中,您只能指定applinks:*.app.domain.com并且通用链接将起作用,而无需指定server1.app.domain.comserver2.app.domain.com等等。 . 在 Xcode 中。

但是请注意,如果您计划将该服务器与您的应用程序一起使用,您还必须明确指定applinks:app.domain.com

我希望这有帮助。

回答2

看来,在加入该域部分通配符applinks只被中介绍iOS 9.3 Beta 2 。 在 9.3 Beta 2 发行说明中:

您现在可以使用具有任意子域的通用链接,而无需将应用程序的所有子域列为完全限定域名。 条目具有以下形式:

:[:port number] 其中是“webcredentials”、“activitycontinuation”或“applinks”。

条目的部分现在可以选择以“*”为前缀。 表示通配符子域。 例如:

应用链接:*.example.com

你说你在iOS 9.3.2上运行。 但是您的deployment target >= iOS 9.3吗? 如果不是:尝试更改它。 我认为它会解决你的问题。

在这里您可以找到此发行说明的副本(抱歉,我没有任何其他公开来源)

编辑:

即使 Apple Doc 说您可以在域上使用通配符,但他们似乎对此存在问题:

要匹配关联域的所有子域,您可以通过添加前缀来指定通配符 在特定域的开始之前(句号是必需的)。 域匹配基于 applinks 条目中最长的子字符串。 例如,如果您指定条目 applinks: .mywebsite.com 和 applinks:*.users.mywebsite.com,则域 emily.users.mywebsite.com 的匹配将针对较长的 *.users.mywebsite.com 条目执行。 请注意,由于星号后面的句点,*.mywebsite.com 的条目与 mywebsite.com 不匹配。 要同时为 *.mywebsite.com 和 mywebsite.com 启用匹配,您需要为每个条目提供单独的 applinks 条目。

回答3

我认为这是文档中的苹果错误。 我在 9.3.1 上遇到了同样的错误。 并且 9.3.2 工作正常。 很有趣的链接,关于签名问题,看Laurence Fan的评论

Apple 应该说 *.domain.com 在此链接中适用于 >= 9.3.2 支持通用链接

回答4

我在 2016 年 9 月尝试过这个,同时使用 iOS 9.3.5 和 iOS 10 测试版。 情况似乎没有改变:如果 applinks 只包含通配符域,通用链接仍然不起作用,即使文档表明这应该起作用。

回答5

Apple 在 AASA 文件中进行了更改以支持动态链接,请更改并在关联域中添加:webcredentials:dev.rlogical.com

{
  "applinks": {
      "details": [
           {
             "appIDs": [ "ABCDE12345.com.example.app", "ABCDE12345.com.example.app2" ],
             "components": [
               {
                  "#": "no_universal_links",
                  "exclude": true,
                  "comment": "Matches any URL whose fragment equals no_universal_links and instructs the system not to open it as a universal link"
               },
               {
                  "/": "/buy/*",
                  "comment": "Matches any URL whose path starts with /buy/"
               },
               {
                  "/": "/help/website/*",
                  "exclude": true,
                  "comment": "Matches any URL whose path starts with /help/website/ and instructs the system not to open it as a universal link"
               },
               {
                  "/": "/help/*",
                  "?": { "articleNumber": "????" },
                  "comment": "Matches any URL whose path starts with /help/ and which has a query item with name 'articleNumber' and a value of exactly 4 characters"
               }
             ]
           }
       ]
   },
   "webcredentials": {
      "apps": [ "ABCDE12345.com.example.app" ]
   },
    "appclips": {
        "apps": ["ABCED12345.com.example.MyApp.Clip"]
    }
}

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • Firebase动态链接无法打开应用iOS(Firebase dynamic link not opening the app iOS)
    问题 我已经在设备上本地开发并安装了iOS应用。 并在info.plist中将自定义方案设置为mydlink 将关联的域设置为applinks:<myapp>.app.goo.gl 在Firebase上创建的动态链接为: https://<myapp>.app.goo.gl/?link=http://<mysite.com>/&ibi=<app bundle id>&ius=mydlink&ifl=https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id%3D<app store id>%26mt%3D8&pt=<app store id> 当我打开或单击动态链接时,它会在“ App Store”应用程序中打开应用程序页面,尽管已安装但未打开应用程序本身。 我在这里想念什么? 回答1 如果您使用的是iOS 9,则将使用通用链接。 通用链接在许多情况下不起作用,例如: 如果您使用模拟器如果您尝试直接在设备上的safari中打开链接(将其键入浏览器中的address字段) 我花了很多时间尝试此操作,却无法使其以可靠的方式在模拟器上正常工作。 我最终要做的是通过电子邮件将链接发送给我,然后从收件箱中打开它。 然后它每次都能工作! 回答2 抱歉,您的回复很晚-希望您的问题已解决,这对其他可能遇到相同问题的人有所帮助
  • iOS通用链接未在应用内打开(iOS Universal Links are not opening in-app)
    问题 因此,我完全按照本教程进行操作,并使用与提供的值相同的值:https://blog.branch.io/how-to-setup-universal-links-to-deep-link-on-apple-ios-9 Apple Association文件也可以在链接目录中找到: WEB_PAGE:PORT_NUMBER/apple-app-site-association 一切似乎都在这一方面进行了设置。 我已经添加了权利,更新了配置文件,并进行了所有设置。 当我在设备上运行该应用程序并打开链接http://WEB_PAGE:PORT_NUMBER ,这始终会打开Safari。 我甚至在以下方法中都有断点: - (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray * __nullable restorableObjects))restorationHandler 但是zilch。 有人完善了吗? 有什么我想念的吗? 回答1 有一些可能的问题。 尝试将您的域粘贴到此链接验证器中,并确保没有问题:https://limitless-sierra-4673
  • 如何在iOS App和设置服务器中支持通用链接?(How to support Universal Links in iOS App and setup server for it?)
    问题 我如何在我的iOS应用程序中支持通用链接并设置服务器以支持通用链接? 回答1 支持通用链接 当您支持通用链接时,iOS 9用户可以点击指向您网站的链接,并无缝链接到您已安装的应用程序,而无需通过Safari。 如果未安装您的应用程序,请点击指向您网站的链接以在Safari中打开您的网站。 在这里,如何设置自己的服务器,以及如何处理应用程序中的相应链接。 设定伺服器 您需要使服务器在线运行。 为了将iOS应用与服务器安全关联,Apple要求您提供一个名为apple-app-site-association的配置文件。 这是一个描述域和支持的路由的JSON文件。 需要在https:// {domain} / apple-app-site-association上通过HTTPS访问apple-app-site-association文件,而无需任何重定向。 该文件如下所示: { "applinks": { "apps": [ ], "details": [ { "appID": "{app_prefix}.{app_identifier}", "paths": [ "/path/to/content", "/path/to/other/*", "NOT /path/to/exclude" ] }, { "appID": "TeamID.BundleID2", "paths": [
  • 企业应用程序部署在iOS 7.1上不起作用(Enterprise app deployment doesn't work on iOS 7.1)
    问题 我们通过企业帐户使用itms-services:// URL分发应用程序。 这一直很好,但是在我们的iPad上安装iOS 7.1 beta后,它拒绝安装。 取而代之的是,当下载应用程序时遇到任何问题时,iOS只会显示通用的Cannot connect to example.com消息,iOS Cannot connect to example.com无故显示此消息。 我一直无法在SO,Google或7.1版本说明中找到任何内容来建议可能引起此问题的原因。 回答1 我通过将iPad连接到计算机并在尝试安装该应用程序时通过XCode Organizer查看控制台发现了问题。 错误结果是: 无法加载非https清单URL:http://example.com/manifest.plist 事实证明,在iOS 7.1中, manifest.plist文件的URL必须为HTTPS,而我们使用的是HTTPS。 将URL更改为HTTPS解决了该问题。 IE itms-services://?action=download-manifest&url=http://example.com/manifest.plist 变成 itms-services://?action=download-manifest&url=https://example.com/manifest.plist
  • Xcode 6-如何为Ad-Hoc分发选择签名证书/设置配置文件?(Xcode 6 - How to pick signing certificate/provisioning profile for Ad-Hoc distribution?)
    问题 要将应用分发给我们的测试人员,我们使用Xcode,我们使用以下过程进行操作: 存档申请分发临时广告选择配置文件将.ipa保存到文件夹 但是使用Xcode 6时,此工作流程有所更改。 我仍然可以选择即席分发选项,但是无法选择所需的配置文件。 这使我们无法控制使用哪个签名证书和配置概要文件配置(我们使用推送通知)。 默认情况下,使用iPhone distribution签名身份,并生成某种XC Ad Hoc iPhone distribution配置文件,如下图所示: 如果单击预配配置文件附近的箭头,它将打开包含预配配置文件的文件夹。 所以我的问题是: Xcode 6中是否可以选择用于Ad Hoc分发的配置文件? 谢谢! 回答1 我遇到了同样的问题,使用命令行“ xcodebuild”工具脚本解决了该问题,该脚本已预装了Xcode 6(不需要重新安装Xcode 5)。 http://www.thecave.com/2014/09/16/using-xcodebuild-to-export-a-ipa-from-an-archive/ 终端中的脚本: xcodebuild -exportArchive -archivePath $projectname.xcarchive -exportPath $projectname -exportFormat ipa
  • Universal link 原理
    Universal link 原理 在安装某个app的时候,iOS系统会检查App bundle中的Info.plist文件。如果发现有associated domain字段,会读取**applinks**的地址,比如open.mycompany.com,然后系统会去该域名根目录下寻找一个名为***apple-app-site-association***的文件。如果有,那么下载到本地,然后解析这个文件。根据path建立与appid的映射关系,保存在系统的数据库中。如果有访问https://open.mycompany.com/path/ 的链接,系统会根据映射关系找到的appid,启动该app,实现universal link。 客户端和服务端的任务 根据上述原理,客户端的首要任务就是要告诉系统去哪个域名下找关联文件。这个在associated domain中设置。 剩下的就是在app delegate文件里写处理的方法了。 服务端的任务就是部署这个文件,文件位置可以随便放,但是访问的地址一定要是域名的根目录下。 关联文件的格式,可以参考几个链接: https://www.douban.com/apple-app-site-association https://open.cmbchina.com/apple-app-site-association 虽然是json格式的
  • Windows主机文件中的通配符(Wildcards in a Windows hosts file)
    问题 我想设置本地开发计算机,以便*.local所有请求都重定向到localhost 。 这个想法是,当我开发多个站点时,我可以将名为site1.local , site2.local等的虚拟主机添加到Apache,然后将它们全部解析为localhost ,而Apache相应地为另一个站点提供服务。 我在Windows XP上。 我尝试添加 127.0.0.1 *.local 到我的c:\windows\system32\drivers\etc\hosts文件中,也尝试过: 127.0.0.1 .local 两者似乎都不起作用。 我知道我可以在不同的端口号上设置它们,但是这很麻烦,因为很难记住哪个端口是哪个。 我不想设置本地DNS服务器或其他任何困难,有什么建议吗? 回答1 压克力DNS代理(免费,开放源代码)可以完成这项工作。 它使用自己的主机文件创建一个代理DNS服务器(在您自己的计算机上)。 hosts文件接受通配符。 从官方网站下载 http://mayakron.altervista.org/support/browse.php?path=Acrylic&name=Home 配置丙烯酸DNS代理 要配置Acrylic DNS代理,请从上面的链接安装它,然后转到: 开始程式丙烯酸DNS代理设定档编辑自定义主机文件(AcrylicHosts.txt) 在文件末尾添加以下几行:
  • iOS 上的通用链接与深层链接(URL 方案)(Universal links on iOS vs. deep links (URL schemes))
    问题 在我阅读时,iOS 9 引入了通用链接。 在 Apple 的 App Search Programming Guide 的“Support Universal Links”部分,它说这与使用 URL 方案的深层链接并不完全一样,但我对这个主题并不完全清楚: 通用链接和 URL 方案之间的实际区别是什么? 通用链接是否仅适用于网站、邮件或消息应用程序中的超链接? 通用链接会取代 URL 方案吗? 通用链接是一种深层链接吗? 回答1 TL,博士: 通用链接和 URL 方案之间的实际区别是什么? 通用链接是否仅适用于网站、邮件或消息应用程序中的超链接? 通用链接是 Apple 特定的、基于操作系统的 URL,它将网站 URL 与应用程序特定的 URI 方案和路由相关联。 它并非在所有应用程序中都可用 - 因为该应用程序必须支持该行为。 有一个很好的清单,说明 UL 当前的工作地点/方式(此处)。 UL 也有很多问题,我在最后概述了这些问题。 请参阅下面的长文。 通用链接会取代 URL 方案吗? 不。它们是 iOS Safari 上 URI Schemes 和路由的强制替代品。 你必须而且应该仍然支持你的应用程序的 URI 方案和路由,因为 Android 和 iOS Chrome 仍然使用这项技术,从归因到电子邮件的每一类主要链接供应商也是如此。 通用链接是一种深层链接吗? 是和
  • Scala笔记整理(八):类型参数(泛型)与隐士转换
    [TOC] 概述 类型参数是什么?类型参数其实就是Java中的泛型。大家对Java中的泛型应该有所了解,比如我们有List list = new ArrayList(),接着list.add(1),没问题,list.add("2"),然后我们list.get(1) == 2,对不对?肯定不对了,list.get(1)获取的其实是个String——"2",String——"2"怎么可能与一个Integer类型的2相等呢? 所以Java中提出了泛型的概念,其实也就是类型参数的概念,此时可以用泛型创建List,List list = new ArrayList[Integer](),那么,此时list.add(1)没问题,而list.add("2")呢?就不行了,因为类型泛型会限制传入的参数,只能往集合中list添加Integer类型,这样就避免了上述的数值的问题。 Scala中的类型参数和Java的泛型是一样的,也是定义一种类型参数。 最后,Scala类型参数也是Spark源码中非常常见的,因此同样必须掌握,才能看懂spark源码。 泛型类 Java 或 C++ 一样,类和特质可以带类型参数。在Scala中,我们用方括号类定义类型参数 class Student[T, S](val first: T, val second: S) 以上将定义一个带有2个类型参数T和S的类。在类的定义中
  • 具有自定义网址方案的iOS 9野生动物园iframe src无法正常工作(iOS 9 safari iframe src with custom url scheme not working)
    问题 我使用此解决方案https://gist.github.com/davidwkeith/2662899从网页重定向到我的应用程序(如果已安装应用程序)。 但它不适用于iOS9。它仍适用于Google-chrome。 但是具有自定义URL方案的iframe无法从Safari启动该应用程序。 如果我更换 document.getElementById('loader').src = 'custom-protocol://my-app' (其中加载程序为iframe)与 window.location = 'custom-protocol://my-app' 它会工作。 操作系统:iOS 9 beta4和beta5 有人知道这个问题吗? 是iOS 9 Beta错误吗? 还是不会解决? 回答1 先前的答案是通用链接的部分实现,该实现缺少关键细节,并且不包括对App Store的回退。 首先,您无法再设置iframe src来触发URI方案。 您已正确识别该问题。 如您所述,您仍然可以设置window.location = 'custom-protocol://my-app'; 。 因此,如果您知道某个用户拥有您的应用程序是因为您之前已经从浏览器打开了该应用程序,并且存储了可以在后端查询的cookie,那么您仍然可以安全地触发custom-protocol:// 。 其次
  • Branch 深层链接打不开申请(Branch Deep link not opening application)
    问题 我一直在尝试(失败)使用 Branch 来实现到我们的 iOS 应用程序的深度链接。 分支 URL 直接重定向到 App Store,从不尝试打开应用程序。 我肯定错过了什么。 我所做的: 包括科SDK(的CocoaPods)新增branch_key应用的plist 将 URL Scheme 添加到应用程序 plist 中的 URL 类型在开发者控制台中的项目和 App ID 中启用Associated Domains 。 确保权利文件包含在构建中。 在 AppDelegate 中注册的深层链接处理程序 仪表板:设置 -> 链接设置: 选中“始终尝试打开应用程序” “IOS URI Scheme”设置为应用程序的自定义 URI 方案。 选中“启用通用链接”。 Bundle Identifier & Apple App Prefix 都设置正确。 在 Branch Dashboard 中的“Marketing”选项卡下,我创建了一个链接。 我正在通过电子邮件将此链接发送给自己并在设备 (Mail.app) 上打开它。 Safari 会打开,然后 App Store 也会打开,就好像应用程序没有安装一样。 application:openURL:sourceApplication:annotation和application:continueUserActivity
  • 想要在Rails中查找没有关联记录的记录(Want to find records with no associated records in Rails)
    问题 考虑一个简单的关联... class Person has_many :friends end class Friend belongs_to :person end 在Arel和/或meta_where中,让所有没有朋友的人最干净的方法是什么? 然后has_many:through版本呢? class Person has_many :contacts has_many :friends, :through => :contacts, :uniq => true end class Friend has_many :contacts has_many :people, :through => :contacts, :uniq => true end class Contact belongs_to :friend belongs_to :person end 我真的不想使用counter_cache-从我所读的内容来看,它不适用于has_many:through 我不想拉所有的person.friends记录并在Ruby中遍历它们-我想要一个可以与meta_search gem一起使用的查询/范围 我不在乎查询的性能成本 与实际SQL距离越远越好... 回答1 这仍然非常接近SQL,但是在第一种情况下,它应该使每个人都没有朋友: Person.where('id NOT
  • Apple Store 提交失败并显示错误 ITMS-90046,但关联域不在权利范围内(Apple Store submit fails with Error ITMS-90046, but Associated Domains is not among entitlements)
    问题 当我第一次构建我的应用程序和 Watchkit 应用程序时,我启用了“关联域”功能。 我已在 watchkit 扩展程序和配套应用程序的“功能”面板中禁用它,并确认密钥已从每个 info.plist 消失。 我已经转到 Apple 的“证书、标识符和配置文件”页面,为每个 Watchkit 应用程序、扩展程序和应用程序选择了应用程序 ID,取消选中“关联域”,为每个重新生成配置文件,下载并安装它们。 我已经完成了 Ctrl-Shift-Command-K 完全清理、重新启动和重建。 在向 appstore 提交时,我收到以下错误消息。 我在 xcode 中进行了项目搜索,但找不到 com.apple.developer.related-domains 键。 我搜索了构建目录,nada。 我不相信这个键实际上存在于我的代码中,但 iTunesConnect 似乎认为它存在并设置为“*”。 回答1 要解决此问题: 登录 Apple 开发者中心转到证书、标识符和配置文件。 转到标识符/应用程序 ID。 选择您的 App ID 并编辑取消选中关联域保存 您必须重新生成与 App ID 关联的所有配置文件。 出于某种原因,我的应用程序检查了“关联域”。 取消选择它使 AppStore 提交工作。 回答2 我认为这是一个错误。 我通过简单地在配套应用程序和 Watchkit 扩展的
  • 在PhoneGap + jQuery Mobile中使用Ajax的CORS在设备上不起作用,但在浏览器上(CORS using ajax within PhoneGap+jQuery Mobile not working on device but is on browsers)
    问题 因此,我正在使用Phone Gap和jQuery mobile构建应用程序。 当使用ajax从列入白名单的服务器获取json响应时,我得到一个错误响应。 但是,控制台中未显示任何内容。 奇怪的是,当在Web浏览器中测试该应用程序时,它运行良好,只有当我启动到iphone设备时,它才会抛出滑行。 现在值得一提的是,我托管我的php脚本的网站在Phone Gap中列为白色。 我在数组中使用*(以防万一这有所作为)。 我已经为此解决了一个jsonp变通办法,但不想使用它-我认为,如果它在浏览器中正常工作,则必须在设备上可行。 我希望这是一个简单的解决方案... 这是我简单的PHP脚本,仅回显一个json字符串。 <?php header('Access-Control-Allow-Origin: *'); $arr = array('a' => 1, 'b' => 2); echo json_encode($arr); ?> 这是JS $('#registerUser').submit(function() { $.ajax({ url: 'http://www.mydomain.co.uk/path/register/add_user.php', type: 'post', dataType: 'json', crossDomain : true, timeout: 5000
  • 基础篇:深入解析JAVA注解机制
    目录标题 java实现注解的底层原理和概念五种元注解详解使用动态代理机制处理注解spring.AOP和注解机制(题外)@FunctionalInterface原理介绍欢迎指正文中错误 关注公众号,一起交流参考文章 java实现注解的底层原理和概念 java注解是JDK1.5引入的一种注释机制,java语言的类、方法、变量、参数和包都可以被注解标注。和Javadoc不同,java注解可以通过反射获取标注内容在编译器生成.class文件时,注解可以被嵌入字节码中,而jvm也可以保留注解的内容,在运行时获取注解标注的内容信息java提供的注解可以分成两类: 作用在代码上的功能注解(部分): 注解名称功能描述@Override检查该方法是否是重写方法。如果发现其父类,或者是引用的接口中并没有该方法时,会报编译错误@Deprecated标记过时方法。如果使用该方法,会报编译警告@SuppressWarnings指示编译器去忽略注释解中声明的警告@FunctionalInterfacejava8支持,标识一个匿名函数或函数式接口 让给程序员开发自定义注解的元注解(和关键字@interface配合使用的注解) 元注解名称功能描述@Retention标识这个注释解怎么保存,是只在代码中,还是编入类文件中,或者是在运行时可以通过反射访问@Documented标识这些注解是否包含在用户文档中
  • 可以在iOS中处理您自己的http URL方案吗?(Possible to handle your own http URL schemes in iOS?)
    问题 iOS上的iTunes,App Store和YouTube明确注册了http:// ... URL方案以打开其应用程序。 任何人都可以做到这一点,而不仅仅是您自己的协议? 我想这样做的原因是我正在为节日制作应用程序。 我想“拦截”到网站上特定页面的链接,并启动该应用程序(如果已安装)。 到目前为止,我还没有很多运气 回答1 您可以对“ http://” URL(以及我认为Apple和Spotify所做的)执行此操作的方法是: 像其他答案一样注册一个自定义URL方案。 设置您的HTTP URL指向真实的网页。 如果在iOS上,则在该页面上放置一个脚本以重定向到您的自定义URL。 例如,以下示例页面将带您进入特定用户的Twitter应用程序或Twitter网站,具体取决于您是在网络上还是在iOS设备上: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Twitter</title> </head> <body> <script type="text/javascript"> var username = document.location.search.substr(1); document.location.replace( "standalone" in window.navigator ?
  • Google Maps JavaScript API RefererNotAllowedMapError(Google Maps JavaScript API RefererNotAllowedMapError)
    问题 我们正在尝试为我们的一位客户开发一款地理定位应用程序,我们希望首先在自己的域中对其进行测试。 我们已经签署了Google Maps JavaScript API,并且拥有有效的浏览器密钥,并且我们的域www.grupocamaleon.com已被授权使用该密钥。 但是,即使是最简单的示例,我们也无法毫无错误地运行。 在我们的领域并使用我们的密钥,我们有以下演示: (1)http://www.grupocamaleon.com/boceto/aerial-simple.html 但这不起作用,Firebug控制台说: “ Google Maps API错误:Google Maps API错误:RefererNotAllowedMapError(链接到RefererNotAllowedMapError的Google文档)您要授权的网站网址:(1)” 我的凭证页面缺少添加推荐人接受的可能性,因此涉及添加推荐人的解决方案目前无法实现。 我的凭证页面: 为什么会出现该错误? 我们该如何解决? 回答1 我知道这是一个已经存在多个答案的老问题,但是我遇到了同样的问题,对我来说,问题是我遵循console.developers.google.com上提供的示例,并以*.domain.tld/*格式输入了我的域*.domain.tld/* 。 这根本不起作用,我尝试向其中添加各种变体
  • 适用于Localhost的Googlemaps API密钥(Googlemaps API Key for Localhost)
    问题 如何获取Google Maps API密钥才能在localhost上使用? 我创建了一个API密钥,并在引荐来源网址下添加了以下内容: Accept requests from these HTTP referrers (websites) (Optional) Use asterisks for wildcards. If you leave this blank, requests will be accepted from any referrer. Be sure to add referrers before using this key in production. localhost 这不起作用,如果我排除了API密钥,它也不起作用。 回答1 转到此地址:https://console.developers.google.com/apis 创建新项目并创建凭据(API密钥) 点击“图书馆” 单击您想要的任何API 点击“启用” 点击“凭据”>“编辑密钥” 在“应用程序限制”下,选择“ HTTP引荐来源网址(网站)” 在“网站限制”下,点击“添加项目” 在文本字段中输入您的网站地址(或对于本地测试为“ localhost”,“ 127.0.0.1”,“ localhost:port”等),然后按Enter将其添加到列表中保存并在项目中使用密钥 回答2
  • 2021年最新整理的iOS面试题(附答案),各位跳槽面试的都来看看吧
    推荐阅读:关于iOS面试题汇总(栏目持续更新) 最近大家都要准备去面试或者已经在面试的,这里我给大家准备了挺多资料,可以私信我拿,看看了解下。底下就是我整理出来的一些面试题 iOS 类(class)和结构体(struct)有什么区别? Swift 中,类是引用类型,结构体是值类型。值类型在传递和赋值时将进行复制,而引用类型则只会使用引用对象的一个"指向"。所以他们两者之间的区别就是两个类型的区别。 举个简单的例子,代码如下 class Temperature { var value: Float = 37.0 } class Person { var temp: Temperature? func sick() { temp?.value = 41.0 } } let A = Person() let B = Person() let temp = Temperature() A.temp = temp B.temp = temp 有想要领取免费资料的可以进裙或者加好友领取,这里有一个iOS交流圈:891 488 181 可以来了解,分享BAT,阿里面试题、面试经验,讨论技术,裙里资料直接下载就行, 大家一起交流学习! 有想要的面试资料或者其他资料也可以找我,欢迎咨询!需要的可自行下载 A.sick() 上面这段代码,由于 Temperature 是 class ,为引用类型,故
  • Xamarin iOS 通用链接支持 Twitter 身份验证(Xamarin iOS Universal Links support for Twitter Auth)
    问题 所以,现在 9 月 25 日的 twitter 支持通用链接,这意味着当 UIWebView 点击 https://twitter.com/oauth/authorize?oauth_token 链接时,它会尝试打开一个 twitter 应用程序,如果它在那里,那么它会重定向我到带有身份验证错误的身份验证页面,所以我想知道如何在不卸载 Twitter 应用程序的情况下从代码中禁用它,或者如何在我的 xamarin ios 应用程序中启用通用链接身份验证? 有可能吗? (类似的问题,但对于本机:禁用 Twitter 通用深层链接) 回答1 除非 Twitter 删除/更新“https://www.twitter.com/apple-app-site-association”的应用程序部分以允许绕过或不在 apple-app-site-association 文件中的辅助 oauth 我不知道你会怎么做。 这些文件经过签名,iOS 在操作系统级别处理它们。 我没有过多地使用 continueUserActivity 委托和传递给从 UNI 链接启动的应用程序的 NSUserActivity 对象,但我没有看到启动的应用程序(即 Twitter)将控制权返回给原始应用程序的方法,并且在无论如何,oauth 调用链都会被破坏...... 独特。 与自定义 URL 方案不同