<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: ..</title>
    <description>The latest articles on DEV Community by .. (@ajpagente).</description>
    <link>https://dev.to/ajpagente</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F725671%2Fb362e157-897d-4a62-b59a-aab54b56890e.jpg</url>
      <title>DEV Community: ..</title>
      <link>https://dev.to/ajpagente</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ajpagente"/>
    <language>en</language>
    <item>
      <title>Signing an xOS App for another Apple Developer Account</title>
      <dc:creator>..</dc:creator>
      <pubDate>Thu, 31 Mar 2022 02:59:31 +0000</pubDate>
      <link>https://dev.to/ajpagente/signing-an-app-for-another-developer-account-p17</link>
      <guid>https://dev.to/ajpagente/signing-an-app-for-another-developer-account-p17</guid>
      <description>&lt;p&gt;There are situations when an app is developed by Bob using his Apple Developer account but the app is published with Alice's Apple Developer account. In this case Bob shares the app archive to Alice for distribution. This post shows how, with Xcode, Bob prepares an archive for Alice and how Alice prepares for distribution.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Version:&lt;/strong&gt; Xcode 12.4, macOS 10.15.7&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Bob Archives His App
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Disable Automatic Signing
&lt;/h3&gt;

&lt;p&gt;Disabling automatic signing generates an archive which does not contain provisioning profile and certificate information. Failing to do so will prevent signing the archive with a different Apple Developer account.&lt;/p&gt;

&lt;p&gt;To disable automatic signing, choose the (1) &lt;em&gt;project name&lt;/em&gt; at the top of the &lt;em&gt;Project Navigator&lt;/em&gt;, choose the (2) &lt;em&gt;Target&lt;/em&gt; (if there are more than one target), navigate to the (3) &lt;strong&gt;Signing &amp;amp; Capabilities&lt;/strong&gt; tab, then &lt;em&gt;disable&lt;/em&gt; the (4) &lt;strong&gt;Automatically manage signing&lt;/strong&gt; checkbox.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcvlcj7w0xidgvylyg28b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcvlcj7w0xidgvylyg28b.png" alt="Disabling automatic signing"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Archive
&lt;/h3&gt;

&lt;p&gt;From the Xcode menu, choose &lt;strong&gt;Product &amp;gt; Archive&lt;/strong&gt;. The &lt;em&gt;Organizer&lt;/em&gt; window launches showing the archive.&lt;/p&gt;

&lt;p&gt;Bob can confirm that the archive has no signing information if there is no "Team" in the &lt;em&gt;Details&lt;/em&gt; section.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6qkbg7v2pny21vegfc7h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6qkbg7v2pny21vegfc7h.png" alt="Organizer showing an archive without a team"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is an example of an archive with signing information.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyau4q962gv1qr31hbkjn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyau4q962gv1qr31hbkjn.png" alt="Organizer showing an archive with a team"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Compress archive
&lt;/h3&gt;

&lt;p&gt;Bob now needs to compress the archive into a zip file to share with Alice. To locate the archive file, &lt;em&gt;right-click&lt;/em&gt; on the archive and choose &lt;strong&gt;Show in Finder&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm4j0t0u9ba3o5jfmd2z2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm4j0t0u9ba3o5jfmd2z2.png" alt="Show the file location from the Organizer"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;em&gt;Finder&lt;/em&gt; window launches showing the &lt;em&gt;.xcarchive&lt;/em&gt;. &lt;em&gt;Right-click&lt;/em&gt; on the &lt;em&gt;xcarchive&lt;/em&gt; then choose &lt;strong&gt;Compress &lt;code&gt;file.xcarchive&lt;/code&gt;&lt;/strong&gt; to create a zip file with the archive inside.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxoc3ys8i6j0co9k87f74.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxoc3ys8i6j0co9k87f74.png" alt="Zip the xcarchive"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bob sends the zip file to Alice for distribution.&lt;/p&gt;

&lt;h2&gt;
  
  
  Alice Signs the App for Distribution
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Uncompress and Open the Archive
&lt;/h3&gt;

&lt;p&gt;Alice uncompresses the zip file by &lt;em&gt;double-clicking&lt;/em&gt; the file. The xcarchive will be in the same folder as the zip file. &lt;em&gt;Double-click&lt;/em&gt; the xcarchive to open the archive in the &lt;em&gt;Organizer&lt;/em&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Preparing for Distribution
&lt;/h3&gt;

