From 810f1d728a50d2d1557d18496b19b85f265a3dc6 Mon Sep 17 00:00:00 2001 From: yaoxp Date: Tue, 19 Jul 2022 15:34:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E7=A6=BB=E5=87=BA=E5=AE=9A=E4=BD=8D?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 使用完整功能: pod 'TZImagePickerController' 不包含定位代码: pod 'TZImagePickerController/Basic' --- TZImagePickerController.podspec | 12 ++++++++++-- .../project.pbxproj | 18 ++++++++---------- .../TZLocationManager.h | 0 .../TZLocationManager.m | 0 .../TZImagePickerController.h | 11 ++++++++++- .../TZImagePickerController.m | 2 ++ .../TZPhotoPickerController.m | 3 ++- TZImagePickerController/ViewController.m | 5 +++-- 8 files changed, 35 insertions(+), 16 deletions(-) rename TZImagePickerController/{TZImagePickerController => Location}/TZLocationManager.h (100%) rename TZImagePickerController/{TZImagePickerController => Location}/TZLocationManager.m (100%) diff --git a/TZImagePickerController.podspec b/TZImagePickerController.podspec index 7267cf07..154817f6 100644 --- a/TZImagePickerController.podspec +++ b/TZImagePickerController.podspec @@ -9,7 +9,15 @@ Pod::Spec.new do |s| s.ios.deployment_target = "8.0" s.source = { :git => "https://github.com/banchichen/TZImagePickerController.git", :tag => "3.8.1" } s.requires_arc = true - s.resources = "TZImagePickerController/TZImagePickerController/*.{png,bundle}" - s.source_files = "TZImagePickerController/TZImagePickerController/*.{h,m}" + + s.subspec 'Basic' do |b| + b.resources = "TZImagePickerController/TZImagePickerController/*.{png,bundle}" + b.source_files = "TZImagePickerController/TZImagePickerController/*.{h,m}" + end + + s.subspec 'Location' do |l| + l.source_files = 'TZImagePickerController/Location/*.{h,m}' + end + s.frameworks = "Photos", "PhotosUI" end diff --git a/TZImagePickerController.xcodeproj/project.pbxproj b/TZImagePickerController.xcodeproj/project.pbxproj index dda21bec..4c2fd8de 100644 --- a/TZImagePickerController.xcodeproj/project.pbxproj +++ b/TZImagePickerController.xcodeproj/project.pbxproj @@ -43,7 +43,6 @@ 901CC3FC21CB758500C55443 /* TZImageRequestOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 901CC3F921CB757500C55443 /* TZImageRequestOperation.m */; }; 901F2295215CABD600F604ED /* FLAnimatedImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 901F2291215CABD600F604ED /* FLAnimatedImage.m */; }; 901F2296215CABD600F604ED /* FLAnimatedImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 901F2293215CABD600F604ED /* FLAnimatedImageView.m */; }; - 902938D81EE2D02C000F2F8F /* TZLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 902938D71EE2D02C000F2F8F /* TZLocationManager.m */; }; 9038D5911C3974F0007DE549 /* TZTestCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9038D5901C3974F0007DE549 /* TZTestCell.m */; }; 903996931F447604005E77C2 /* Photos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 903996921F447604005E77C2 /* Photos.framework */; }; 90A74B85203287C200D84C2A /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 90A74B83203287C200D84C2A /* Localizable.strings */; }; @@ -60,7 +59,6 @@ 9F763A601FA072E500D9E526 /* TZProgressView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6DD0502A1DF659ED0057C78D /* TZProgressView.m */; }; 9F763A621FA072E500D9E526 /* TZImageManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 90CE84AD1C3A89EF003D0779 /* TZImageManager.m */; }; 9F763A641FA072E500D9E526 /* TZImageCropManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 6DC84D091DF5358500A107A9 /* TZImageCropManager.m */; }; - 9F763A661FA072E500D9E526 /* TZLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 902938D71EE2D02C000F2F8F /* TZLocationManager.m */; }; 9F763A6A1FA072E500D9E526 /* NSBundle+TZImagePicker.m in Sources */ = {isa = PBXBuildFile; fileRef = 6D5358CC1D64600F00928CC6 /* NSBundle+TZImagePicker.m */; }; 9F763A6B1FA0731E00D9E526 /* TZImagePickerController.h in Headers */ = {isa = PBXBuildFile; fileRef = 900EEFF61C2BBF9500EA709B /* TZImagePickerController.h */; settings = {ATTRIBUTES = (Public, ); }; }; 9F763A6C1FA0733100D9E526 /* TZAssetModel.h in Headers */ = {isa = PBXBuildFile; fileRef = 900EF00D1C2C0B1100EA709B /* TZAssetModel.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -75,7 +73,6 @@ 9F763A751FA0741D00D9E526 /* TZProgressView.h in Headers */ = {isa = PBXBuildFile; fileRef = 6DD050291DF659ED0057C78D /* TZProgressView.h */; }; 9F763A761FA0741D00D9E526 /* TZImageManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 90CE84AC1C3A89EF003D0779 /* TZImageManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; 9F763A771FA0741D00D9E526 /* TZImageCropManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 6DC84D081DF5358500A107A9 /* TZImageCropManager.h */; }; - 9F763A781FA0741D00D9E526 /* TZLocationManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 902938D61EE2D02C000F2F8F /* TZLocationManager.h */; settings = {ATTRIBUTES = (Public, ); }; }; B606A9C4265FD53200F5493E /* TZVideoCropController.m in Sources */ = {isa = PBXBuildFile; fileRef = B606A9C2265FD53200F5493E /* TZVideoCropController.m */; }; B606A9CE265FD5F700F5493E /* TZVideoPlayerController.m in Sources */ = {isa = PBXBuildFile; fileRef = 90CE84B61C3BABB6003D0779 /* TZVideoPlayerController.m */; }; B662C36F2662914D006A672A /* TZVideoEditedPreviewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B662C36E2662914D006A672A /* TZVideoEditedPreviewController.m */; }; @@ -180,8 +177,6 @@ 901F2291215CABD600F604ED /* FLAnimatedImage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLAnimatedImage.m; sourceTree = ""; }; 901F2292215CABD600F604ED /* FLAnimatedImageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FLAnimatedImageView.h; sourceTree = ""; }; 901F2293215CABD600F604ED /* FLAnimatedImageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FLAnimatedImageView.m; sourceTree = ""; }; - 902938D61EE2D02C000F2F8F /* TZLocationManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TZLocationManager.h; sourceTree = ""; }; - 902938D71EE2D02C000F2F8F /* TZLocationManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TZLocationManager.m; sourceTree = ""; }; 9038D58F1C3974F0007DE549 /* TZTestCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TZTestCell.h; sourceTree = ""; }; 9038D5901C3974F0007DE549 /* TZTestCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TZTestCell.m; sourceTree = ""; }; 903996921F447604005E77C2 /* Photos.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Photos.framework; path = System/Library/Frameworks/Photos.framework; sourceTree = SDKROOT; }; @@ -238,6 +233,13 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 5B7A0D4F288691E7002B2603 /* Location */ = { + isa = PBXGroup; + children = ( + ); + path = Location; + sourceTree = ""; + }; 6DC358641CC8BAE300898D29 /* Resources */ = { isa = PBXGroup; children = ( @@ -272,6 +274,7 @@ 900E657E1C2BB8D5003D9A9E /* TZImagePickerController */ = { isa = PBXGroup; children = ( + 5B7A0D4F288691E7002B2603 /* Location */, 901F228F215CABD600F604ED /* FLAnimatedImage */, 900EEFF51C2BBF7600EA709B /* TZImagePickerController */, 900E65821C2BB8D5003D9A9E /* AppDelegate.h */, @@ -355,8 +358,6 @@ 901CC3F921CB757500C55443 /* TZImageRequestOperation.m */, 6DC84D081DF5358500A107A9 /* TZImageCropManager.h */, 6DC84D091DF5358500A107A9 /* TZImageCropManager.m */, - 902938D61EE2D02C000F2F8F /* TZLocationManager.h */, - 902938D71EE2D02C000F2F8F /* TZLocationManager.m */, 9005E2B2257A462E002A8682 /* UIView+TZLayout.h */, 9005E2B1257A462E002A8682 /* UIView+TZLayout.m */, 6D5358CB1D64600F00928CC6 /* NSBundle+TZImagePicker.h */, @@ -420,7 +421,6 @@ 9F763A741FA0741D00D9E526 /* TZGifPhotoPreviewController.h in Headers */, 9005E2B5257A462E002A8682 /* UIView+TZLayout.h in Headers */, 9F763A761FA0741D00D9E526 /* TZImageManager.h in Headers */, - 9F763A781FA0741D00D9E526 /* TZLocationManager.h in Headers */, 9F763A711FA0741D00D9E526 /* TZPhotoPreviewController.h in Headers */, 9F763A721FA0741D00D9E526 /* TZPhotoPreviewCell.h in Headers */, 9F763A701FA0741D00D9E526 /* TZAssetCell.h in Headers */, @@ -627,7 +627,6 @@ 901CC3FC21CB758500C55443 /* TZImageRequestOperation.m in Sources */, 6D5358CD1D64600F00928CC6 /* NSBundle+TZImagePicker.m in Sources */, 900EEFF81C2BBF9500EA709B /* TZImagePickerController.m in Sources */, - 902938D81EE2D02C000F2F8F /* TZLocationManager.m in Sources */, 6DC84D0A1DF5358500A107A9 /* TZImageCropManager.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -668,7 +667,6 @@ 9F763A601FA072E500D9E526 /* TZProgressView.m in Sources */, 9F763A621FA072E500D9E526 /* TZImageManager.m in Sources */, 9F763A641FA072E500D9E526 /* TZImageCropManager.m in Sources */, - 9F763A661FA072E500D9E526 /* TZLocationManager.m in Sources */, 9F763A6A1FA072E500D9E526 /* NSBundle+TZImagePicker.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/TZImagePickerController/TZImagePickerController/TZLocationManager.h b/TZImagePickerController/Location/TZLocationManager.h similarity index 100% rename from TZImagePickerController/TZImagePickerController/TZLocationManager.h rename to TZImagePickerController/Location/TZLocationManager.h diff --git a/TZImagePickerController/TZImagePickerController/TZLocationManager.m b/TZImagePickerController/Location/TZLocationManager.m similarity index 100% rename from TZImagePickerController/TZImagePickerController/TZLocationManager.m rename to TZImagePickerController/Location/TZLocationManager.m diff --git a/TZImagePickerController/TZImagePickerController/TZImagePickerController.h b/TZImagePickerController/TZImagePickerController/TZImagePickerController.h index 90cc376d..bd755e28 100644 --- a/TZImagePickerController/TZImagePickerController/TZImagePickerController.h +++ b/TZImagePickerController/TZImagePickerController/TZImagePickerController.h @@ -22,10 +22,16 @@ #import "TZImageManager.h" #import "TZVideoPlayerController.h" #import "TZGifPhotoPreviewController.h" -#import "TZLocationManager.h" #import "TZPhotoPreviewController.h" #import "TZPhotoPreviewCell.h" +#if __has_include("TZLocationManager.h") +#define TZ_HAVE_LOCATION_CODE 1 +#import "TZLocationManager.h" +#else +#undef TZ_HAVE_LOCATION_CODE +#endif + #define CURRENT_SYSTEM_VERSION [[UIDevice currentDevice] systemVersion] #define SYSTEM_VERSION_GREATER_THAN_15 ([CURRENT_SYSTEM_VERSION floatValue] >= 15.0) @@ -112,7 +118,10 @@ /// Default is YES, if set NO, user can't take picture. /// 默认为YES,如果设置为NO, 用户将不能拍摄照片 @property (nonatomic, assign) BOOL allowTakePicture; + +#ifdef TZ_HAVE_LOCATION_CODE @property (nonatomic, assign) BOOL allowCameraLocation; +#endif /// Default is YES, if set NO, user can't take video. /// 默认为YES,如果设置为NO, 用户将不能拍摄视频 diff --git a/TZImagePickerController/TZImagePickerController/TZImagePickerController.m b/TZImagePickerController/TZImagePickerController/TZImagePickerController.m index 6d1ac6f9..3a32ae84 100644 --- a/TZImagePickerController/TZImagePickerController/TZImagePickerController.m +++ b/TZImagePickerController/TZImagePickerController/TZImagePickerController.m @@ -303,7 +303,9 @@ - (void)configDefaultSetting { self.needFixComposition = NO; self.statusBarStyle = UIStatusBarStyleLightContent; self.cannotSelectLayerColor = [[UIColor whiteColor] colorWithAlphaComponent:0.8]; +#ifdef TZ_HAVE_LOCATION_CODE self.allowCameraLocation = YES; +#endif self.presetName = AVAssetExportPresetMediumQuality; self.maxCropVideoDuration = 30; diff --git a/TZImagePickerController/TZImagePickerController/TZPhotoPickerController.m b/TZImagePickerController/TZImagePickerController/TZPhotoPickerController.m index b05963f0..bfdc65a3 100755 --- a/TZImagePickerController/TZImagePickerController/TZPhotoPickerController.m +++ b/TZImagePickerController/TZImagePickerController/TZPhotoPickerController.m @@ -15,7 +15,6 @@ #import "TZImageManager.h" #import "TZVideoPlayerController.h" #import "TZGifPhotoPreviewController.h" -#import "TZLocationManager.h" #import #import "TZImageRequestOperation.h" #import "TZAuthLimitedFooterTipView.h" @@ -826,6 +825,7 @@ - (void)addMorePhoto { - (void)pushImagePickerController { // 提前定位 TZImagePickerController *tzImagePickerVc = (TZImagePickerController *)self.navigationController; +#ifdef TZ_HAVE_LOCATION_CODE if (tzImagePickerVc.allowCameraLocation) { __weak typeof(self) weakSelf = self; [[TZLocationManager manager] startLocationWithSuccessBlock:^(NSArray *locations) { @@ -836,6 +836,7 @@ - (void)pushImagePickerController { strongSelf.location = nil; }]; } +#endif UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera; if ([UIImagePickerController isSourceTypeAvailable: sourceType]) { diff --git a/TZImagePickerController/ViewController.m b/TZImagePickerController/ViewController.m index f1a8f3bf..3408a3eb 100644 --- a/TZImagePickerController/ViewController.m +++ b/TZImagePickerController/ViewController.m @@ -16,7 +16,6 @@ #import "TZVideoPlayerController.h" #import "TZPhotoPreviewController.h" #import "TZGifPhotoPreviewController.h" -#import "TZLocationManager.h" #import "TZAssetCell.h" #import #import "FLAnimatedImage.h" @@ -481,6 +480,7 @@ - (void)takePhoto { // 调用相机 - (void)pushImagePickerController { +#ifdef TZ_HAVE_LOCATION_CODE // 提前定位 __weak typeof(self) weakSelf = self; [[TZLocationManager manager] startLocationWithSuccessBlock:^(NSArray *locations) { @@ -490,7 +490,8 @@ - (void)pushImagePickerController { __strong typeof(weakSelf) strongSelf = weakSelf; strongSelf.location = nil; }]; - +#endif + UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera; if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]) { self.imagePickerVc.sourceType = sourceType;