New Style Service

リリース情報とか諸々

fastlane matchで既存の証明書を利用する

iOSのfastlane matchで既存の証明書をそのまま利用として困ったので書くことにします。

もともとこちらを参考に対応したところエラーが。。。 qiita.com

NameError: uninitialized constant Match::GitHelper

えー。。って思い調査

そしたらこんなissueが

github.com

あーーー、なるほど!

rubyのバージョンね!

納得(^ω^)

細かい差分はこちらの記事に書いてありました。 medium.com

つまりまとめると

2.105.2以下はこちら

irb(main):001:0> require 'match'
irb(main):002:0> git_url = 'git@github.com:path-to/the-encrypted-certs-repo.git'
 => "git@github.com:path-to/the-encrypted-certs-repo.git" irb(main):003:0> shallow_clone = false
 => false
irb(main):004:0> manual_password = 'password-to-decrypt-the-repo'
 => "password-to-decrypt-the-repo"

ファイルを追加

irb(main):005:0> workspace = Match::GitHelper.clone(git_url, shallow_clone, manual_password: manual_password)

それ以上はこちら

irb(main):001:0> require 'match'
irb(main):002:0> git_url = 'git@github.com:path-to/the-encrypted-certs-repo.git'
=> "git@github.com:path-to/the-encrypted-certs-repo.git"
irb(main):003:0> shallow_clone = false
=> false
irb(main):004:0> ENV["MATCH_PASSWORD"] = 'password-to-decrypt-the-repo'
=> "password-to-decrypt-the-repo"
irb(main):005:0> branch = 'master'
=> "master"

ファイルを追加

irb(main):010:0> encryption.encrypt_files
irb(main):011:0> files_to_commit = Dir[File.join(storage.working_directory, "**", "*.{cer,p12,mobileprovision}")]
irb(main):012:0> storage.save_changes!(files_to_commit: files_to_commit)

解決!!!!

基本的にここ近年はruby2.4系とかでiOS開発してる人が多いんじゃないかなって思ってますが、俺だけですか?

BitriseでAndroidビルドをしようとして右往左往した話

ちょっと仕事でBitriseを利用することになったので、そこで右往左往した話をご紹介

Bitriseとは

最近モバイルアプリ界隈で話題にCIサービス「Bitrise

ドキュメント通りに何度試してもエラーに

oh... (´・ω・`)

つまづきポイント1

アプリにNDKを利用している

....(゚д゚)

WorkFlowでSDKインストールと合わせてNDKインストールもしないとなのね!

つまづきポイント2

build.gradleでsingingの設定がすでに記載されている

....(゚д゚)

App BuildとAPK SinginじゃなくてGradle Runnerを使えばいいのね!

つまづきポイント3

なぞにSDKインストールで失敗する

....(゚д゚)

全部Fastlaneで実行して、laneだけ呼べばいいんじゃね? (・∀・)ソレダ!!

つまづきポイント4

なぞにArtifactsでapkが取得できない

....(゚д゚)

....(゚д゚)

....(゚д゚)

余計なジョブ全部なくせばいいんじゃね? ....コレダ(゚д゚)+

SDKインストールやめました。

結果こんな感じに

f:id:sasanori-0126:20190526220405p:plain

個人開発なんかでもbuild.gradleにsingingの設定入れてる場合も多いのかなって思い、アウトプットしてみた感じです。

ymlファイルは下記に置いておきますね。

---
format_version: '7'
default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git
project_type: android
workflows:
  debug-deploy:
    steps:
    - activate-ssh-key@4.0.3:
        run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
    - git-clone@4.0.14: {}
    - script@1.1.5:
        title: Do anything with Script step
        inputs:
        - content: |
            #!/usr/bin/env bash
            # fail if any commands fails
            set -e
            # debug log
            set -x
    - cache-pull@2.0.1: {}
    - gradle-runner@1.9.0:
        inputs:
        - gradle_task: assembleDebug
        - gradlew_path: "$PROJECT_LOCATION/gradlew"
    - deploygate--upload-app-bitrise-step@1.0.1:
        inputs:
        - owner_name: xxxxxxxxxxxx
        - app_path: "$BITRISE_APK_PATH"
        - message: "[$BITRISE_BUILD_NUMBER] Debug Build [$BITRISE_GIT_BRANCH] ($BITRISE_GIT_MESSAGE)"
        - api_key: "$DEPLOYGATE_API_KEY"
    - deploy-to-bitrise-io@1.4.1: {}
    - cache-push@2.2.0: {}
    - slack@3.1.2:
        inputs:
        - webhook_url: "$SLACK_URL"

app:
  envs:
  - opts:
      is_expand: false
    PROJECT_LOCATION: "."
  - opts:
      is_expand: false
    MODULE: app
  - opts:
      is_expand: false
    VARIANT: ''
trigger_map:
- push_branch: master
  workflow: debug-deploy

サポ魂リリースしました!

3/25にiOSアプリ「サポ魂」をリリースしました!

 

AndroidMHF祭ポイント計算機のiOS版となります。

機能についてはAndroid版ほど十分ではないのですが、今後も機能を追加し、Android版と共にみなさまにとってつかいやすいアプリケーションとして進化していく予定です!

 

サポ魂

サポ魂

  • Noriyuki Sasagawa
  • ユーティリティ
  • 無料

 

FlutterでApp Store Connectにアップロード

こちらのブログですが今まではアナウンスメインでしたが、これからは技術ネタもアウトプットしていこうかと思いますっ!!

 

第1段は 「Flutterで開発したアプリをApp Store Connectにアップロードする方法」で行こうかと思います。

 

あれ?

技術ネタか?

 

いや、これから俺みたいに困る人出てくるはずなので!

 

基本的なiOSiTunes Connectへのアップロードは詳しく書いてくれている方がいるのでぜひそちらを...

i-app-tec.com

 

 

そもそも私としても上記のページを見ながらやろうとしたわけですが、Xcodeのビルドでコケました (;・∀・)

エラー文はこちら

Command /bin/sh failed with exit code 255

 

見たことないエラーだなって思ってググったところこちらが

stackoverflow.com

そもそもXcodeでビルドできないよ っていう アタリマエノコトデシタ

Flutter なので Flutterのビルドコマンドを使うのは当たり前で... 当たり前なんですが...

気を取り直して!

じゃあどうしたかというと、 Flutterコマンド+Xcodeの操作でやりました。(そりゃそうだ ちなみにまだCIはまだ未設定なので、対応したらそれもアウトプットしていきます。

ざっくり全体の手順をまとめるので、正直参考になるのはここからですw

  1. Signing(Release)を ストア向けのものに設定します
  2. ターミナル起動しFlutterプロジェクトのルートへ移動
  3. flutter build ios --release を実行
  4. 3が成功したらXcodeへ移動(ここからは通常のiOSのアップロードのやり方と同じ)
  5. Product → Archive を選択
  6. しばしまつ....
  7. あとは先程紹介したページのここからを参考にやるだけ!(丸投げw

これであなたも幸せになります。

といわけで申請の準備ができたので申請に進みます! みなさま、良い週末を!