&lt;p&gt;Check that the file does not contain signing information as described in the &lt;em&gt;Archive&lt;/em&gt; section. Then click on the &lt;strong&gt;Distribute App&lt;/strong&gt; button to start the distribution process. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu35lmyhyi2tzfgpzthjy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu35lmyhyi2tzfgpzthjy.png" alt="Organizer before distribution starts"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The next steps are not shown as it will depend on the distribution target. If the app is a macOS app, you may refer to &lt;a href="https://dev.to/ajpagente/distributing-a-macos-app-outside-the-mac-app-store-433g"&gt;Distributing a macOS App Outside the Mac App Store&lt;/a&gt; if this is your preferred distribution method.&lt;/p&gt;

</description>
      <category>xcode</category>
    </item>
    <item>
      <title>Distributing a macOS App Outside the Mac App Store</title>
      <dc:creator>..</dc:creator>
      <pubDate>Tue, 29 Mar 2022 09:40:43 +0000</pubDate>
      <link>https://dev.to/ajpagente/distributing-a-macos-app-outside-the-mac-app-store-433g</link>
      <guid>https://dev.to/ajpagente/distributing-a-macos-app-outside-the-mac-app-store-433g</guid>
      <description>&lt;p&gt;This post covers publishing of macOS applications outside the Mac App Store. The different distribution methods are described by &lt;a href="https://developer.apple.com/macos/distribution/" rel="noopener noreferrer"&gt;Apple&lt;/a&gt;. At this point it is assumed that the decision has been made to distribute outside the App Store.  Distributing installers is not covered however the steps are fundamentally the same.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Version&lt;/strong&gt;: Xcode 12.4, macOS 10.15.7&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Requirements
&lt;/h2&gt;

&lt;p&gt;Before beginning the app export process, ensure the following are installed and present.&lt;/p&gt;

&lt;h3&gt;
  
  
  Xcode 10.2 or later
&lt;/h3&gt;

&lt;p&gt;Although Xcode 10 will work, Xcode adds the secure timestamp from Xcode 10.2.&lt;/p&gt;

&lt;h3&gt;
  
  
  Apple ID
&lt;/h3&gt;

&lt;p&gt;To enable automatic signing, Xcode needs to connect to the Developer portal with an Apple ID registered to a Developer account. Your Apple ID must be registered to the same Developer account where the Developer ID came from. This &lt;a href="https://dev.to/ajpagente/check-apple-id-is-registered-to-a-developer-account-e72"&gt;post&lt;/a&gt; describes how to check if your Apple ID is setup correctly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Developer ID certificate
&lt;/h3&gt;

&lt;p&gt;The Developer ID private key must be installed on your Mac keychain. &lt;/p&gt;

&lt;p&gt;Apple describes a Developer ID certificate as...&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;A Developer ID certificate lets Gatekeeper verify that you’re a trusted developer when a user opens your app, plug-in, or installer package downloaded from outside the Mac App Store.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Only an Account Holder can generate a Developer ID certificate. Once the certificate is generated and the private key exported from the Account Holder's keychain, the exported key (with a .p12 extension) can be installed on any Mac machine.&lt;/p&gt;

&lt;p&gt;You can check if you have a Developer ID certificate in your keychain by running the following command from the Terminal.&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

&lt;p&gt;$ security find-certificate -c "Developer ID Application"&lt;/p&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Deployment Target&lt;br&gt;
&lt;/h3&gt;

&lt;p&gt;Notarization only works for binaries linked against &lt;strong&gt;macOS 10.9&lt;/strong&gt; or later. Set your Xcode project's &lt;em&gt;Deployment Target&lt;/em&gt; to at least 10.9&lt;/p&gt;

&lt;h2&gt;
  
  
  Archiving
&lt;/h2&gt;

&lt;p&gt;When you are ready to distribute your app, the first step is to archive the application. &lt;/p&gt;

&lt;p&gt;From the Xcode menu, choose &lt;strong&gt;Product &amp;gt; Archive&lt;/strong&gt;. The &lt;em&gt;Organizer&lt;/em&gt; window launches showing the archive. You are now ready for the next step: notarization.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcm7jviirlg45vv2ktj76.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcm7jviirlg45vv2ktj76.png" alt="Xcode Organizer window showing app archives"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Notarization
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution" rel="noopener noreferrer"&gt;Apple&lt;/a&gt; describes notarization as...&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Notarization gives users more confidence that the Developer ID-signed software you distribute has been checked by Apple for malicious components. Notarization is not App Review. The Apple notary service is an automated system that scans your software for malicious content, checks for code-signing issues, and returns the results to you quickly. If there are no issues, the notary service generates a ticket for you to staple to your software; the notary service also publishes that ticket online where Gatekeeper can find it.&lt;/em&gt; &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Start Distribution
&lt;/h3&gt;

