Xcode 8.3 でビルドした時に “The following binaries use incompatible versions of Swift:” のエラーが発生

Xcode 8.3.3 でビルドした時に “The following binaries use incompatible versions of Swift:” のエラーが発生したので、その対処法をメモ。

swift2 から swift3のソースにした関係で、同じプロジェクト上にswift2とswift3が混在してるからダメだったみたい。
下記を試したら治った。


  1. "Product - Clean" で、プロジェクトをクリーン

  2. Xcodeを閉じる

  3. derived dataを削除
    derived dateの場所は Xcode -> Preferences -> Locations にDerived Dataと記載があるので、そこのパスにいく。
    そこに"プロジェクト名 + ランダムな英数字"のディレクトリがあるので、それを丸ごと削除する

  4. Xcodeを再度立ち上げる



参考サイト
Mixing SWIF 2.3 and SWIFT in same project
Xcode 8 beta 4: Build fails with “The following binaries use incompatible versions of Swift:” error
スポンサーサイト

nginx + unicorn + rails でファイルアップロード出来ない

nginx + unicorn + rails でファイルアップロード出来ない事象に出くわした。
CarrierWaveを使っていたので、それ関連かなと思ったが、
railsのエラーログも何も出ていなく、戸惑ったがnginxのエラーログを見てみると下記のエラーが。
[crit] 7192#0: *24 open() "/var/lib/nginx/tmp/client_body/0000000002" failed (13: Permission denied), client: xxx.xxx.xxx.xxx, server: test.com, request: "POST /tests HTTP/1.1", host: "test.com", referrer: "https://test.com/tests/new"
原因は、/etc/nginx/nginx.conf で nginxを動かしているユーザーを変更していたため。
chown -R nginxを動かしているユーザー /var/lib/nginx
でownerを変更してあげればOK.

参考サイト
nginxからWebブラウザへのファイル送信が途中で中断してしまう問題 → 解決
nginxの/var/lib/nginx/tmp/fastcgi/でPermission deniedになる

iTunesConnectにアップロードする時に「No. app bundles found in the package」エラーが発生した

iTunesConnectにアップロードする時に「No. app bundles found in the package」エラーが発生したので、その対象方法のメモ。

原因は、macOS Sierra で Xcode 7 でビルドしたのをアップロードすると起きるらしい。
Xcode を最新にして、ビルドすればなんの問題も起きないが、swiftのバージョン変わったりでなかなかサクッとは出来ないので、Xcode 7でビルドしたものをアップする方法。

まずは、Xcode7 でビルド(アーカイブ)する。
そして、Xcode8などの最新のXcodeでそれをアップロードすればOK。

参考サイト
macOS Sierra x Xcode 7 で AppStore に Submit できない問題にぶち当たった話
xcode 7.3.1 ERROR ITMS - 90167 No. app bundles found in the package
Xcodeの複数バージョンを共存

Androidで課金のテストをするための準備

毎度忘れて検索しているのでメモ。

  • アプリをβ版で公開しないとテストはできない。
  • アプリを公開した後は同一バージョン番号のapkは登録できない
  • 開発者アカウントではテストできない。
  • テストで使われるのは最初に登録したアカウントのみ
  • 追加登録したアカウントをテストで使うには、端末の初期化が必要
  • テストアカウントを登録しても、すぐには反映されない
  • テスターの登録は2箇所。
    ・google play developer consoleの、設定 - アカウント詳細の「テスト用のアクセス権がある Gmail アカウント」
    ・google play developer consoleの、リリースの管理 - ベータ版 - テスターの管理にGmailアカウンが含まれている

テスターだけに登録すれば、ベータ版はインストール出来るけど、課金のテストがテスト注文にいつもならなくて本当に買いそうになっている・・・
「テスト用のアクセス権がある Gmail アカウント」も忘れずに。

参考サイト
Google Playで課金テストをするときに、テストアカウントが認識されない
アプリ内課金の実機テストのワナ

xcodeのアップデートが途中で止まってしまった時の対処法

AppStoreからxcodeのアップデートをしようと思ったら、途中で止まってしまった・・・
その時に対処した方法をメモ。

アクティビティモニターで「iTunes Helper」というのがあるので、それを終了させる。
これだけでうまくアップデートが再開された。

これでも解決出来なかった場合は、下記のサイトのような方法があるらしい。
App StoreからXcodeをインストールできない!?

プロフィール

U2K

Author:U2K
いろいろプログラムに関しての覚え書きをちょくちょくと書いていきます。

オススメ










オススメ

忍者AdMax

u2k on Twitter

最近の記事