IOS: Difference between revisions

From Bitpost wiki
No edit summary
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
== iOS mobile app development in mid-2022 ==
== Language and OS ==
Modern iOS mobile app development in mid-2022 is done in [[Swift]] 5.0 and macOS 15.


=== Set up a virtual macOS development environment ===
== Tools ==
I set this up on the [[Matcha]] melange VM.
* Manage certificates etc from this specific [https://developer.apple.com/account/ developer account link]


You can follow thenickdude's awesome [https://www.nicksherlock.com/2020/06/installing-macos-big-sur-on-proxmox/ guide] with these secret sauce [https://youtu.be/JtYAAjgniIc bits] to get going.  I'll add some notes since those might disappear...
== Installation ==


* Note that thenickdude's [https://www.nicksherlock.com/2021/10/installing-macos-12-monterey-on-proxmox-7/ Monterey install] wasn't working on July 3 2022, as it was pulling the wrong image from Apple.  I used Big Sur and once running, immediately upgraded it to Monterey, which went flawlessly.
=== macOS Environment  ===
* Set up a [https://github.com/thenickdude/KVM-Opencore OpenCore] VM with an [https://checkcoverage.apple.com/ unclaimed] [https://github.com/corpnewt/GenSMBIOS serial] using SMBIOS iMacPro1,1 to match up well enough with my AMD Ryzen 9 3900X.
An actual macOS development environment is required to build, test and publish an iPhone app.  I set one up on the [[Matcha]] melange VM.
* [https://github.com/headkaze/EFI-Agent This] helped to mount and access the EFI boot drive.
* I used a [https://github.com/yousseb/meld/releases/ macOS release] of my old fave Meld


=== Expand macOS VM drive ===
=== Development Environment ===
In case needed in the future, thenickdude has [https://www.nicksherlock.com/2021/12/expanding-the-disk-of-your-proxmox-macos-vm/ notes].
 
Primarily use XCode to do pretty much everything.
 
* I created my app using Apple's [https://developer.apple.com/tutorials/app-dev-training sample app], which mocks up a simple UI.
* I'm following a simple [https://www.ralfebert.com/ios-app-development/swiftui-async-await-tutorial/ example] to load JSON data from API.
 
==== Testing ====
 
Testing is done by pushing the app through App Store Connect to TestFlight users.
 
My testers:
* My iphone 12 mini
* Regina's big iphone
* (Erik won't update his iOS)
 
==== Adding testers ====
* It was fairly easy to add a user via my TestPlan UI on apple's website.  I added Regina's email, and sent her an invite.  From there, she got a code and could install TestPlan with the code to get A better Trader installed.  Yay!
* First time, I went through this awful process to get the phone UDID.  I had to use a hacked up app on my iPhone.  Erik got his number by plugging his phone into his macbook.

Latest revision as of 17:35, 11 December 2022

Language and OS

Modern iOS mobile app development in mid-2022 is done in Swift 5.0 and macOS 15.

Tools

Installation

macOS Environment

An actual macOS development environment is required to build, test and publish an iPhone app. I set one up on the Matcha melange VM.

Development Environment

Primarily use XCode to do pretty much everything.

  • I created my app using Apple's sample app, which mocks up a simple UI.
  • I'm following a simple example to load JSON data from API.

Testing

Testing is done by pushing the app through App Store Connect to TestFlight users.

My testers:

  • My iphone 12 mini
  • Regina's big iphone
  • (Erik won't update his iOS)

Adding testers

  • It was fairly easy to add a user via my TestPlan UI on apple's website. I added Regina's email, and sent her an invite. From there, she got a code and could install TestPlan with the code to get A better Trader installed. Yay!
  • First time, I went through this awful process to get the phone UDID. I had to use a hacked up app on my iPhone. Erik got his number by plugging his phone into his macbook.