アップル(アップルNotarizition)メカニズムの一部公証概要

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/ftpleopard/article/details/102721138

  Appleは、ユーザーが一般的にほとんど影響を及ぼさないMAC10.15後にシステムをアップグレードすることが、しばらくの間、忙しい開発者は、毎回Appleは新しいシステム開発者が遊んでいる作られ、これは悪い習慣の歴史です。

  これは、開始Notarizitionメカニズム、前回の協調設計を余儀なくされ、仕事、およびアップルのサーバにフォルダを送信するために公証されなければならないproductsign。そうでなければ、それは唯一のあなたが最初の(使用)ポップアップメニュー「オープン」のインストールもインストールまたは使用、および右を押すようにユーザーに要求することができ、「絶滅のおそれのは、」公証アプリなしで一日の一定期間は、これだけあなたの鼻、実行することはできませんと言います流れに沿って行きます。問題は、国内のブログやフォーラムは、詳細なレイダース(もOKがあり、私は検索しない場合があります)されていないことです。

  ナンセンスは十分で十分です、そして今話題に言います。

  もちろん、単に古いに基づいていない協調設計、なくなっている、といくつかのパラメータを追加することであり、私は例を与える、読者が比較するには:

sudo codesign -f -o runtime --entitlements {path}/app.entitlements --timestamp --deep -s "Developer ID Application: xxx" -i "com.xxx.abc" "{path}/abc.app" 

プロジェクトファイル環境(オープン焼入れランタイム強いラン)でエンタイトルメント内部構成は、省略することができる場合は、「--entitlements {パス} /app.entitlements」

  そのような署名は、任意の問題が見つからない協調設計-vvのxxx.appと、アプリが使用することも可能です。spctl -a -v xxx.appで、私は問題が何であるかを見ることができません。そして、同じことをする前に(実際には、後、私たちはそれは同じではありません学びました)

  特に私は詳しく、少しトラブルが、難しいことではありませんしませんが、PKGBUILD + PKGファイルにパッケージ化さproductbuildが続きます。

  再び、それはproductsign署名PKGを使用することです。

productsign --sign "Developer ID Installer: xxx" "from-pkg.pkg" "to-pkg.pkg"

これまでのところ、この遺産はまた、あまり違いを果たしています。ここでNotarizitionメカニズムについて話をします。

1.すでに署名PKGは、Appleに公証送られます。

xcrun altool --notarize-app --primary-bundle-id "com.xxx.abc" --username "my apple id" --password "app-password" --asc-provider "ProviderShortname" -t osx --file $Base_Path/Output/abc.pkg &> $Base_Path/abc.txt

--primaryバンドル-idはバンドルIDの独自アプリを踏襲し、-uまたは;-pまたは--password以下のApple IDに続く--usernameは、2段階の認証メカニズムを起動するためのAppleの要件どのように見えるかに注意を払うように、ここで、ユーザーのパスワードですアプリのパスワードの後で取得します。(つまり、より多くの携帯電話のみを使用して確認コードを受け取るよりも)、その後、あなたが作成アプリのパスワードを見ることができるの内側に二段階認証ユーザーのセキュリティを有効にするために、appleid.apple.comをログに記録され、右、このパスワードは、本物への暴露を避けますパスワード。3番目の引数は、コマンドラインを使用し、プロバイダです。

xcrun altool --list-providers -u "my apple id" -p "app password"

このように照会:

#ProviderName                   ProviderShortname           WWDRTeamID 
#------------------------------ --------------------------- ---------- 
#abc TECHNOLOGY LIMITED         abcTECHNOLOGYLIMITED        DD12345678 

ここでは、プロバイダは、私はアプリのホルダーではないですので、グループの下に会社のメンバーで使用しているので、「--asc・プロバイダ・グループの省略形」を使用し、他のパラメータがあり、同じ機能、自己検索を実現することができます。; -Tまたは--typeそれを実行しているターゲットプラットフォームであるべきである。-fまたはPKG経路の背後--fileに従います。これらのコマンドは、すべて使用することができます

xcrun altool -h

照会。最後に、ログまたはUUIDを印刷するには「&> abc.txt」に従います。一般的には、その後、静かにそれを待つ、0バイトを参照してください。

一般的には成功した公証人の後、コンテンツabc.txtは次のようになります。

No errors uploading 'xxx.pkg'.
RequestUUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

他の例が間違っている可能性があり、私は昨日は-tscプロバイダ「チーム名」、私はグループ内ではなかったが表示されますログを使用覚えています。ゆっくりと分析、その後、ログをプリントアウトする必要があります。

公証人の採択以来、その後、対応する法案は、ミックスに追加します。

#添加票据
xcrun stapler staple abc.pkg
#查询结果(这里可以看到,苹果系统会下载一个xxx.ticket的文件到临时文件,然后。。。)
xcrun stapler staple -v  abc.pkg

この時点で、pkgの公証人を完了し、実際には、アプリ内で、あまりにもPKGは公証完成しました。再入力します

spctl -a -v abc.app
#打印的结果是:
/xxx/abc.app: accepted
source=Notarized Developer ID

#如果没公证的话,应该显示这样的:
/xxx/abc.app: accepted
source=Developer ID

PKGの問い合わせがあります。

spctl -a -v --type install abc.pkg 
#公证后的
/xxx/abc.pkg: accepted
source=Notarized Developer ID

#没公证的
/xxx/abc.pkg: rejected
source=Unnotarized Developer ID

要約すると:

協調設計アプリ - > productsign PKG - >追加>リンゴのサーバーに送信&uuid-を取得するチケット

また、私は怠け者になりたい、この作物をキャプチャすることを忘れないでください、と見に転送します。

おすすめ

転載: blog.csdn.net/ftpleopard/article/details/102721138
おすすめ