iOS 26 will remove ALAssetsLibrary. When do you expect to provide a compatible version?
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 25/100
- issue の種類
- バグ
- 明瞭さ
- 説明が足りない
- 活発さ
- 停滞
- 技術スタック
- ios, swift
- 領域
- mobile-dev
調査の方向性
Start by locating the PromiseKit code containing the UIImagePickerController promise and its ALAssetsLibrary usage. Research the iOS 26-compatible replacement and determine how the image-data path should preserve the existing promise behavior; done means the affected flow builds and works without ALAssetsLibrary on supported iOS versions.
索引モデルが issue の本文から書いたものです。
説明
public func promise(_ vc: UIImagePickerController, animated: Bool = false, completion: (() -> Void)? = nil) -> Promise<NSData> {
let proxy = UIImagePickerControllerProxy()
vc.delegate = proxy
present(vc, animated: animated, completion: completion)
return proxy.promise.then(on: nil) { info -> Promise<NSData> in
#if swift(>=4.2)
let url = info[.referenceURL] as! URL
#else
let url = info[UIImagePickerControllerReferenceURL] as! URL
#endif
return Promise { seal in
ALAssetsLibrary().asset(for: url, resultBlock: { asset in
let N = Int(asset!.defaultRepresentation().size())
let bytes = UnsafeMutablePointer<UInt8>.allocate(capacity: N)
var error: NSError?
asset!.defaultRepresentation().getBytes(bytes, fromOffset: 0, length: N, error: &error)
if let error = error {
seal.reject(error)
} else {
seal.fulfill(NSData(bytesNoCopy: bytes, length: N))
}
}, failureBlock: { seal.reject($0!) } )
}
}.ensure {
self.dismiss(animated: animated, completion: nil)
}
}
}
- 主要言語
- Swift
- スター
- 14.2k
- フォーク
- 1.5k
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトの環境構築ファイルはまだ確認していません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
mxcl/PromiseKit のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
mxcl/PromiseKit#1362 · コメント 1 件 · リアクション 1 件 ·
-
CocoaPods supportオープン
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
mxcl/PromiseKit#1361 · コメント 6 件 · リアクション 2 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 20/100
mxcl/PromiseKit#1347 · コメント 5 件 · リアクション 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 45/100
mxcl/PromiseKit#1244 · コメント 1 件 · リアクション 1 件 ·
-
None of your spec sources contain a spec satisfying the dependency: `PromiseKit (~> 7.0.0-rc1)`.オープン
難易度 4/5 3〜5日 初心者へのやさしさ 20/100
mxcl/PromiseKit#1242 · コメント 5 件 ·
mxcl/PromiseKit の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
openwatersio/slackwater-ios#535 ·
メンテナーはふだん 1 日以内に返信
-
area:dictation bug P2
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
uttrflow/uttrflow-swift#2721 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
[@capacitor/app] iOS: 'Expression implicitly coerced from String? to Any' warning in getAppLanguageオープンtriage
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
ionic-team/capacitor-plugins#2604 ·
-
auth type: bug
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100
googleapis/google-cloud-swift#1260 ·
メンテナーはふだん 1 日以内に返信