CI2Go for macOS

 日本語

Main

I’ve published CI2Go the CircleCI client for macOS by porting existing iOS app using Mac Catalyst.

Both iOS and macOS versions are available on App Store in same URL.

Appstore

Product website: ci2go.app

New version for both iOS and macOS includes the following new features.

Dark Mode

Dark and light

Changed color theme to support Dark Mode.

Color Scheme feature is no longer available.

iPad Keyboard Shortcuts

Shortcuts

iPad Keyboard shortcuts are supported from this update.

You can use ⌘ [ to back navigation, ⌘ R to reload and ⌥ ⇧ ⌘ L to logout.

WIP: Workflows

CircleCI Workflows are not yet completely supported but already in future milestones.

Under The Hood

Workflow

Of course, I’ve setup Mac Catalyst app Continuous Delivery as well as iOS version.

Also, I’ve migrated package management from Carthage to Swift Package Manager.

These are managed in public GitHub repository so anyone can refer.

Hope this could help other developers to try building the Mac Catalyst app on CircleCI like me.

I did some workarounds like the follows.

  • Swift Package build fails on macOS platform if containing Build Dependencies
  • fastlane match can not create Provisioning Profile for Mac Catalyst.

    • Creates for Mac when providing platform: 'macos'
    • Set skip_provisioning_profiles to true, added .provisioningprofile files to version control and copy them to ~/Library/MobileDevice/Provisioning Profiles/ on CI build step.
    match(
      type: 'development',
      app_identifier: %w(com.ci2go.ios.Circle),
      skip_provisioning_profiles: true,
      platform: 'macos'
    )
    
  • fastlane deliver rejects iOS app binary with reject_if_possible: true even if platform is set to osx.

    • Set reject_if_possible to false in Mac platform settings and reject manually if I need to select new build for now.
  • fastlane deliver fails submitting Mac app for review.

    rescue NoMethodError => e
      puts e
      raise e unless e.message == %q(undefined method `fetch' for nil:NilClass)
      puts "... Caught error, but omitting"
    end
    

Become a sponsor

I’ve published my sponsors page on GitHub Sponsors. Please support me polishing CI2Go if you’d like 🙇‍♂️

comments powered by Disqus