&lt;p&gt;From the &lt;em&gt;Organizer&lt;/em&gt;, click on the &lt;strong&gt;Distribute App&lt;/strong&gt; button to start the distribution process. &lt;/p&gt;

&lt;h3&gt;
  
  
  Destination
&lt;/h3&gt;

&lt;p&gt;Though there is an option to export without notarizing, always choose to notarize as notarization enables automated scans of your app. Choose &lt;strong&gt;Upload&lt;/strong&gt; in the &lt;em&gt;destination&lt;/em&gt; window.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5nvgrz773kw8b8xi1ynx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5nvgrz773kw8b8xi1ynx.png" alt="Xcode Organizer window to choose app destination is upload or export"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Signing Option
&lt;/h3&gt;

&lt;p&gt;Choose &lt;strong&gt;Automatically manage signing&lt;/strong&gt; in the &lt;em&gt;signing options&lt;/em&gt; window.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4qpmcwwfbg958ecp58d0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4qpmcwwfbg958ecp58d0.png" alt="Xcode Organizer window to choose automatic or manual signing"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Review package content
&lt;/h3&gt;

&lt;p&gt;If the Summary and Entitlements are as expected, click &lt;strong&gt;Upload&lt;/strong&gt; to upload the app to Apple's notarization service.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk5hez30l4ccta7x8l3ly.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk5hez30l4ccta7x8l3ly.png" alt="Xcode Organizer window showing summary and entitlements"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Upload Complete
&lt;/h3&gt;

&lt;p&gt;You can monitor the upload progress as shown.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1leh71lp6wzmtziki149.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1leh71lp6wzmtziki149.png" alt="Xcode Organizer window showing notarization upload progress"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once the upload is complete, wait for Apple's notification.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0dichzee1af4nsrs8r9s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0dichzee1af4nsrs8r9s.png" alt="Xcode Organizer window showing completed notarization upload"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Notarization Complete
&lt;/h3&gt;

&lt;p&gt;You will receive a notification and an email to your Apple ID once the notarization is complete. For this post, notarization only took about 30 mins.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feybfvxeqx62t6i8m2qnc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feybfvxeqx62t6i8m2qnc.png" alt="Notarization notification"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Export Notarized App
&lt;/h3&gt;

&lt;p&gt;From the &lt;em&gt;Organizer&lt;/em&gt;, choose the archive, and scroll down. If the Organizer is closed, open it from the Xcode menu. Choose &lt;strong&gt;Window &amp;gt; Organizer&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3i73xrueu9vfwsvgx73e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3i73xrueu9vfwsvgx73e.png" alt="Xcode Organizer window showing where to find the export button"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Click on &lt;strong&gt;Export Notarized App&lt;/strong&gt; to save the app to your chosen location.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg1mmtcwsb5y2qjfd55al.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg1mmtcwsb5y2qjfd55al.png" alt="Xcode Organizer window showing the export button for a notarized app"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You now have an app that can be distributed outside the Mac App Store.&lt;/p&gt;

&lt;h2&gt;
  
  
  Verification
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Verifying if an app is notarized
&lt;/h3&gt;

&lt;p&gt;Verifying notarization is not a mandatory step after exporting a notarized app. It can be useful when you have an app or installer package and you want to know if it is notarized. The post on &lt;a href="https://dev.to/ajpagente/how-to-check-if-a-macos-app-is-notarized-8p4"&gt;How to Check if a macOS App is Notarized&lt;/a&gt; describes the verification steps.&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;p&gt;If you have questions or issues with notarization, Apple's references is a good starting point for investigation.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution/resolving_common_notarization_issues?language=objc" rel="noopener noreferrer"&gt;Resolving Common Notarization Issues&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution?language=objc" rel="noopener noreferrer"&gt;Notarizing macOS Software Before Distribution&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>macos</category>
    </item>
    <item>
      <title>How to Check if a macOS App is Notarized</title>
      <dc:creator>..</dc:creator>
      <pubDate>Tue, 29 Mar 2022 08:31:44 +0000</pubDate>
      <link>https://dev.to/ajpagente/how-to-check-if-a-macos-app-is-notarized-8p4</link>
      <guid>https://dev.to/ajpagente/how-to-check-if-a-macos-app-is-notarized-8p4</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Version&lt;/strong&gt;: macOS 10.15.7&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You can check if a macOS application is notarized by using the &lt;code&gt;spctl&lt;/code&gt; command-line utility. &lt;code&gt;spctl&lt;/code&gt; evaluates if the system allows execution, installation, and other operations on files.&lt;/p&gt;

