X



Swift part13

1デフォルトの名無しさん (ワッチョイ 0f2d-WqpA)
垢版 |
2021/04/12(月) 16:04:28.17ID:UoC5n/T70

Swiftについて語りましょう

※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1540818496/

スレ立て時は1行目に「!extend::vvvvv」
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2021/06/13(日) 12:15:26.34ID:kMWVg3vn0
>>30
let foo = await fn_async()

fn_asyncは呼び出し側と同じスレッドで実行されて
fn_asyncの中のawaitが来たらsuspendされてスレッドを明け渡す

resumeされた後は呼び出し側と同じスレッドで実行されるかもしれないし
違うスレッドで実行されるかもしれない
2021/06/13(日) 15:25:28.18ID:2BcHX0XT0
ありがとうございます。
c#5.0側の資料なども読んでみました。なんかNSRunLoopでの非同期処理に近い様な。
awaitが登場するまでは同期実行し、そこからスレッドプールへ投げるという事ですかね。
もう少し読み込んでみます。
2021/06/13(日) 16:32:11.81ID:kMWVg3vn0
これ見るといいと思う

Swift concurrency: Behind the scenes
https://developer.apple.com/videos/play/wwdc2021/10254/
2021/06/14(月) 11:17:37.18ID:dKj7zboM0
ボタン押したらバックグラウンドでインカメラを作動して動画が保存される機能付けたいけど難しい?
2021/06/16(水) 21:34:11.02ID:NAAsM4eN0
swift ui以前に、swiftそのものを使ってる人が居ない
36デフォルトの名無しさん (ワッチョイ a32d-Cdqd)
垢版 |
2021/06/17(木) 05:45:32.93ID:rV77MlmA0
SwiftUIな
スペースはいらない
37デフォルトの名無しさん (ワッチョイ 4f35-1a2e)
垢版 |
2021/06/28(月) 11:33:00.10ID:eks/qTPV0
struct DoubleGenerator: IteratorProtocol {
var cnt = 1
typealias Element = Int
mutating func next() -> Element? {
defer { cnt *= 2 }
return cnt <= 10 ? cnt : nil
}
}
struct Doubler: Sequence {
// typealias Element = Int?
typealias Iterator = DoubleGenerator

func makeIterator() -> Iterator {
return Iterator()
}
}
上記のコードはコンパイル出来るのですが、コメントを外すとダメです。

SequenceのAPI DocumentにはElement, Iterator requiredとあるのに何故でしょう?
38デフォルトの名無しさん (ワッチョイ 4f35-1a2e)
垢版 |
2021/06/28(月) 11:39:10.32ID:eks/qTPV0
>>37
API Referenceには
Default implementations provided.
とあるのでconflictするのかな?

ちな、compile errorは、
error: 'Sequence' requires the types ‘Doubler.Element' (aka 'Optional<Int>')
and 'DoubleGenerator.Element' (aka 'Int') be equivalent
39デフォルトの名無しさん (ワッチョイ 4f35-1a2e)
垢版 |
2021/06/28(月) 12:02:29.91ID:eks/qTPV0
>>38
Default implementationの件はSequenceのmakeIterator()の事です。
2021/06/28(月) 12:30:24.04ID:/8Q9yNC80
>>37
コメントアウトしてもOKなのは推論が効くから

SequenceのElementは↓なのでエラーメッセージにあるようにInt?じゃなくIntにする
associatedtype Element where Self.Element == Self.Iterator.Element
41デフォルトの名無しさん (ワッチョイ 4f35-1a2e)
垢版 |
2021/06/28(月) 12:52:19.56ID:eks/qTPV0
>>40
Great Thanks.

