2016-11-22 59 views
0

我有一個Xamarin.Mac解決方案,它可以在Xamarin Studio中的Debug或Release版本中正確運行,但我正努力爲它創建一個工作安裝程序。Xamarin.Mac安裝程序不能正常工作

我想用直接配送(在App Store之外的),所以這是我用來創建安裝程序的過程:

在蘋果開發者門戶:

  • 創建「開發者ID」應用程序和安裝證書
  • 創建的應用程序ID的應用程式
  • 創建引用應用程序ID和所述 應用證書
  • 一個供應配置文件
  • 下載2個證書和提供的個人資料

在開發的Mac:

  • 雙擊的兩個證,並證實它們分別裝在鑰匙串訪問
  • 雙擊的配置文件並且驗證它是安裝在配置文件中的

在Xcod內E:

  • 開業首選項>帳戶,並下載了提供個人資料
  • 重啓動的Xcode的下載傳播到Xamarin工作室

在Xamarin演播室:

  • 配置的捆綁ID在info.plist(與App ID匹配)
  • 選擇發佈版本簽名標識,上述
  • 作爲創建選定的發佈版本的provisioning profile,上述
  • 選定發佈版本安裝身份創建的,上述
  • 重建於推出構建配置

溶液中的構建之後是作爲創建完成後,bin/Release文件夾包含我期望的所有內容,包括.pkg.app文件。

如果我雙擊.pkg文件,它看起來能夠正確執行安裝順序,但安裝的應用程序未在應用程序或啓動板中列出。此外,如果我從其bin/Release文件夾運行.app文件,它將正確執行,但如果我手動將其移至Applications文件夾,它將在啓動時崩潰。

在實用程序>系統信息>軟件>應用程序中,我可以看到該應用程序已安裝並且其源代碼是「已識別的開發人員」,因此這似乎證實簽名正常工作。

我困惑,爲什麼,如果它被正確安裝,我無法運行它。

對不起,我是很新的Mac和Xamarin.Mac,所以我不完全知道我應該會看到這裏,但我認爲它比我目前看到的。

任何線索請?

回答

1

可能發生,如果你能夠通過一個安裝包在本地,但無法運行應用程序,你正在運行到代碼簽名的問題。

如前所述here你可以嘗試在命令行中運行應用程序:

在命令行中運行應用程序,並通過在輸出端看(在 終端應用程序):MyApp.app/內容/ MacOS的/ MyApp的(其中 MyApp的是應用程序的名稱)

,看看你正在上推出簽署特定錯誤代碼。

如果是這樣,那麼也許是你的機器可能不是選擇的供應配置文件/證書。

+0

謝謝你 - 這是非常有益的。使用這種技術,我可以看到,從應用程序文件夾運行時,應用程序在啓動時崩潰的原因是因爲它無法找到其本地化資源DLL(我需要將其作爲單獨的問題進行調查)。但是,我仍然困惑爲什麼軟件包安裝程序不會嘗試將.app安裝到Applications文件夾中。 –

+0

有一個奇怪的安裝程序錯誤,如果您在應用程序包旁邊運行安裝程序,它不會安裝在/ Application文件夾中。嘗試將pkg移動到另一個位置,然後在XS中進行清理。也許這會有所幫助。它似乎是一個packagebuild bug fwict。 –

+0

再次感謝@Chris。我嘗試了你的最新建議,不幸的是它沒有任何區別。有什麼地方可以下載一個Xamarin.Mac示例項目,其中包含一個包裝工作示例?或者(因爲我猜你是Xamarin內部人員),你知道我在這個問題上可以得到怎樣的支持嗎?再次感謝。 –