iOS関連のことを調べてみた2020年05月23日

iOS関連のことを調べてみた2020年05月23日

【Swift】QRコードを読み取って文字列を取得する

簡単に実装したサンプルです。参考になると幸いです。
[asa08/QRreader](https://github.com/asa08/QRreader)

## カメラを設定する
`import AVFoundation`して、`AVCaptureSession`をインスタンスを生成します。

“`swift
private let session = AVCaptureSession()
“`
次に、カメラの設定を行います。

“`swift
// カメラの設定
// 今回は背面カメラなのでposition: .back
let discoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [.builtInWideAngleCamera], mediaType: .video, position: .back)

let devices = discoverySession.devices
if let backCamera = devices.first {
do {
// カメラでQR

元記事を表示

DribbbleでFlutterのUI実装力を高める

みなさん、こんにちは
とあるサラダ?の会社で開発やってます umatoma です。

最近はFlutterのUI実装力を高めようと、
Dribbbleで公開されているデザインをFlutterで再現してみているので、紹介したいと思います。

# Dribbble

https://dribbble.com/
> Dribbble is the world’s leading community for creatives to share, grow, and get hired.

Dribbbleには?のように、様々なデザインが投稿されていて、
アプリUIに関するデザインも沢山?あります。

また、動画で投稿されているものもあったりして、
アニメーションを含んだデザインが見れる点はとても良いです?

で、このDribbleで公開されているデザインをFlutterで再現して、
FlutterのUI実装力を高めようと試みています???

![スクリーンショット 2020-05-22 19.49.39.png](https://qiita-image-store.s3.ap-northe

元記事を表示

Apple Developer Programの契約からアプリ公開まで4ヶ月かかった話

# 概要
個人開発でiOSアプリを製作したかったので、Apple Developer Programを契約したが、公開まで予想以上に時間がかかったので経緯を記しておく。

**正直、かなり舐めていた。**
契約したらその日にアプリをアップロードして審査、1週間後にはリリースぐらいに考えていた。
**実際には契約してからアプリ公開まで4ヶ月を要した。**

# 経緯
– 01/26 Apple Developer Programを契約、$99(時価で税込¥12,980)支払い発生

– 01/27 Apple Developer及びApp Store Connectにアクセスできるようになる

– 01/31 20:30 App Store Connectから初めてのアプリ提出、ステータスが「Waiting For Review」になる

– 01/31 21:30 ステータスが「In Review」になる

– 01/31 21:40 リジェクト。メッセージは以下の通り

>Hello,
We are unable to continue this app’s review b

元記事を表示

Sign in With AppleでSandboxアカウントを使う

# はじめに

2020/5/22 現在の情報です
Sign in With Apple(以後、SIWA)でSandboxアカウントを使う為のメモです

SIWA自体やInAppPurchaseについての対応は割愛します。

## 流れ

1. よし、SIWAの実装確認できた
2. 課金周りテストするか、Sandboxアカウントでログインして
3. SandboxアカウントでSIWAログインできるのかな?まぁ、やってみるか
4. お、できた。メールにPIN送ったから入力しろって。
5. よし、入力完了。次は?。2FA認証が必要です。設定を開いて〜
6. 「お客様のApple IDでは、現在2ファクタ認証をご利用できません」 :thinking:

で困っていたら、[Apple Developer Forums][LINK-1]にあったので共有と解説です

## 準備作業

### ブラウザで作業

1. [icloud.com](https://www.icloud.com/)にアクセスして、sandboxアカウントでログイン。

2. メールアドレスを確認する

元記事を表示

ポストコロナ時代の歩き方。~密違反監視カメラ作った~

![output2.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13338/19008082-c62e-6c29-bef3-2b354ac66eb6.gif)
やぁ、やぁ、自粛解禁ムードになってきてみなさん油断していないですかね?
そんな悪い子たちのために密違反監視カメラ作りやした。
iOSのアプリで人の密を判定するアプリを作って、そのライブ映像を見れるサイトを作りました。

コンセプトは車のスピード違反取締りのオービスみたいな感じで、
人が密違反をしていたら、写真を撮ってしまうぞ!
という怖い監視カメラです。

ライブ映像はこちらから見れるますたぶん。
https://orbisforwalkers.tokyo
(5/22の午後14:00~18:00くらいの間だけ試しにライブ配信やります。それ以外は未定です。)
見れてなかったらごめんなさい、、

## 背景
コロナ便乗 創作欲求満たすぜ大喜利!!と言われたら反論はできない。
コロナ禍の中で、一線の研究者達が世界のために日々闘う姿をみて感動し、凡人

元記事を表示

【swift】singleton(シングルトン)とその代替案について

# はじめに
今回は、シングルトンについて書いていこうと思います!
シングルトンとはなんぞやと言うところから、シングルトンを使う場面やメリットについて公式ドキュメントを元に書いていきます!

公式doc:[Managing a Shared Resource Using a Singleton](https://developer.apple.com/documentation/swift/cocoa_design_patterns/managing_a_shared_resource_using_a_singleton)

# 共有リソースの管理者:シングルトン

公式ドキュメントのタイトルにある通り、シングルトンは共有リソースにアクセスします。
ざっくり言えば、**インスタンス内の値を変更後、別のインスタンスを生成しても前者のインスタンスの更新内容が反映されるどういった処理が可能になります。**

つまり、**インスタンスが1個しか生成されないことを保証します。**

イメージとしては、こちらの記事がとても参考になるので一読をお勧めします!
[シングルトンについて swift](h

元記事を表示

iPhoneからの転送時のエラー

iPhoneとPC(Windows)をUSB接続し、写真や動画などをコピーする際に、
「システムに接続されたデバイスが機能していません」/「A device attached to the system is not functioning(英語OSの場合)」
というエラーが出る場合は、

iPhone側で、設定-写真-「MACまたはPCに転送」項目で、「自動」を「元のフォーマットのまま」に変更してみる

元記事を表示

Flutter で Firebase Crashlytics を使おうとすると ネットワークエラーが発生する問題

結構ハマったので共有します。
# 概要
FlutterでFirebaseのCrashlyticsを使おうと、手順通りに設定していったのに、下記のエラーがでて疎通できない問題についてです。

“`
[Fabric] failed to download settings Error Domain=FABNetworkError Code=-5 “(null)” UserInfo={status_code=403, type=2, request_id=, content_type=application/json; charset=utf-8}
“`
Crashlyticsの画面も疎通待ちのまま更新されません。。。
![Screen Shot 2020-05-22 at 7.28.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/315258/50e6f861-c910-5b11-020c-a79a0a5eb804.png)

# やったこと
まずは、FlutterとFirebase自体を接続し

元記事を表示

【SwiftUI】基本的なモディファイアの種類と使い方①

#bodyプロパティ
定義:var body: Self.Body
ContentViewではカスタムビューの内容を記述する
複数のViewを組み合わせるにはVStackなどを使用してひとつにまとめる必要がある。

#frameモディファイア
フレームのサイズとビューの配置位置を指定

“`swift
func frame(width: ,height: , alignment: ,)
alignmentの種類
center,leading,trailing,top,bottom,topLeading,topTrailing,bottomLeading,bottomTrailing
func frame(minWidth: ,idealWidth: ,maxWidth…..)
“`
cssでいうwidth,height,

#fixedSizeモディファイア
ビューの表示を固定

“`swift
func fixedSize() -> some View
func fixedSize(horizontal:Bool,vertical:Bool) -> some View
ho

元記事を表示

UILabelの三点リーダーの位置のバラツキの調査

※調査記事の為、誤りが含まれている可能性があります。

## はじめに
様々なアプリでUILabelが使われていますが、UILabelにおいて指定の領域を超えた文字数を保有する場合、領域外の文字は三点リーダー以降切り捨てられます。(見た目上は)
そこで、UILabelの三点リーダーの位置のバラつきが気になったので試してみました。

## 試した内容
下記で試した文字列の長さに対して、UILabelのwidthは短い長さに設定しました。

|文字列|三点リーダーより前の文字列の文字数|三点リーダー|
|—|—|—|
|aaaaaaaaaaaaaaaaaa|2|![スクリーンショット 2020-05-21 22.47.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/559964/46f8bd00-c57d-c195-6ce4-67ed03bba24a.png) (下)|
|aaaaaaaaaaaaaaaaaaあ|2|![スクリーンショット 2020-05-21 22.47.53.pn

元記事を表示

UITextViewの文字を複数リンク化させる方法

# はじめに
![スクリーンショット 2020-05-21 19.19.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171702/74f0fdea-4314-cfaf-8c49-39a564021f4e.png)

iOSが意外に苦手なリンク化
HTMLみたいにタグで囲った範囲をリンク化する!みたいに出来たら便利なのですが、出来ないので

リンク化したい文字列の場所とタップした位置でゲームみたいに当たり判定でリンクをタップしたか判定します!

ViewController + Storyboardで解説

# Storyboard(Xibでも可)にUITextViewを貼り付ける
![スクリーンショット 2020-05-21 16.35.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/171702/70628ff2-c9d3-6595-240b-4d01592824ca.png)

制約も適当に張ります。

元記事を表示

【Swift】@testable import no such module “xxx” というエラーが出る

Xcodeでユニットテストを実行しようとしたらタイトルのエラーが出てしまった。
そんなモジュールは存在しないよと怒られてます。

### :tools: TestのTargetの「Host Application」が設定されていない
スクリーンショット 2020-05-21 16.11.08.png

上記の、タブ画面でHostApplicationが「None」になっていないか確かめる。
もしなっていたたら現在自分が開発中のアプリをターゲットにしてあげる。

### :computer: プロジェクト名などを途中で変更した場合
テストファイル内の

“`Swift
@testable import test
“`

上記でいう「test」の部分は自動で更新されない。。
ので自分で修正してあげる必要がある。

元記事を表示

AR Quick Lookで3DモデルをAR表示する

AR Quick Lookを使用すると、iOSのSafariで3DモデルをAR表示することができます。

[Quick Lookギャラリー \- 拡張現実 \- Apple Developer](https://developer.apple.com/jp/augmented-reality/quick-look/)

AR Quick LookではUSDZ形式の3Dモデルが必要になります。USDZ形式以外の3DモデルをUSDZファイルに変換するには上のリンク先のページ下部にある「Reality Converter」と「USDZツール」のどちらかを使用します。

Reality ConverterはGUIアプリで、USDZ形式以外の3Dモデルをアプリにドラッグ&ドロップしてメニューからExportするだけでUSDZファイルを生成することができます。

USDZツールを使用する方法も解説します。2020年5月20日現在の最新版である`USD Python 0.64`をダウンロードして、含まれているパッケージをインストールします。インストールするとアプリケーションフォルダに`usdpyth

元記事を表示

【Swift】SVProgressHUDの表示がiOS13以上だとおかしくなる

結構古くからある「SVProgressHUD」というローダーのライブラリがあります。
癖が無くて使いやすいのですが、iOS13.0で動かしてみたら画面中央では無く何故か左上の隅っこに表示されてしまいました。

![72616955-f5fd9580-395d-11ea-93e3-9d0310f525bb.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/55603/90e46151-1fde-4a66-71d7-f00666311bc6.png)

## 対応策
#### AppDelegate.swift

“`Swift
static var standard: AppDelegate {
return UIApplication.shared.delegate as! AppDelegate
}
“`

#### SceneDelegate.swift

“`Swift
func scene(_ scene: UIScene, willConnectTo session: UISceneSe

元記事を表示

iOSで再生中の曲をツイート

こんにちは。初めて投稿するので緊張していますが、がんばって書きます。
さて、今回はタイトルの通りiOSで再生中の曲をTwitterに投稿する方法を紹介したいと思います。
いわゆる「なうぷれ」と呼ばれるやつですね。
作り方はとっても簡単!ショートカットというとっても便利な純正アプリを使って実現させます。

20/5/21 改善しました(^o^)ノ イエー!

#目次

1. 完成形
2. 必要なアプリ
3. ざっくりな流れと説明
4. できあがり
5. 改善(20/5/21)
5. あとがき


#1. 完成形
###[なうぷれ](https://www.icloud.com/shortcuts/321e1e0723774eefa6405f28228c458e)

ショートカットが開けない時は、
**iPhoneの設定→ショートカット→信頼されていないショートカットを許可**
にチェックを入れると開けるようになります。(※自己責任でお願いします)

ホーム画面のアイコンをタップすると、下のよ

元記事を表示

Flutter初心者 & モバイルアプリ開発初心者の心得

**皆さんアプリ開発楽しんでますかー??**

どうも初めまして、[oke](https://twitter.com/oke331)と申します。

この度、Flutterで初めての個人アプリリリース、
そしてSwiftで2度目の個人アプリリリースを二つ合わせて1ヶ月程度で行いました。

私は最近「個人開発」というものにハマっております!!とても楽しい!

しかしながら、これまでアプリのリリースは一度も行ったことはなかったため、
いざ自分のアプリを世に出そうとした時に、

**「早くこの情報知りたかった…」**

という泣きたくなる出来事が山ほどありました。

特に私はモバイルアプリ開発をFlutterから入ったため、
SwiftやKotlinというネイティブ側の知識に乏しく、
Flutterの記事で時々見かける、

**「ここはいつものネイティブの開発のように…」**

の「いつも」がわからない状態でした。

しかしながら私のように、
Flutter人気も上昇してきて、ネイティブを触らずにFlutterからアプリ開発に入る方もいらっしゃるかと思います。

この記事では、
リリース手

元記事を表示

[ARKit]ARWorldMapを使った空間の保存と復元

## 概要
Worldmap情報を保存するとAR空間全体の状態を保存できる。
アプリ再起動後にオブジェクトを同じ位置に配置したい場合や複数端末で空間を共有したいときに便利

### Worldmapのロード
“`swift
let worldMap = try! NSKeyedUnarchiver.unarchivedObject(ofClass: ARWorldMap.self, from: data)
configuration.initialWorldMap = worldMap
“`

### Worldmapの保存
“`swift
self.sceneView.session.getCurrentWorldMap(completionHandler: { (worldMap, error) in
guard let map = worldMap else {
return
}
let archived = try! NSKeyedArchiver.archivedData(withRootObject: map, re

元記事を表示

【Flutter】multi_image_pickerのカメラがクラッシュする不具合

Flutterで複数画像が選択できるパッケージ「multi_image_picker」でカメラが動かない(アプリが停止する)現象があったのでその原因メモ。

#結論
・multi_image_picker
・image_picker_flutter

上記のパッケージを併用してると発生する模様。
pubspec.yamlに追記しただけで、実際はimage_picker_flutterの方はどこでもimportしておらず機能も使ってなかったが、パッケージが併存しているだけでNGな模様。
image_picker_flutterをpubspec.yamlから削除してPackage upgradeをかけてやれば解消した。

以上

元記事を表示

【flutter初心者】画面の構成とファイル分割

flutter初心者(自分)がアプリを作るにあたり最初に困ったのでメモ。
おそらく初歩的過ぎてちゃんと説明してるところがあまり見当たらなかったので。

よくあるサンプルコードは大体こんな感じになってることが多いです。

main.dart

“`dart
import ‘package:flutter/material.dart’;

void main() {
runApp(MyApp());
}

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: ‘Flutter Demo’,
home: MainPage(),
);
}
}

class MainPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(

元記事を表示

PodsディレクトリをGit管理するならBitriseのキャッシュ対象外にしよう

## はじめに

BitriseでiOSアプリのビルドを実行した時に、Build Phasesで行われるCocoaPodsのチェックで以下のようなエラーとなるケースがありました。結論としてはBitriseのキャッシュの影響でしたが、そのエラーとなるケースと解決策についてまとめます。

“`
error: The sandbox is not in sync with the Podfile.lock. Run ‘pod install’ or update your CocoaPods installation.
“`

## 前提条件

このエラーが起きるのに関係していた前提条件はこちら。

– パッケージマネージャーにCocoaPodsとCarthateを併用している
– **CocoaPodsの成果物であるPodsディレクトリもGit管理対象にしている**
– Carthageの成果物であるCarthageディレクトリはGit管理対象外にしている
– Carthageの成果物をキャッシュするために Bitrise.io Cache Pull/Push ステップを使用している

元記事を表示

OTHERカテゴリの最新記事