react-native-attachment-kit 1.0.13 → 1.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/android/src/main/libs/rnattachmentkit-release.aar +0 -0
- package/ios/RNAttachmentKit.xcframework/Info.plist +5 -5
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Assets.car +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios.abi.json +135 -128
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/RNAttachmentKit +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/_CodeSignature/CodeDirectory +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/_CodeSignature/CodeResources +6 -6
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/_CodeSignature/CodeSignature +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Assets.car +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios-simulator.abi.json +135 -128
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/x86_64-apple-ios-simulator.abi.json +135 -128
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/RNAttachmentKit +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/_CodeSignature/CodeDirectory +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/_CodeSignature/CodeResources +10 -10
- package/package.json +1 -1
- package/ios/README.md +0 -213
|
Binary file
|
|
Binary file
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<dict>
|
|
7
7
|
<key>Assets.car</key>
|
|
8
8
|
<data>
|
|
9
|
-
|
|
9
|
+
Q4WslrRyFGZTzQsyECtW25oGXkw=
|
|
10
10
|
</data>
|
|
11
11
|
<key>Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib</key>
|
|
12
12
|
<data>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
</data>
|
|
31
31
|
<key>Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios-simulator.abi.json</key>
|
|
32
32
|
<data>
|
|
33
|
-
|
|
33
|
+
YkyTmh9nUP2tNpmbALGTABpgg8M=
|
|
34
34
|
</data>
|
|
35
35
|
<key>Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
|
|
36
36
|
<data>
|
|
@@ -46,11 +46,11 @@
|
|
|
46
46
|
</data>
|
|
47
47
|
<key>Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
|
|
48
48
|
<data>
|
|
49
|
-
|
|
49
|
+
sb1A7ZTQKPiSj6Z1J9Oaa/NfrmQ=
|
|
50
50
|
</data>
|
|
51
51
|
<key>Modules/RNAttachmentKit.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
|
|
52
52
|
<data>
|
|
53
|
-
|
|
53
|
+
YkyTmh9nUP2tNpmbALGTABpgg8M=
|
|
54
54
|
</data>
|
|
55
55
|
<key>Modules/RNAttachmentKit.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
|
|
56
56
|
<data>
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
</data>
|
|
67
67
|
<key>Modules/RNAttachmentKit.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
|
|
68
68
|
<data>
|
|
69
|
-
|
|
69
|
+
sFGs2xKnFlZ417n0wrVW0BDz/So=
|
|
70
70
|
</data>
|
|
71
71
|
<key>Modules/module.modulemap</key>
|
|
72
72
|
<data>
|
|
@@ -227,7 +227,7 @@
|
|
|
227
227
|
<dict>
|
|
228
228
|
<key>hash2</key>
|
|
229
229
|
<data>
|
|
230
|
-
|
|
230
|
+
geng7yTEBfEgTf50zabLdmetI/prd9vrBgF8kV7XtOQ=
|
|
231
231
|
</data>
|
|
232
232
|
</dict>
|
|
233
233
|
<key>Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib</key>
|
|
@@ -262,7 +262,7 @@
|
|
|
262
262
|
<dict>
|
|
263
263
|
<key>hash2</key>
|
|
264
264
|
<data>
|
|
265
|
-
|
|
265
|
+
uPll8wV1CYdlWUb7jj0R1eHOeD/FteyNWMhcAX7rWhM=
|
|
266
266
|
</data>
|
|
267
267
|
</dict>
|
|
268
268
|
<key>Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
|
|
@@ -290,14 +290,14 @@
|
|
|
290
290
|
<dict>
|
|
291
291
|
<key>hash2</key>
|
|
292
292
|
<data>
|
|
293
|
-
|
|
293
|
+
RHgoFIN2FLP6AQVtw+7dSbRneKacttbxMAE+VqFYW/4=
|
|
294
294
|
</data>
|
|
295
295
|
</dict>
|
|
296
296
|
<key>Modules/RNAttachmentKit.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
|
|
297
297
|
<dict>
|
|
298
298
|
<key>hash2</key>
|
|
299
299
|
<data>
|
|
300
|
-
|
|
300
|
+
uPll8wV1CYdlWUb7jj0R1eHOeD/FteyNWMhcAX7rWhM=
|
|
301
301
|
</data>
|
|
302
302
|
</dict>
|
|
303
303
|
<key>Modules/RNAttachmentKit.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
|
|
@@ -325,7 +325,7 @@
|
|
|
325
325
|
<dict>
|
|
326
326
|
<key>hash2</key>
|
|
327
327
|
<data>
|
|
328
|
-
|
|
328
|
+
BNYwGuIFzRoNWp95mBkfn3VIJhOQJTECCH5T2l4L/MY=
|
|
329
329
|
</data>
|
|
330
330
|
</dict>
|
|
331
331
|
<key>Modules/module.modulemap</key>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-attachment-kit",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.15",
|
|
4
4
|
"description": "Native attachment kit for React Native — gallery picker, editor, image viewer and media gallery (Turbo Module)",
|
|
5
5
|
"main": "src/index.ts",
|
|
6
6
|
"types": "src/index.ts",
|
package/ios/README.md
DELETED
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
# RNAttachmentKit
|
|
2
|
-
|
|
3
|
-
고성능 텔레그램 스타일 이미지 갤러리 피커 for React Native
|
|
4
|
-
|
|
5
|
-
## 🚀 주요 기능
|
|
6
|
-
|
|
7
|
-
- ✅ **고성능**: 배치 로딩과 캐싱으로 빠른 성능
|
|
8
|
-
- ✅ **다중 선택**: 여러 이미지 동시 선택 가능
|
|
9
|
-
- ✅ **앨범 지원**: 스마트 앨범 및 사용자 앨범 지원
|
|
10
|
-
- ✅ **품질 옵션**: low, medium, high 품질 선택
|
|
11
|
-
- ✅ **TypeScript**: 완벽한 타입 정의
|
|
12
|
-
- ✅ **iOS 15.1+**: 최신 iOS 지원
|
|
13
|
-
|
|
14
|
-
## 📦 설치
|
|
15
|
-
|
|
16
|
-
### 1. 프로젝트에 모듈 추가
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
cd /path/to/your/react-native-project
|
|
20
|
-
|
|
21
|
-
# package.json에 로컬 모듈 추가
|
|
22
|
-
yarn add file:../NativeModules/RNAttachmentKit/ios
|
|
23
|
-
# 또는
|
|
24
|
-
npm install file:../NativeModules/RNAttachmentKit/ios
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
### 2. iOS Pod 설치
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
cd ios
|
|
31
|
-
pod install
|
|
32
|
-
cd ..
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
### 3. iOS 권한 설정
|
|
36
|
-
|
|
37
|
-
`ios/YourApp/Info.plist` 파일에 다음 권한 추가:
|
|
38
|
-
|
|
39
|
-
```xml
|
|
40
|
-
<key>NSPhotoLibraryUsageDescription</key>
|
|
41
|
-
<string>사진을 선택하기 위해 라이브러리 접근이 필요합니다.</string>
|
|
42
|
-
<key>NSPhotoLibraryAddUsageDescription</key>
|
|
43
|
-
<string>사진을 저장하기 위해 라이브러리 접근이 필요합니다.</string>
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## 📱 사용법
|
|
47
|
-
|
|
48
|
-
### 기본 사용
|
|
49
|
-
|
|
50
|
-
```typescript
|
|
51
|
-
import { RNAttachmentKit } from 'react-native-attachment-kit';
|
|
52
|
-
|
|
53
|
-
// 1. 권한 체크
|
|
54
|
-
const status = await RNAttachmentKit.checkPermission();
|
|
55
|
-
|
|
56
|
-
if (status.status !== 'authorized') {
|
|
57
|
-
// 2. 권한 요청
|
|
58
|
-
const result = await RNAttachmentKit.requestPermission();
|
|
59
|
-
if (result.status !== 'authorized') {
|
|
60
|
-
console.log('권한이 거부되었습니다.');
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// 3. 갤러리 열기
|
|
66
|
-
try {
|
|
67
|
-
const result = await RNAttachmentKit.openGallery({
|
|
68
|
-
maxSelection: 10,
|
|
69
|
-
quality: 'high',
|
|
70
|
-
includeBase64: false,
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
console.log('선택된 이미지:', result.images);
|
|
74
|
-
} catch (error) {
|
|
75
|
-
if (error.code === 'USER_CANCELLED') {
|
|
76
|
-
console.log('사용자가 취소했습니다.');
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
### 옵션
|
|
82
|
-
|
|
83
|
-
```typescript
|
|
84
|
-
interface ImagePickerOptions {
|
|
85
|
-
maxSelection?: number; // 최대 선택 가능 개수 (기본값: 10)
|
|
86
|
-
quality?: 'low' | 'medium' | 'high'; // 이미지 품질 (기본값: 'high')
|
|
87
|
-
includeBase64?: boolean; // Base64 포함 여부 (기본값: false)
|
|
88
|
-
}
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
### 반환 타입
|
|
92
|
-
|
|
93
|
-
```typescript
|
|
94
|
-
interface ImageAsset {
|
|
95
|
-
uri: string; // 파일 경로 (file://)
|
|
96
|
-
filename: string; // 파일 이름
|
|
97
|
-
width: number; // 이미지 너비
|
|
98
|
-
height: number; // 이미지 높이
|
|
99
|
-
fileSize: number; // 파일 크기 (bytes)
|
|
100
|
-
type: string; // MIME 타입 (image/jpeg)
|
|
101
|
-
base64?: string; // Base64 문자열 (옵션)
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
interface ImagePickerResult {
|
|
105
|
-
images: ImageAsset[];
|
|
106
|
-
}
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
## 🎨 전체 예제
|
|
110
|
-
|
|
111
|
-
전체 예제는 `/example/ImagePickerExample.tsx` 파일을 참고하세요.
|
|
112
|
-
|
|
113
|
-
## 🔧 개발
|
|
114
|
-
|
|
115
|
-
### 프로젝트 구조
|
|
116
|
-
|
|
117
|
-
```
|
|
118
|
-
RNAttachmentKit/
|
|
119
|
-
├── ios/
|
|
120
|
-
│ ├── RNAttachmentKit/ # iOS 네이티브 코드
|
|
121
|
-
│ │ ├── PhotoManager.swift # 사진 관리자
|
|
122
|
-
│ │ ├── GalleryViewController.swift
|
|
123
|
-
│ │ └── ...
|
|
124
|
-
│ ├── ios/ # RN 브리지
|
|
125
|
-
│ │ ├── RNAttachmentKitModule.swift
|
|
126
|
-
│ │ └── RNAttachmentKitModule.m
|
|
127
|
-
│ ├── src/ # TypeScript 인터페이스
|
|
128
|
-
│ │ └── index.ts
|
|
129
|
-
│ ├── package.json
|
|
130
|
-
│ └── RNAttachmentKit.podspec
|
|
131
|
-
└── android/ # (향후 추가 예정)
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
### 로컬 개발
|
|
135
|
-
|
|
136
|
-
```bash
|
|
137
|
-
# 1. 네이티브 코드 수정 후
|
|
138
|
-
cd /path/to/PaceLap.ReactNative/ios
|
|
139
|
-
pod install
|
|
140
|
-
|
|
141
|
-
# 2. React Native 빌드
|
|
142
|
-
cd ..
|
|
143
|
-
yarn ios
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
## 📝 API 문서
|
|
147
|
-
|
|
148
|
-
### `requestPermission()`
|
|
149
|
-
|
|
150
|
-
포토 라이브러리 권한을 요청합니다.
|
|
151
|
-
|
|
152
|
-
```typescript
|
|
153
|
-
const result = await RNAttachmentKit.requestPermission();
|
|
154
|
-
// { status: 'authorized' | 'denied' | 'restricted' | 'notDetermined' }
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
### `checkPermission()`
|
|
158
|
-
|
|
159
|
-
현재 권한 상태를 확인합니다.
|
|
160
|
-
|
|
161
|
-
```typescript
|
|
162
|
-
const result = await RNAttachmentKit.checkPermission();
|
|
163
|
-
// { status: 'authorized' | 'denied' | 'restricted' | 'notDetermined' }
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
### `openGallery(options)`
|
|
167
|
-
|
|
168
|
-
이미지 갤러리를 엽니다.
|
|
169
|
-
|
|
170
|
-
```typescript
|
|
171
|
-
const result = await RNAttachmentKit.openGallery({
|
|
172
|
-
maxSelection: 10,
|
|
173
|
-
quality: 'high',
|
|
174
|
-
includeBase64: false,
|
|
175
|
-
});
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
## 🐛 트러블슈팅
|
|
179
|
-
|
|
180
|
-
### Pod install 실패
|
|
181
|
-
|
|
182
|
-
```bash
|
|
183
|
-
cd ios
|
|
184
|
-
rm -rf Pods Podfile.lock
|
|
185
|
-
pod cache clean --all
|
|
186
|
-
pod install
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
### 모듈을 찾을 수 없음
|
|
190
|
-
|
|
191
|
-
```bash
|
|
192
|
-
# node_modules 재설치
|
|
193
|
-
rm -rf node_modules
|
|
194
|
-
yarn install
|
|
195
|
-
|
|
196
|
-
# iOS 클린 빌드
|
|
197
|
-
cd ios
|
|
198
|
-
xcodebuild clean
|
|
199
|
-
cd ..
|
|
200
|
-
yarn ios
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
### 권한이 작동하지 않음
|
|
204
|
-
|
|
205
|
-
Info.plist에 `NSPhotoLibraryUsageDescription` 권한이 추가되었는지 확인하세요.
|
|
206
|
-
|
|
207
|
-
## 📄 라이선스
|
|
208
|
-
|
|
209
|
-
MIT
|
|
210
|
-
|
|
211
|
-
## 👨💻 Author
|
|
212
|
-
|
|
213
|
-
Mike
|