<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Apple on ARI Systems</title>
    <link>https://aripd.com/tags/apple/</link>
    <description>Recent content in Apple on ARI Systems</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <copyright>ARI Systems</copyright>
    <lastBuildDate>Sat, 16 May 2026 06:19:44 +0000</lastBuildDate>
    <atom:link href="https://aripd.com/tags/apple/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Swift - Core Location</title>
      <link>https://aripd.com/blog/swift-core-location/</link>
      <pubDate>Mon, 08 May 2023 00:00:00 +0000</pubDate>
      <guid>https://aripd.com/blog/swift-core-location/</guid>
      <description>&lt;h2 id=&#34;references&#34;&gt;References &lt;a href=&#34;#references&#34; class=&#34;permalink&#34;&gt;&lt;i class=&#34;bi bi-link-45deg&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://medium.com/how-to-track-users-location-with-high-accuracy-ios/tracking-highly-accurate-location-in-ios-vol-3-7cd827a84e4d&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Tracking Highly Accurate Location in iOS&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;tracking-location-in-background&#34;&gt;Tracking Location in Background &lt;a href=&#34;#tracking-location-in-background&#34; class=&#34;permalink&#34;&gt;&lt;i class=&#34;bi bi-link-45deg&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;To make your app keep getting location information in the background, first add &lt;code&gt;location&lt;/code&gt; to &lt;code&gt;UIBackgroundModes&lt;/code&gt; key in the &lt;code&gt;info.plist&lt;/code&gt; file.&lt;/p&gt;&#xA;&lt;div class=&#34;code-container&#34;&gt;&#xA;    &lt;div class=&#34;code-block&#34;&gt;&#xA;        &lt;div&gt;&#xA;            &#xA;            &lt;div class=&#34;code-copy&#34; style=&#34;float: right&#34;&gt;&#xA;                &lt;a class=&#34;icon-link icon-link-hover link-opacity-50 link-opacity-100-hover&#34; href=&#34;#&#34; aria-label=&#34;Copy code&#34;&gt;Copy&lt;/a&gt;&#xA;            &lt;/div&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#000;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&#xA;&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#000;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#000;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-swift&#34; data-lang=&#34;swift&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;locationManager.allowsBackgroundLocationUpdates = &lt;span style=&#34;color:#0000c0&#34;&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/div&gt;&lt;h2 id=&#34;battery-consumption-vs-background-mode&#34;&gt;Battery Consumption vs Background mode &lt;a href=&#34;#battery-consumption-vs-background-mode&#34; class=&#34;permalink&#34;&gt;&lt;i class=&#34;bi bi-link-45deg&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;&lt;code&gt;pausesLocationUpdatesAutomatically&lt;/code&gt; will enable iOS to detect the situation where an app doesn’t need location update.&lt;/p&gt;&#xA;&lt;div class=&#34;code-container&#34;&gt;&#xA;    &lt;div class=&#34;code-block&#34;&gt;&#xA;        &lt;div&gt;&#xA;            &#xA;            &lt;div class=&#34;code-copy&#34; style=&#34;float: right&#34;&gt;&#xA;                &lt;a class=&#34;icon-link icon-link-hover link-opacity-50 link-opacity-100-hover&#34; href=&#34;#&#34; aria-label=&#34;Copy code&#34;&gt;Copy&lt;/a&gt;&#xA;            &lt;/div&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#000;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&#xA;&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#000;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#000;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-swift&#34; data-lang=&#34;swift&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;locationManager.pausesLocationUpdatesAutomatically = &lt;span style=&#34;color:#0000c0&#34;&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;The behavior of auto pausing location update is controlled by the flag named activityType in LocationManager class.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Swift</title>
      <link>https://aripd.com/blog/swift/</link>
      <pubDate>Fri, 25 Mar 2022 00:00:00 +0000</pubDate>
      <guid>https://aripd.com/blog/swift/</guid>
      <description>&lt;h2 id=&#34;references&#34;&gt;References &lt;a href=&#34;#references&#34; class=&#34;permalink&#34;&gt;&lt;i class=&#34;bi bi-link-45deg&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://docs.swift.org/swift-book/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Swift Book&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.hackingwithswift.com/100/swiftui&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;SwiftUI&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;decimals&#34;&gt;Decimals &lt;a href=&#34;#decimals&#34; class=&#34;permalink&#34;&gt;&lt;i class=&#34;bi bi-link-45deg&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;When you create a floating-point number, Swift considers it to be a &lt;code&gt;Double&lt;/code&gt;. That’s short for “double-precision floating-point number”.&lt;/li&gt;&#xA;&lt;li&gt;Swift considers decimals to be a wholly different type of data to integers, which means you can’t mix them together. After all, integers are always 100% accurate, whereas decimals are not, so Swift won’t let you put the two of them together unless you specifically ask for it to happen.&lt;/li&gt;&#xA;&lt;li&gt;Swift decides whether you wanted to create a &lt;code&gt;Double&lt;/code&gt; or an &lt;code&gt;Int&lt;/code&gt; based on the number you provide&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Older APIs use &lt;code&gt;CGFloat&lt;/code&gt;. If you see &lt;code&gt;CGFloat&lt;/code&gt; you can just ignore it and use &lt;code&gt;Double&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mac OS X</title>
      <link>https://aripd.com/blog/macosx/</link>
      <pubDate>Thu, 15 Mar 2018 12:56:00 +0000</pubDate>
      <guid>https://aripd.com/blog/macosx/</guid>
      <description>&lt;h2 id=&#34;upgrade&#34;&gt;Upgrade &lt;a href=&#34;#upgrade&#34; class=&#34;permalink&#34;&gt;&lt;i class=&#34;bi bi-link-45deg&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class=&#34;code-container&#34;&gt;&#xA;    &lt;div class=&#34;code-block&#34;&gt;&#xA;        &lt;div&gt;&#xA;            &#xA;            &lt;div class=&#34;code-copy&#34; style=&#34;float: right&#34;&gt;&#xA;                &lt;a class=&#34;icon-link icon-link-hover link-opacity-50 link-opacity-100-hover&#34; href=&#34;#&#34; aria-label=&#34;Copy code&#34;&gt;Copy&lt;/a&gt;&#xA;            &lt;/div&gt;&#xA;        &lt;/div&gt;&#xA;        &lt;div class=&#34;highlight&#34;&gt;&lt;div style=&#34;color:#000;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&#xA;&lt;table style=&#34;border-spacing:0;padding:0;margin:0;border:0;&#34;&gt;&lt;tr&gt;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#000;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 1&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 2&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 3&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 4&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 5&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 6&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 7&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 8&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt; 9&#xA;&lt;/span&gt;&lt;span style=&#34;white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f&#34;&gt;10&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td style=&#34;vertical-align:top;padding:0;margin:0;border:0;;width:100%&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#000;background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#505050&#34;&gt;#Install all updates&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;softwareupdate -i -a&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#505050&#34;&gt;#Install the specific update&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;softwareupdate -i NAME&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#505050&#34;&gt;#List installers&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;softwareupdate --list-full-installers&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#505050&#34;&gt;#Download the specific installer&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;softwareupdate --fetch-full-installer --full-installer-version 14.7&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#505050&#34;&gt;#Run the specific installer&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo /Applications/Install&lt;span style=&#34;color:#2544bb&#34;&gt;\ &lt;/span&gt;macOS&lt;span style=&#34;color:#2544bb&#34;&gt;\ &lt;/span&gt;&amp;lt;version&amp;gt;.app/Contents/Resources/startosinstall&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&#xA;    &lt;/div&gt;&#xA;&lt;/div&gt;&lt;h2 id=&#34;preferences&#34;&gt;Preferences &lt;a href=&#34;#preferences&#34; class=&#34;permalink&#34;&gt;&lt;i class=&#34;bi bi-link-45deg&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h2&gt;&lt;h3 id=&#34;preview-for-pdfs---incorrect-pages-are-bookmarked&#34;&gt;Preview for PDFs - Incorrect Pages are Bookmarked &lt;a href=&#34;#preview-for-pdfs---incorrect-pages-are-bookmarked&#34; class=&#34;permalink&#34;&gt;&lt;i class=&#34;bi bi-link-45deg&#34;&gt;&lt;/i&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Turn off logical page numbers by going to &lt;code&gt;Preferences&lt;/code&gt; &amp;gt; &lt;code&gt;PDF&lt;/code&gt; and then unticking the &lt;code&gt;Viewing documents: Use logical page numbers&lt;/code&gt; box.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
