2017-07-26 70 views
10

我已經經歷了幾乎所有的通用鏈接問題,我可以找到並且還沒有任何運氣。記錄,這一切似乎通過Branch's validatoriOS 10.3通用鏈接不工作

我正在運行iOS 10.3並在https後面提供我的aasa文件,因此理論上我不需要簽名。

這裏就是我的立場:

當安裝了應用程序,拖尾Heroku的日誌我的臨時服務器給了我這樣的:

7-07-27T17:24:59.818724+00:00 heroku[router]: at=info method=GET path="/.well-known/apple-app-site-association" host=trueey-staging.herokuapp.com request_id=54b817e2-1d89-4c7a-9ed8-f52bdb3ad46e fwd="24.23.197.78" dyno=web.1 connect=1ms service=6ms status=200 bytes=618 protocol=https 
2017-07-27T17:24:59.812926+00:00 app[web.1]: Started GET "/.well-known/apple-app-site-association" for 24.23.197.78 at 2017-07-27 17:24:59 +0000 
2017-07-27T17:24:59.814845+00:00 app[web.1]: Processing by Web::AppSiteController#show as */* 
2017-07-27T17:24:59.815538+00:00 app[web.1]: Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms) 

1)我的權利:

applinks:trueey-staging.herokuapp.com 
applinks:https://trueey-staging.herokuapp.com 

是這些同樣的東西?也許,但讓我們雙降

2)我的蘋果應用程序站點關聯的文件,路由和Rails控制器,提供起來:

蘋果應用程序站點關聯(生活/public作爲apple-app-site ):

{ 
    "applinks": { 
     "apps": [ ], 
     "details": [ 
      { 
       "appID": "[Prefix].[AppId]",  
       "paths": [ "*", "/" ] 
      } 
     ] 
    } 
} 

路徑(S):

get "/apple-app-site-association", to: "web/app_site#show" 
    get "/.well-known/apple-app-site-association", to: "web/app_site#show" 

控制器:

module Web 

class AppSiteController < ApplicationController 
    def show 
     data = File.read("#{Rails.root}/public/apple-app-site") 
     render json: data 
    end 
end 

end 

3)在我的AppDelegate我已經實現了應用:continueUserActivity:恢復Handler:功能,它被設置爲做完全相同的事情時didFinishLaunchingWithOptions被稱爲(加上打印出來踢一噸====

AND YOU ...

什麼都沒有。在部署到分級後,我在手機上加載應用程序,通過我們的共享功能生成鏈接,將其保存爲便箋,然後單擊它以便在Safari中打開它。長按不做任何事情,沒有其他跡象表明Safari正在打開,而不是應用程序。設備日誌似乎沒有顯示任何問題,但也許我沒有尋找正確的東西?

Halp。

+0

您是否嘗試刪除並重新安裝你的應用程序?當應用程序在剛安裝 – donnywals

+0

@donnywals呀通用鏈接進行了註冊,幾乎每一個我在Xcode重建時間我卸載該應用程序在手機上...有更多的東西,我需要做什麼? –

回答

0

最終是什麼使它的工作增加了application-identifier權利,其值與AASA文件中的appID相似;我使用通配符$()作爲後綴,因此理論上它可以在各種部署環境中使用。不知道從哪裏是從何而來,或正在對蘋果的文檔的一部分做什麼推定,但是...該應用從鏈接打開,現在!

0

我認爲以下可以幫助你。

1)applinks:trueey-staging.herokuapp.com在相關領域

2)儘量在https://trueey-staging.herokuapp.com/apple-app-site-association您的JSON改變

{"applinks":{"apps":[],"details":[{"appID":"SSHENFP95X.com.markmywordsllc.trueey-staging","paths":["*"]}]}} 

3)蘋果需要時間來註冊新的通用連接。

完成這些步驟後嘗試打開其他應用https://trueey-staging.herokuapp.com,它應該打開應用

+0

哈,我AASA實際上是「SSHENFP95X.com.markmywordsllc.trueey分期」,我只是編輯就在這裏隱私的目的呢?但是,當然,任何人都可以訪問網址並查看ID,嘿。 –

1

看來,你的問題是在你的應用程序的實現不是你的服務器。

您需要在您的應用程序委託上實現application:continueUserActivity:restorationHandler:函數。

你可以閱讀更多關於它here,我猜你已經訪問過,但要密切關注「準備您的應用程序以處理通用鏈接」部分,具體如下:

後您指定的相關領域,採用用於切換的 UIApplicationDelegate方法(具體 應用:continueUserActivity:restorationHandler :)讓你的應用程序 可以收到一個鏈接,並妥善處理這個問題。

當iOS在用戶點擊通用鏈接後啓動您的應用程序時,您將收到一個NSUserActivity對象,其activityType值爲 NSUserActivityTypeBrowsingWeb。活動對象的網頁URL 屬性包含用戶正在訪問的URL。該網頁的網址 屬性總是包含HTTP或HTTPS URL,並且可以使用 NSURLComponents API來操縱URL的組成部分。

+0

請注意我的問題中的第3點 - 應用程序委託設置爲處理傳入的請求,並執行正常的didFinishLaunching流程將處理的內容,也就是說只是將應用程序打開到第一頁。 我打算最終做更多的專業化的東西,但現在我只想讓它啓動...而且不是!我有continueUserActivity的打印語句和斷點,並且它們沒有被激活。 –

+0

我注意到了第3點,這就是我對這個解決方案的看法。它表明你沒有實現所需的功能。該應用程序不會啓動,除非你會實現它,請嘗試添加它只是一個打印線來測試它,並返回結果,祝你好運! –

+0

這就是我所說的 - '繼續userActivity'被實現,並且正在做'didFinishLaunching'正在做的事情,所以它應該只是打開應用程序到第一頁 - 但沒有。 –