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

iOS関連のことを調べてみた2020年11月10日
目次

iOSでパラメータ付きのPUSH通知を受け取る

この記事の前提は、既にPUSH通知は届く状態とします。

参考資料:
[iOS で Firebase Cloud Messaging クライアント アプリを設定する](https://firebase.google.com/docs/cloud-messaging/ios/client)

初期設定では、アプリが起動している場合はPUSH通知のバナーは表示されません。
次の didReceiveRemoteNotification に値が届きます。

“`swift

class AppDelegate: UIResponder, UIApplicationDelegate {

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

// 省略…

Messaging.messaging().delegate =

元記事を表示

FCMにおける`InvalidApnsCredential`エラー

# PUSH通知が届かない

Firebaseではよくあること

– Firebaseに登録した証明書・鍵がおかしい(パスコードが違う・KeyIDが異なるなど)
– 端末側のtokenが取得できていない

など考えればいくらでも出てくる

# 調査方法

pushが実際に送られている確認する。
ブラウザから送るとエラーなどは表示されないので原因がわからないのでCURLで検証することをお勧めする。

“`
curl -X POST –header “Authorization: key={server_key}” \
–Header “Content-Type: application/json” \
https://fcm.googleapis.com/fcm/send \
-d @- << EOF { "to":"{device_token}", "notification": { "title": "xxxxx", "body": "yyyyy" }, } EOF ``` のような通知を送ると > {“multica

元記事を表示

【SwiftUI】CocoaPods導入手順とFirebaseの設定

# はじめに
今回はMacにCocoaPodsを設定し、Firebaseアプリ開発の手順を記載。

# 開発環境
OSX 10.15.7 (Catalina)
Xcode 12.0.1
CocoaPods 1.10.0

# CocoaPodsの環境構築
CocoaPodsを設定します。
【参考】[CocoaPods](https://cocoapods.org/ “CocoaPods”)

ターミナルで以下のコマンドを入力してください。

“`CocoaPodsのインストール
sudo gem install cocoapods
“`

以上でセットアップは完了です。

# Firebaseと連携する
### Firebaseのプロジェクトを作成する
Firebaseのプロジェクトを作成後、iOSを選択し、以下を入力します。
![Haiku_-_概要_-_Firebase_コンソール.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/867981/3c655583-bf23-3c0e-e1d5-7f

元記事を表示

ファイルに拡張属性( Extended Attributes )を付与する

## はじめに

iOS ではデバイス上のファイルに対して、属性のキー [FileAttributeKey] (https://developer.apple.com/documentation/foundation/fileattributekey) に対応した値を取得することができます。これには、ファイルの作成日や更新日、ファイルのサイズといった情報が含まれています。 FileAttributeKey に定義されている値については FileManager に用意されているメソッド [attributesOfItem(atPath:)](https://developer.apple.com/documentation/foundation/filemanager/1410452-attributesofitem) を通して値が取得できますが、これとは別に独自に属性を設定して付加情報を保存/取得することもできます。
利用シーンの例として、S3 上のファイルをローカルにダウンロードした際に、ファイルに更新時間に関する情報 [LastModified](https://docs.aws.

元記事を表示

Siri湯婆婆(iOS ショートカット入門)

天邪鬼なので簡単に流行りに乗るのもいかがなものかと思ったのですが、これなら他人と差別化もできてるし……というわけで書きました。果たしてショートカットは技術記事なのか疑問ですが、まあ大丈夫でしょう。

## ショートカットについて

AppleがWorkflowというアプリを買収して改良?[^moment]したものです。iOS 12からApp Storeで提供され、iOS 13からプリインストールされています。__簡単なツールを作る__のにはもってこいだと思います。自分用のCLIコマンドみたいイメージです。(もちろん[ShortcutsGallery.com](https://shortcutsgallery.com/)なんかで広く共有されているものもあります。)iOS 14ではアプリのアイコンが変えられる!なんて巷では話題になってましたが、ここでは本来の使い方をしてあげましょう。

[^moment]: [ショートカットの愚痴](https://twitter.com/i/events/1325415788203831296)

## 完成形

Redux+Rx(ReSwift+RxSwift)で構築するiOSアプリアーキテクチャ

# 0. はじめに
この記事は、下記のような方に向けて書いています。

– Reduxの概念をある程度は理解している
– iOSアプリのアーキテクチャとしてRxも組み合わせてイイ感じに採用したいが、実装方法で悩んでいる

また、RxSwiftの使い方については今回の本筋とはずれるので割愛しています。

# 1. 導入

使用するライブラリは以下の通りです。

– RxSwift – 6.0.0
– ReSwift – 5.1.1

今回はCarthageを使ってライブラリをインストールしていきます。

“`Cartfile
# Rx
github “ReactiveX/RxSwift”

# Redux
github “ReSwift/ReSwift”
“`

Cartfileを作成したら、下記のコマンドを実行して指定したライブラリをビルド後、Xcodeプロジェクトにビルドしたライブラリを追加します。
今回説明したい本筋とはずれるので、Carthgeによる導入については先人の書いた分かりやすい記事を参照ください([参照](https://qiita.com/ShinokiRyos

【Xcode】ViewDebuggerを用いたAutoLayout簡単デバッグ

# はじめに

こちらの記事は以前ツイートした(↓)内容を元にしています。だいぶ時間がたっているのですが、簡単で有効な方法だと思ったので、グーグル検索にひっかかるようにQiitaにしておきたいと思います。

【iOS】Pythonista3 でもpipコマンドでモジュールをインストールできる。

# はじめに
iOS/iPadOS用のアプリ**[‎Pythonista 3](https://apps.apple.com/jp/app/pythonista-3/id1085978097)**には様々な[**モジュール**](http://omz-software.com/pythonista/docs/ios/index.html)がインストールされていますが、外部モジュールを**pip**コマンドでインストールすることもできます。

# 必要なもの
– StaSh

#### StaShのインストール
こちらの記事にメモしておいたのですが、**StaSh**をインストールするだけです。
[Pythonista 3 にStaSh をインストールする。 – Qiita](https://qiita.com/maboy/items/cef5dee13d5b2e9ac843)

コンソールに次の呪文をコピペして実行します。

“`python:StaShをインストールする呪文
import requests as r; exe

元記事を表示

「Module compiled with Swift x.x.x cannot be imported by the Swift x.x.x compiler」というエラーが出てビルドに失敗する場合の対処

# 目的・背景

初めてiOSアプリの開発プロジェクトに参画。
既存のiOSプロジェクトを読み込んでビルドしようとしたらエラーになったので備忘録として書く。

# 何が起きたか

既存のiOSプロジェクトをXcodeで読み込んでビルドしようとしたらエラーになった。

“`
Module compiled with Swift 5.1.3 cannot be imported by the Swift 5.1 compiler: /Users/xxxxxxx/Desktop/プロジェクト/Carthage/Build/iOS/Tabman.framework/Modules/Tabman.swiftmodule/x86_64-apple-ios-simulator.swiftmodule
“`

# 原因

1. Carthageというライブラリ管理ツールがMacにインストールされていなかった
2. Command Line Toolsに使用するXcodeを選択していなかった
3. ソースに含まれるcarthageライブラリのアップデートが出来ていなかった

# 結論

## 1.

元記事を表示

BigbluebuttonでiOSデバイスのカメラが使用できない件

BigbluebuttonでiOSからカメラの映像が共有できない(エラー1020が出る)という問題が上がっている。
当方iphone(iOS 13.7)でも不具合を確認している。

STUNサーバの設定が悪さをしているようなので、参考までに。
NATを使っていなくてもSTUNサーバを使う場面があるというのが混乱に拍車をかけているようだ。

STUNサーバが標準でstun.freeswitch.orgが設定されているが、これが動作していないようで、iOSはそこでカメラが共有できなくなってしまう。
googleのstunサーバ`stun.l.google.com:19302`なら大丈夫のようだ。(使えるSTUNサーバなら何でもよい)

“`/usr/share/bbb-web/WEB-INF/classes/spring/turn-stun-servers.xml


OTHERカテゴリの最新記事