&lt;p&gt;The first example is an app that is &lt;strong&gt;not notarized&lt;/strong&gt;. &lt;code&gt;spctl&lt;/code&gt; shows the status as &lt;em&gt;rejected&lt;/em&gt; and the source indicates &lt;em&gt;Unnotarized Developer ID&lt;/em&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ spctl -a -vvv -t install MacApp.app
MacApp.app: rejected
source=Unnotarized Developer ID
origin=Developer ID Application: &amp;lt;redacted developer account&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The second example is a &lt;strong&gt;notarized&lt;/strong&gt; app. &lt;code&gt;spctl&lt;/code&gt; shows the status as &lt;em&gt;accepted&lt;/em&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ spctl -a -vvv -t install Project1.app
Project1.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: &amp;lt;redacted developer account&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The table below describes the &lt;code&gt;spctl&lt;/code&gt; options.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Option&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;-a&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Stands for &lt;em&gt;assess&lt;/em&gt; and requests &lt;code&gt;spctl&lt;/code&gt; to perform an assessment of the given file.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;-vvv&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Specifies increased output verbosity.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;-t install&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Specifies the type of assessment. &lt;code&gt;install&lt;/code&gt; assesses installation.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

</description>
      <category>macos</category>
    </item>
    <item>
      <title>How to Check an Apple ID is Registered to a Developer Account</title>
      <dc:creator>..</dc:creator>
      <pubDate>Mon, 28 Mar 2022 13:04:43 +0000</pubDate>
      <link>https://dev.to/ajpagente/check-apple-id-is-registered-to-a-developer-account-e72</link>
      <guid>https://dev.to/ajpagente/check-apple-id-is-registered-to-a-developer-account-e72</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;This post is valid for an organization that is a member of the Apple Developer Program. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Registration to an Apple Developer account and having the &lt;strong&gt;Developer&lt;/strong&gt; role is required when using &lt;strong&gt;automatic signing&lt;/strong&gt; in XCode.&lt;/p&gt;

&lt;h2&gt;
  
  
  Checking Accounts
&lt;/h2&gt;

&lt;p&gt;To check, launch &lt;strong&gt;Xcode&lt;/strong&gt;. From the menu items, click &lt;strong&gt;Xcode &amp;gt; Preferences&lt;/strong&gt; and choose the &lt;strong&gt;Accounts&lt;/strong&gt; tab.&lt;/p&gt;

&lt;p&gt;Your Apple ID is registered to a developer account if the &lt;em&gt;Team&lt;/em&gt; shows the correct Apple Developer account and the &lt;em&gt;Role&lt;/em&gt; is &lt;strong&gt;Developer&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzthf5cuie0z8ma46tcn7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzthf5cuie0z8ma46tcn7.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Assigning Developer Role
&lt;/h2&gt;

&lt;p&gt;To assign a user to the Developer role, sign-in to &lt;strong&gt;App Store Connect&lt;/strong&gt;. Only an Apple ID with &lt;strong&gt;Account Holder&lt;/strong&gt; or &lt;strong&gt;Admin&lt;/strong&gt; role can edit a user's role.&lt;/p&gt;

&lt;p&gt;In App Store Connect, navigate to &lt;strong&gt;Users and Access&lt;/strong&gt; and choose the user's Apple ID. Under &lt;strong&gt;Roles&lt;/strong&gt;, tick &lt;em&gt;Developer&lt;/em&gt; and under &lt;strong&gt;Additional Resources&lt;/strong&gt;, enable &lt;em&gt;Access to Certificates, Identifiers &amp;amp; Profiles&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr2pi9a37urpllcf5215p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr2pi9a37urpllcf5215p.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>appledevelopment</category>
      <category>xcode</category>
    </item>
  </channel>
</rss>