typealias Element = Int
とするとCompile errorが消えました。
また、この文が無くても良いのは型推論なのですね。
42デフォルトの名無しさん (ワッチョイ 4f35-1a2e)
垢版 |
2021/06/29(火) 07:37:54.03ID:2raiHHQH0
>>37
func makeIterator() -> Iterator {
return Iterator()

この部分はdefault implementationがあるとAPI referenceにある。
Jump to Definitionでソースを見てみる!
43デフォルトの名無しさん (ワッチョイ 4f35-1a2e)
垢版 |
2021/06/29(火) 07:45:51.58ID:2raiHHQH0
>>42
これか!
where Self == Self.Iterator
これはどう言う事でしょうか?


/// A default makeIterator() function for `IteratorProtocol` instances that
/// are declared to conform to `Sequence`
extension Sequence where Self == Self.Iterator {

/// Returns an iterator over the elements of this sequence.
@inlinable public func makeIterator() -> Self
}
44デフォルトの名無しさん (ワッチョイ 4f35-1a2e)
垢版 |
2021/06/29(火) 07:50:38.38ID:2raiHHQH0
>>43
Doubler == Doubler.Iterator
という意味なら、変なんですが!
45デフォルトの名無しさん (ワッチョイ 4f35-1a2e)
垢版 |
2021/06/29(火) 08:11:12.07ID:2raiHHQH0
>>43
この部分は実装では無く、別Sequenceの別シグネチャによる定義なのかな?

XcodeのJump to Definition機能ではdefault implementationを発見することは出来なかった。
46デフォルトの名無しさん (ワッチョイ 8f8c-eHmd)
垢版 |
2021/06/30(水) 09:59:39.81ID:xkSteTRI0
非同期処理でTwitterAPI通信を行なって(Twitterライブラリ Swifter使用)、あるユーザーの最新ツイート一件を(30秒くらいの間)取得し続け、そのユーザーがツイートを行いツイートが更新された瞬間 そのツイートを表示するという仕組みを作りたいのですが、
( 早い者勝ちシステムに勝つため)

ループ部分の良い案が思いつきません、アドバイスいただけませんでしょうか

以下がSwifterライブラリで用意されたのユーザーの最新ツイート一件を取得する関数です、ツイートの取得に成功するとsuccess 、APIエラー等で取得できない場合はfailureが帰ります

ループを行いsuccess時に取得したツイートが前回 取得時のテキストと異なっていたら そのテキストを返すという関数を作りたいので、もし可能でしたらアドバイスやコードをお願いしたいです。長々と申し訳ありません

swifter.getTimeline(for: .screenName("ターゲットのID"),count:1 , success: { json in
// 成功時の処理
print(json[0]["text"])

}, failure: { error in
// 失敗時の処理
print(error)
})
47デフォルトの名無しさん (ワッチョイ 7f35-k50j)
垢版 |
2021/07/04(日) 15:02:10.40ID:PTgpkIAJ0
Combineフレームワークを弄ってる。
自前のSubscriber, 例えばWeatherInfoを受け取るWeatherSubscriberクラスを実装しようとすると、大変なのだと気がついた。

UITableViewDelegateがtableViewメソッドの実装をたくさん求めるのと同様に、Subscriberはreceiveのシグネチャ違いのメソッドを3つも求めて来る。

e.g.
receive:_
receive:subscription
receive:completion
 
48デフォルトの名無しさん (ワッチョイ 7f35-k50j)
垢版 |
2021/07/05(月) 07:20:36.29ID:bBZppKt50
MVVMって何だ?
とずっと思ってたがMVCにObserver/Observableなメカニズムを導入したものだと理解した。

SwiftUI使えば必然的にMVVMを採用せざるを得ないという、良記事がここに!
https://tech-blog.rakus.co.jp/entry/20210331/swift

RxSwift付属のPlaygroundを開くとマシンのLoadAverageが飛び上がりXcodeがカクカク動いて閉口していた2017年頃から、気になってたのだ。
2021/07/05(月) 08:29:19.96ID:CIIXcSIba
アーキテクトの話に、あー聞いたことあるってなりたい
50デフォルトの名無しさん (スップ Sd4a-tKHk)
垢版 |
2021/07/06(火) 17:09:41.61ID:aMSJ7UkJd
>>48
階層モデルなんてwin95辺りにチヤホヤされた構造やん。
どんだけ出遅れ脳持ちの出来損ないなの?Ww
51デフォルトの名無しさん (ワッチョイ 758c-4x/S)
垢版 |
2021/07/09(金) 14:43:33.42ID:Bmeh7adm0
dispatch使って非同期の処理を並列化させて
1番早かった処理が1つ完了したら処理を止めるなんてできる?
52デフォルトの名無しさん (ワッチョイ 758c-4x/S)
垢版 |
2021/07/09(金) 17:42:02.52ID:Bmeh7adm0
非同期処理1: ----->キャンセル

非同期処理2: ----------->完了★ 一つが終わった時他を止めたい

非同期処理3: -->キャンセル
2021/07/09(金) 18:03:36.19ID:w0l6CXLG0
3つ全部にキャンセル投げる処理をそれぞれのCompletion Handlerに入れとけば?

最近は変わってるかもだけど昔はキャンセルが必要なやつはDispatchWorkItem使ってた
非同期処理側でキャンセルリクエストされたかどうかをチェックして自分で処理を抜ける必要はある
54デフォルトの名無しさん (ワッチョイ 758c-4x/S)
垢版 |
2021/07/09(金) 22:10:32.71ID:Bmeh7adm0
ありがとうございます。 ちょっとやってみます
55デフォルトの名無しさん (ワッチョイ 4bda-jBUj)
垢版 |
2021/07/14(水) 02:46:29.81ID:Z9MQZom50
IAP詳しい人いたら教えて下さい。

1.自動更新のサブスクリプションを購入
2.アプリをアンインストール+再インストール
3.リストア(SKReceiptRefreshRequest)実行

サーバ側でレシート検証を行うと、
「1」で購入した時のレシートに含まれるInApp.TransactionIDが
「3」で更新されたレシートに含まれるInApp.TransactionIDが変わってしまってます。
PurchaseDateとかその他フィールドはすべて同じ。
TransactionIDだけ変わってしまってます(sandbox)。

これは仕様でしょうか?それともApple側の不具合?
2021/07/14(水) 07:55:15.35ID:wgyTk/upH
>>17
>かと言って、ドロイド開発しても売れねーしなwww
自作アプリはともかく、フリーランスだと単価爆上がり中だろ > ドロイド
2021/07/14(水) 08:19:51.99ID:idSc395A0
>>55
仕様
https://developer.apple.com/documentation/appstorereceipts/transaction_id
2021/07/14(水) 08:41:37.27ID:QnWeAExd0
C系を経てswift の勉強を始めたけど
この言語作った人頭おかしい
かなりのひねくれものだと思う
59デフォルトの名無しさん (ワッチョイ ad35-/6+5)
垢版 |
2021/07/14(水) 08:49:24.63ID:7XtdSzBj0
>>58
Is Swift getting too complicated? – Chris Lattner on Swiftly Speaking

この動画によると、言語オタクがContributerに集ってる。

どの点がひねくれてる?
2021/07/14(水) 08:52:56.60ID:QnWeAExd0
>>59
後発言語なのに関数の定義とか独特すぎるわ
なんか狂気を感じる
2021/07/14(水) 09:03:51.43ID:GpWYiZZZM
objective-cから引き継がれてる関数のことかな?
2021/07/14(水) 09:36:40.61ID:QnWeAExd0
>>61
Objective-Cも個性的過ぎて挫折した
あまりディスってるとアンチスレ行け言われそうだからもうやめるけど
63デフォルトの名無しさん (ワッチョイ 4bda-jBUj)
垢版 |
2021/07/14(水) 17:25:39.94ID:Z9MQZom50
>>57
勉強になりました。

>This value has the same format as the transaction’s transactionIdentifier property; however, the values may not be the same.
さり気なく怖いこと書かれてたのでサーバ側実装やり直しなんですが、
クライアント側の購入トランザクションと、サーバ側のInApp配列レコードを紐付けるのがトランザクションIDだと考えていたのですが、紐付かないケースもあるってことですね。
怖い仕様だ。。。
でも、紐付かないとなるとリストアができないと思われるのですが。。。
6463 (ワッチョイ 4bda-jBUj)
垢版 |
2021/07/14(水) 18:33:35.47ID:Z9MQZom50
>でも、紐付かないとなるとリストアができないと思われるのですが。。。

思い違いでした。
オリジナルトランザクションIDを参照することでリストアできそうです。

ただ、購入時のレコード作成が出来ない気がします。
InApp配列から、購入時のトランザクションを特定して、PurchaseDateとExpiresDateを抽出する必要があると思いますが、
クライアント側のトランザクションIDと一致しない場合もあるとなると、仕様として破綻してしまいそうな。。。
2021/07/14(水) 23:31:41.41ID:91j44Gao0
もうSwityStoreKit使えよ
66デフォルトの名無しさん (ワッチョイ 4bda-jBUj)
垢版 |
2021/07/15(木) 01:09:16.63ID:aRnsaX9N0
SwityStoreKitはクライアント側ライブラリですね。
クライアント側もほぼ実装終わってからSwityStoreKitってのがあるのを知りましたw
最初から知ってれば使ってましたが、、、

サーバ側でもうひとつおかしな仕様を発見しました。
1.自動更新コンテンツの定期購入をする
2.レシートをサーバ側で検証する①
3.アプリ終了
4.アプリ起動
5.レシートをサーバ側で検証する②

①と②でレシートに含まれるInAppのTransactionIDが違っていた。その他フィールドは同一の値。

起動のたびにレシートをサーバ側で検証して、定期購入中かどうかを判断するやり方が良いのかどうかは分からないけど。。。
67デフォルトの名無しさん (アウアウウー Sa09-4x/S)
垢版 |
2021/07/15(木) 10:09:28.26ID:d1aKwnRba
Userdefaultの値を使って、クラスをインスタンス化
したいのですが、グローバル変数もしくはメンバ変数でこれを宣言したい(いくつかの関数内でクラスメソッドを使用したいため) 場合はどのように宣言すればいいですか?
68デフォルトの名無しさん (ワッチョイ ad35-/6+5)
垢版 |
2021/07/15(木) 11:48:11.03ID:rOYlGMFB0
>>60
なるほどぉ。そうだよね。
method signature(type singnature, 同名のメソッドが複数存在するときに、各々区別するための情報)

が独特とかいう話かな。
他の言語も個性的だと思うけど。初期値つき引数の記載方法とか、可変個引数、Variadic Argumentsの記載方法とか、言語によってバラバラだし。
69デフォルトの名無しさん (ワッチョイ d901-gi0+)
垢版 |
2021/07/24(土) 10:14:53.83ID:+KsHl2oE0
最近始めたばかりの初心者ですが、一つだけ質問させてください
ViewController
>view
 >view1
 >view2
こんな感じで画面全体のview1の上に、もう一枚の正方形のview2を置きたいのだけれど
真ん中にview2を設置するとちゃんと表示されるけど、下部に設置すると
>view
 >view1
  >view2
こうなってしまってビルドしてもview2が表示されなくなってしまう
ググってもなかなか解決できなくて、最終手段で質問させていただきました…
もしよければヒントでもいいので教えてください
2021/07/24(土) 19:58:09.28ID:4fhla4Sv0
superview と subviewがどういうものかは理解できてる?

>> 画面全体のview1の上に、もう一枚の正方形のview2を置きたい
のなら最初から下の構成が正解のはずで、viewの位置でヒエラルキーが
変わっちゃうなら、そもそもview1が画面全体を覆ってないんじゃないかと
思うけどどうでしょうか
71デフォルトの名無しさん (ワッチョイ d901-gi0+)
垢版 |
2021/07/25(日) 15:15:37.79ID:JOmGddZ50
>>70
superviewは一番最初からあるviewでsubviewは後から自分で追加したものって感じでしょうか?
たしかに下の構成が正解に思えますね…
view1は、4辺とも0で制約かけて画面一杯に広げてます
あれから色々触ってみて、一応storyboard上は制約もかけてview2を1の下部に置くことが出来たのですが、ビルドするとview1の下に入ってしまっています…
72デフォルトの名無しさん (ワッチョイ d901-gi0+)
垢版 |
2021/07/25(日) 15:34:45.82ID:JOmGddZ50
なんかよく分からないけど解決しました
73デフォルトの名無しさん (ワッチョイ 5135-hZWg)
垢版 |
2021/07/27(火) 08:23:51.84ID:VUCtiYXg0
>>72
あるある。
よく解らんけど…

俺もVC++でThread safeとかAtomicとかよく解らんかったけど、RubyでThread, Mutexを使って初めて理解できた。
74デフォルトの名無しさん (ワッチョイ 992d-hZWg)
垢版 |
2021/07/27(火) 10:39:45.20ID:NHKQwJbe0
困った時はxcode再起動
2021/08/08(日) 13:57:21.77ID:UvnbNG8C0
>>71
storyboardはツリー表示順、下にあるほど前面に表示される
2021/08/08(日) 14:01:32.36ID:UvnbNG8C0
ビジネスアプリ作るのにSwiftって選択はもう無いけどな
2021/08/13(金) 10:35:06.43ID:UQXwRNun0
そろそろswiftUI使って良いかな?
まだ早いかな
2021/08/13(金) 19:00:11.24ID:SOURQaoHa
使いたいけど使いこなせません
なんかHTMLぽい雰囲気が苦手
79デフォルトの名無しさん (ワッチョイ aebb-rk8R)
垢版 |
2021/08/13(金) 21:57:52.94ID:2O5TgtP80
SwiftUI使い始めたらめちゃくちゃ楽でもう戻れない。
あっという間に画面できるのすごい。
不便なところも多々あるけど。
2021/08/14(土) 14:45:21.83ID:da7K/4910
SwiftUI実務で全く使えない
flutterの2年遅れって感じ
81デフォルトの名無しさん (ワッチョイ ed35-iWai)
垢版 |
2021/08/14(土) 15:48:29.52ID:t+O968D50
SwiftUIのPreviewがXcode13beta 5でチョイと速くなった気がする。

俺の気のせいか?
ちなみにIntel Macです。
82デフォルトの名無しさん (ワッチョイ 6e63-Eilb)
垢版 |
2021/08/27(金) 21:57:06.24ID:6OaQuF0B0
ご存知の方がいたら教えて下さい。
アルバムから写真を複数選択して取り込みたいのですが、選択をする際に標準アルバムアプリの様に日付でソートや検索させる事が出来る方法はありませんでしょうか?

現在複数選択させる為にDKImagePickerControllerを取り入れてみましたがどうも出来ないみたいで・・・。
2021/08/28(土) 09:04:53.46ID:Qr4OfQvA0
ライブラリ使わないで作っちゃえば?
84デフォルトの名無しさん (ワッチョイ 6e63-Eilb)
垢版 |
2021/08/28(土) 13:23:58.20ID:P8wU/O7S0
>>83
レスありがとうございます!
現状勉強し始めた所で作るスキルも余裕も無いので出来ればまずはライブラリが使えればと思っておりました。
AppleのPHPickerも見よう見まねで使ってみたのですが私のやり方が下手なのか選択後の表示までがかなり時間掛かってダメでした。

やはりライブラリではないのですかね・・・。
2021/08/28(土) 18:51:00.16ID:Mpcgs7u70
テキストエディタみたいなの作ろうとしててハイライトや文字色変更はAttributedString使えばいいのはわかったけど空白や改行をblank文字や矢印で可視化するのって(UI)TextFieldに対して実装できる?
2021/08/29(日) 09:43:42.69ID:Fbx5nxuOM
空白は大丈夫だろうけど改行とか不可視文字はダメな場合があるかもね

とりあえずはlayoutManagerのshowsInvisibleCharactersを使えば可視化できる
カスタマイズしたければlayoutManagerのdelegate
2021/08/29(日) 11:20:49.34ID:5Xgbb4oG0
>>86
ありがとう試してみる
88デフォルトの名無しさん (ワッチョイ 2792-Hlg3)
垢版 |
2021/09/06(月) 04:08:41.72ID:tsmA7sn60
テーブルビューのセルをドラッグで並び替えたいです
セルはカスタムセルを使ってます

tableView.isEditing=trueにした時に
削除ボタンは勝手に左に出てくるんですが
逆に並び替えボタン(3本線のやつ)が
セルの右に出てこなくて困ってます

カスタムセルを使ってる場合は
並び替えをどう実現すればいいのでしょうか?
ググってもデフォルトのセルの説明ばかりで
カスタムセルの並び替えの情報が少なく、、、
2021/09/06(月) 08:12:17.33ID:+CkE21X40
カスタムセルでも3本線出るよ
レイアウトの設定がおかしいのでは
90デフォルトの名無しさん (ワッチョイ 2792-Hlg3)
垢版 |
2021/09/06(月) 10:48:19.94ID:tsmA7sn60
>>89
こんな感じですね…
https://i.imgur.com/CoOvluV.png

contentViewの背景を透明にしてるせいかなと
思ったのですがグレーにしても表示されず…
その3本線はセルがどういう構造であっても
一番上のレイヤーの右端に描画されるんでしょうか…?
91デフォルトの名無しさん (ワッチョイ 7fbb-mTzs)
垢版 |
2021/09/06(月) 23:18:52.11ID:515INs2m0
SwiftUI のeditMode がactive の時、特定のセルだけonDelete を効かなくするとか出来ますか?
92デフォルトの名無しさん (ワッチョイ f192-rXSq)
垢版 |
2021/09/11(土) 22:56:55.54ID:KYjr6rec0
誰かほんとに助けて下さい…
画像を消したつもりがxcassetを消してしまったらしく
リファレンス削除じゃなくて本削除をしてしまい
ゴミ箱にすら元ファイルがない状況です

NewFileから新しくxcasset を追加して
そこに元々あった画像を入れ直したのですが
ビルドは通るのですが実際には画像が全く表示されません

100時間くらいかけて作ったのに
たった1つのミスでおじゃんになるとは…
誰か助けて下さい…
93デフォルトの名無しさん (ワッチョイ 5d2d-9yYO)
垢版 |
2021/09/11(土) 23:14:04.98ID:DsmB+o7j0
Time MachineかGitHUbに残ってるだろ
94デフォルトの名無しさん (ワッチョイ f192-rXSq)
垢版 |
2021/09/11(土) 23:20:57.26ID:KYjr6rec0
>>93
タイムマシン使ってなくて
gitも使ってません…
95デフォルトの名無しさん (ワッチョイ e6bb-CGct)
垢版 |
2021/09/11(土) 23:29:01.07ID:+YwOBNLO0
ならもうないんじゃない?
ただ入れるだけじゃなくて、画像の名前も揃えなきゃ読み込まないよ。
2021/09/11(土) 23:34:18.26ID:Ct4X6m5V0
Time Machine使ってないとか自殺行為だろ
97デフォルトの名無しさん (ワッチョイ f192-rXSq)
垢版 |
2021/09/11(土) 23:49:34.44ID:KYjr6rec0
>>95
画像の名前は変えてないですね
元画像は別のフォルダに入れてたので
元画像のファイル名がそのままファイル名になってます

画像の名前が同じでエラーも出ていなくて
それでも表示されないってどういうケースが
考えられますでしょうか?

…と打ちながら色々やって原因わかりました
xcassetが消えた時に何故かStoryboardの
ビュー達のレイヤーの上下関係がぐちゃぐちゃになってて
再背景のビューが最前列に来ていたので
エラー出ずに何の画像も表示されない感じになってました

すみません、回答くださった方々
ありがとうございます

タイムマシンてやつを調べてやってみます
98デフォルトの名無しさん (ワッチョイ 5d2d-9yYO)
垢版 |
2021/09/11(土) 23:57:05.15ID:DsmB+o7j0
年金が振り込まれません
どうしたらいいですか?
賭け金は払ったことありません
99デフォルトの名無しさん (ワッチョイ f192-rXSq)
垢版 |
2021/09/13(月) 11:11:50.02ID:QUCWX/FL0
色々調べたんですがタイムマシンは
ノートPCだし容量が足りなさそうなので
gitのローカルリポジトリってやつでやります
最初からこれ使ってれば
git reset --hard HEAD
の1行で元に戻せたのか…なんて事だ…
2021/09/13(月) 11:41:37.44ID:mzfDd3AK0
ローカルリポジトリだけだと内部ストレージが死んだらまた消えちゃうからタイムマシンと併用がいいんじゃね?
それにタイムマシンは外付けストレージに保存するからノートPCとかあんまり関係ないかと
あとストレージの痕跡からファイルを復活させるフリーウェアも探せば見つかる
101デフォルトの名無しさん (ワッチョイ f192-rXSq)
垢版 |
2021/09/13(月) 12:18:34.94ID:QUCWX/FL0
>>100
ローカルリポジトリなんだけども
作業ディレクトリをDropboxにしておけば
その点は解決するのではないかと思ってるのですが
どうでしょうか?

ノートPCで持ち運びしょっちゅうしていて
外付けHDDとセットで考えるのがあまり考えられず…
2021/09/13(月) 14:04:34.55ID:mzfDd3AK0
それなら問題ないかと
ちなみにタイムマシンの場合もHDDを持ち運ぶ必要はないよ。家にいるときに繋いでおけばバックアップしてくれる。
HDDがNASならつなぐ手間もなくて楽
103デフォルトの名無しさん (ワッチョイ 5d2d-9yYO)
垢版 |
2021/09/13(月) 15:17:09.14ID:1XnaHuBL0
・Time Machineを有効にする
・GitHubアカウントを作って同期させる
まずこの2つをやる
Dropboxとか考える前に取り敢えずやる
無料だし、1時間あれば余裕で終わるし、何も損はしない

外付けストレージは持っておいた方がいいよ
バックアップは基本的に外部に保存するものだから
2021/09/13(月) 16:25:20.11ID:WiRfF30Ma
GitHubとの同期ってなんでもかんでもするわけじゃないだろ
同期するプロジェクト/しないプロジェクト
の境界線はどの辺にあるもんなんだろう
105デフォルトの名無しさん (ワッチョイ e6bb-CGct)
垢版 |
2021/09/13(月) 20:23:05.73ID:kllLZGts0
OneDrive上にソースコード、バージョンはGitで管理してる。
バックアップ取るのも面倒だし。
106デフォルトの名無しさん (ワッチョイ f192-rXSq)
垢版 |
2021/09/13(月) 20:52:02.08ID:QUCWX/FL0
おぉありがとうございます
家の中でも場所変えながら触ってるので
外付けは煩わしいと思ってましたが
NASという手がありましたね…!
今の家のルーターだとその機能ないですが
これを機に買ってもいいかもですね
107デフォルトの名無しさん (ワッチョイ f192-rXSq)
垢版 |
2021/09/15(水) 11:22:44.38ID:/qzPJU2e0
ローカル通知を毎朝8時に出してるんですが
確かに朝8時に起きてみた時は
通知センターに通知が来ているのを確認できてます

しかし寝坊して朝10時とかに起きた時は
通知センターを見ても何も表示されていません

凄い僅かな可能性として
寝ぼけて通知を消しているという説もありますが
一回別の部屋に置いて寝て10時過ぎに起きて
見た時も通知がなかったので
寝ぼけて通知を消してる線は薄いと思います

そもそも通知センターって
一定時間経ったら消える仕様なんですか?
ユーザーが確認操作する前に消えたら
通知の意味がないと思うんですが、、、
108デフォルトの名無しさん (ワッチョイ f192-rXSq)
垢版 |
2021/09/15(水) 11:33:05.70ID:/qzPJU2e0
寝ぼけてる可能性もあるから
最後の手段としては監視カメラ付けて確認とかか…
2021/09/15(水) 13:06:53.60ID:zQ8hOU3E0
バナースタイルが一時的になってるんだろ
2021/09/15(水) 13:08:19.35ID:zQ8hOU3E0
もしくは通知の設定に通知センターを入れてないか
111デフォルトの名無しさん (ワッチョイ f192-rXSq)
垢版 |
2021/09/15(水) 21:05:11.07ID:/qzPJU2e0
一時的な設定とかもあるんですね
ちょっと調べて見直してみます!
ありがとうございます!
112デフォルトの名無しさん (ワッチョイ 6663-jC2m)
垢版 |
2021/09/16(木) 20:09:44.57ID:QgMaFd0e0
お知恵を貸して下さい

Library(ディレクトリ)の中にDocumentsと言うサブディレクトリを作成し、その中にいくつかファイルを入れました。
ボタンを押すことによってそのファイル達を全てDocuments(ディレクトリ)の中にコピーをしたいのですが実機だとエラーが出てしまいます。
送信元と送信先を、
"/Documents"+ "/ファイル名"で指定させるとそのファイルだけはコピー出来ます。
まとめていっぺんにと言った事は出来ないのでしょうか?

宜しければお教え下さい。
2021/09/16(木) 21:35:34.57ID:RSGINLpP0
そのディレクトリのファイルリストを取得して
全ファイルに対してforで回す
114デフォルトの名無しさん (ワッチョイ ff63-UZwA)
垢版 |
2021/09/17(金) 10:37:48.75ID:qlVucyuP0
>>113
お教えいただきありがとうございます!
copyItemを使っていっぺんに・・・と言う事はやはり出来ないのでしょうか?
115デフォルトの名無しさん (ワッチョイ 5392-c3bG)
垢版 |
2021/10/01(金) 15:49:15.61ID:YSujU5fb0
LicensePlist使ってる人いますか?
RunScriptに

if [ $CONFIGURATION = "Debug" ]; then
cd $SRCROOT
/usr/local/bin/license-plist --output-path $PRODUCT_NAME/Settings.bundle
fi

と、指定のスクリプトを入れているのですが
ビルドをすると

Command PhaseScriptExecution failed with a nonzero exit code

というエラーが出てビルド出来ません
どのサイトを見てもこれ以上の説明はないので
どうすれば解決するのかが分からず…

解決方法分かる方いましたら教えて下さい…
2021/10/01(金) 16:23:47.10ID:PaEGpo5A0
もっと詳細なエラーメッセージを出力する、オプションは無いの?
117デフォルトの名無しさん (ワッチョイ 5392-c3bG)
垢版 |
2021/10/01(金) 17:02:03.29ID:YSujU5fb0
Showing Recent Issues
/Users/xxxxx/Library/Developer/Xcode/DerivedData/xxxxxx-aazoiwnmustwcicialvgdzcoqlct/Build/Intermediates.noindex/xxxxx.build/Debug-iphonesimulator/xxxxx.build/Script-54C553442706F41800CA4475.sh: line 4: cd: /Users/xxxxx/Dropbox: No such file or directory

関連するエラー?として
そんなファイルはないっていうエラーが2つ出てます

ユーザー名とプロジェクト名はxxxxxに変えてます

少し不思議なのはDropboxってフォルダはたしかになくて
プロジェクトを入れているパスは

/Users/xxxxx/Dropbox (個人)/iPhoneApp/xxxxx/

なんですよね
最初のxxxxxはユーザー名で後ろのxxxxxはプロジェクト名です

Dropboxのディレクトリパスの中に
半角スペースが入ってるのが悪さしてるんですかね…?
だとしてもその修正の仕方が分からないです

普通にFinder上でフォルダ名を変えても
多分変なことになりますよね…?
2021/10/01(金) 17:22:57.62ID:rkmDwkSca
パスを""で囲めばいいのでは
2021/10/01(金) 17:24:40.52ID:PaEGpo5A0
>cd: /Users/xxxxx/Dropbox: No such file or directory
Dropbox の後ろの半角空白で、切れているのだろう

" とか、' とか、何かでパスを囲んだら?
それか、半角空白をエスケープするとか
120デフォルトの名無しさん (ワッチョイ 5392-c3bG)
垢版 |
2021/10/01(金) 17:48:31.68ID:YSujU5fb0
build settingsの中でパスが見えてるところは
大体${XXXX}みたいな形式でパスが設定してあったのですが
それを全部絶対パスの直書きでダブルクォーテーションで
括ってみたんですがまだ同じエラーが起きるようです
変えないといけないところがまだ変えれてないのか…
どこを変えればいいのか検討もつかぬ…

なんか多分PodのLicensePlistが
ビルド時にcdコマンドを使おうとしてて
その時に半角スペースのところでパスが切れて
移動失敗して目的のファイルが見つけられない?
そんな感じな気がするんですが
どこのパス設定を直せばいいのか…
121デフォルトの名無しさん (ワッチョイ 5392-c3bG)
垢版 |
2021/10/01(金) 17:52:53.57ID:YSujU5fb0
ディレクトリのパスでダブルクォーテーションで
囲む処理をしてない開発はなんなの!泣
いや別の問題かもしれないけど…
まだiPhoneアプリ始めて1ヶ月くらいの
ペーペーだからこういうのはほんと分からなくて泣きそう

Lottie-iosしか使ってないから
そのライセンス表示を自分で画面作って表示した方が
早い説もあるか…
122デフォルトの名無しさん (ワッチョイ 5392-c3bG)
垢版 |
2021/10/01(金) 18:05:43.57ID:YSujU5fb0
すみません僕の実力じゃ解決出来なさそうなので
とりあえず諦めてアプリ内にビュー作って
lottie-iosのライセンスのURLにリンク貼って
飛ばすようにします
そっちの方が早い…
2021/10/01(金) 20:32:38.58ID:PaEGpo5A0
Windows でも、
C:\Program Files とか、半角空白が入っているから、地獄。
日本語のパスも

コマンドプロンプト・PowerShell から、アプリを起動する際に、バグってしまう
124デフォルトの名無しさん (ワッチョイ 6bda-/SUH)
垢版 |
2021/10/09(土) 18:10:23.61ID:GfqKE+qY0
だれかWkWebViewに詳しい人いませんかね?
Ajax送信のときにcookieが送られないんだけど。。。

ちなみに、API呼び出し(Alamofire)とWkWebView間でのクッキー共有まではできてます。
普通にページ表示のときも、サーバ側でセッション維持できてます。
なぜかAjax呼び出しのときだけクッキーが送られてこない。

Androidだとそーいう現象出てないので、WkWebViewの仕様なのか不具合なのかわからんが、どうすればいいんですかねこれ(呆
125デフォルトの名無しさん (ワッチョイ de63-ka7q)
垢版 |
2021/10/11(月) 19:33:22.04ID:OBM7H07b0
フルサイズでは無いモーダルビューで画像を表示させたいのですがさせた後に下にスライドで閉じてもメモリの使用がそのまま残ってしまいます。
何枚か開くと結構な容量を取ってしまうのでスライドで閉じた際にそこで使ったメモリ解放の様な作業をしたいです。
やり方等ご存知の方お教え頂けないでしょうか?
2021/10/11(月) 20:36:47.05ID:/1PjbQ0U0
HTML でも、要素を非表示にしても、メモリを保持したままだから、再表示できる。
でも、要素を削除すると、メモリも削除されるから、再表示できなくなる

つまり、要素の非表示と削除の違い
127デフォルトの名無しさん (ワッチョイ de63-ka7q)
垢版 |
2021/10/11(月) 21:34:06.05ID:OBM7H07b0
なるほどですね。
ただ写真をクリックするとその画像がモーダルビューで表示させる場合その都度読ませるという形には出来ないのでしょうか?
128デフォルトの名無しさん (ワッチョイ de63-ka7q)
垢版 |
2021/10/11(月) 21:36:22.55ID:OBM7H07b0
すいません。>>127は普通に出来ますよね。
メモリが残ってしまうだけで。
2021/10/11(月) 22:03:31.09ID:/1PjbQ0U0
【CSS】display:noneとvisibility:hiddenの違いと非表示にする際の注意点
https://begeeek.com/article/365/

ただし、どちらも、DOM 内に要素が存在する。
要素を削除したわけではない
130デフォルトの名無しさん (ワッチョイ 3901-Cxsq)
垢版 |
2021/10/28(木) 23:38:53.63ID:hWPpyVSv0
型推論に時間がかかりすぎ。
分解して、他の表現にしろ。
と表示が出て、シミュレータが起動してくれないんだけど、
具体的にどの箇所が問題なのか、さっぱりわからない。
困った。
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況