MAJOR
release: 2.0.0
RELEASENOTE.md2.0.3
Latest
RELEASENOTE.mdSMInstagramPhotoPicker is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'InstagramPhotos'
dependencies: [
.package(url: "https://github.com/sweetmans/InstagramPhotos.git", .upToNextMajor(from: "2.0.0"))
]
import InstagramPhotos
var picker: InstagramPhotosPickingViewController?
First. It is importance to do this step.
Be sour your app have Authorization to access your photo library.
on your plist.info
adding this attribute
<key>NSPhotoLibraryUsageDescription</key>
<string>Your app need access your photo library</string>
if iOS 14
you need to set PHPhotoLibraryPreventAutomaticLimitedAccessAlert
to YES
on plist.info
to prevent limited photos access alert.
<key>PHPhotoLibraryPreventAutomaticLimitedAccessAlert</key>
<true/>
private func getPickerReady() {
picker = InstagramPhotosPickingViewController(imagePicking: self,
ocalizationsProviding: InstagramPhotosChineseLocalizationProvider())
}
@IBAction func show(_ sender: UIButton) {
guard let unwrapPicker = picker else { return }
unwrapPicker.modalPresentationStyle = .fullScreen
present(unwrapPicker, animated: true, completion: nil)
}
InstagramPhotosPicking
delegate.extension ViewController: InstagramPhotosPicking {
//your viewcontroller
func instagramPhotosDidFinishPickingImage(result: InstagramPhotosPickingResult) {
switch result {
case .failure(let error):
switch error {
case .cancelByUser:
print("User canceled selete image")
default:
print(error)
}
case .success(let ipImage):
viewController.imageView.image = ipImage.image
}
}
}
You could use default InstagramPhotosChineseLocalizationProvider()
for English
, InstagramPhotosEnglishLocalizationProvider()
for Chinese
.
define you own localization provider
// Exsample Korean
struct KoreanLocalizationProvider: InstagramPhotosLocalizationsProviding {
public init() {}
public func pinkingControllerNavigationTitle() -> String { return "μ¬μ§ μ ν" }
public func pinkingControllerNavigationNextButtonText() -> String { return "λ€μ λ¨κ³" }
public func pinkingControllerDefaultAlbumName() -> String { return "μ¬μ§ κ°€λ¬λ¦¬" }
public func pinkingControllerAddingImageAccessButtonText() -> String { return "μ κ·Ό κ°λ₯ν μ¬μ§ μΆκ°" }
public func albumControllerNavigationTitle() -> String { return "μ¨λ² μ ν" }
public func albumControllerNavigationCancelButtonText() -> String { return "μ·¨μ" }
public func photosLimitedAccessModeText() -> String { return "μ‘μΈμ€ κΆνμ΄μλ λͺ¨λ μ¬μ§μ΄ νμλ©λλ€" }
}
Apply it in the pickingViewController Initialize
private func getPickerReady() {
let imageProvider = PhotosProvider(viewController: self)
picker = InstagramPhotosPickingViewController(imagePicking: imageProvider,
localizationsProviding: KoreanLocalizationProvider())
}
All source code is licensed under the MIT License.
link |
Stars: 7 |
Last commit: 2 years ago |
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics