因为被拒,重新传包V1.0--小版本1.4
@ -841,17 +841,17 @@
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 1.3;
|
||||
CURRENT_PROJECT_VERSION = 1.4;
|
||||
DEVELOPMENT_TEAM = 8DQD6BV6H9;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
INFOPLIST_FILE = SwiftProject/Info.plist;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = VPro;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = VPCamera;
|
||||
INFOPLIST_KEY_NSCameraUsageDescription = "Please allow the app to access your camera to capture the pictures, videos, or avatars you want to upload";
|
||||
INFOPLIST_KEY_NSMicrophoneUsageDescription = "The app requires your consent to access the microphone";
|
||||
INFOPLIST_KEY_NSPhotoLibraryAddUsageDescription = "Please allow the app to access your photos for selecting photos, setting up avatars, uploading and publishing photos, and more.";
|
||||
INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "Please allow the app to access your photos for selecting photos, setting up avatars, uploading and publishing photos, and more.";
|
||||
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
|
||||
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
|
||||
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen.storyboard;
|
||||
INFOPLIST_KEY_UIMainStoryboardFile = Main;
|
||||
INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
|
||||
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
|
||||
@ -882,17 +882,17 @@
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
CODE_SIGN_IDENTITY = "Apple Development";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 1.3;
|
||||
CURRENT_PROJECT_VERSION = 1.4;
|
||||
DEVELOPMENT_TEAM = 8DQD6BV6H9;
|
||||
GENERATE_INFOPLIST_FILE = YES;
|
||||
INFOPLIST_FILE = SwiftProject/Info.plist;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = VPro;
|
||||
INFOPLIST_KEY_CFBundleDisplayName = VPCamera;
|
||||
INFOPLIST_KEY_NSCameraUsageDescription = "Please allow the app to access your camera to capture the pictures, videos, or avatars you want to upload";
|
||||
INFOPLIST_KEY_NSMicrophoneUsageDescription = "The app requires your consent to access the microphone";
|
||||
INFOPLIST_KEY_NSPhotoLibraryAddUsageDescription = "Please allow the app to access your photos for selecting photos, setting up avatars, uploading and publishing photos, and more.";
|
||||
INFOPLIST_KEY_NSPhotoLibraryUsageDescription = "Please allow the app to access your photos for selecting photos, setting up avatars, uploading and publishing photos, and more.";
|
||||
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
|
||||
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
|
||||
INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen.storyboard;
|
||||
INFOPLIST_KEY_UIMainStoryboardFile = Main;
|
||||
INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
|
||||
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "iOS App Icon.png",
|
||||
"filename" : "icon@1x.png",
|
||||
"idiom" : "universal",
|
||||
"platform" : "ios",
|
||||
"size" : "1024x1024"
|
||||
|
||||
|
Before Width: | Height: | Size: 930 KiB |
|
After Width: | Height: | Size: 741 KiB |
|
Before Width: | Height: | Size: 819 KiB |
@ -5,12 +5,12 @@
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "Frame_1171276035@2x.png",
|
||||
"filename" : "home@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "Frame_1171276035@3x.png",
|
||||
"filename" : "home@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 15 KiB |
BIN
SwiftProject/SwiftProject/Assets.xcassets/home/Frame_1171276035.imageset/home@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
SwiftProject/SwiftProject/Assets.xcassets/home/Frame_1171276035.imageset/home@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 6.6 KiB |
23
SwiftProject/SwiftProject/Assets.xcassets/loading.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "start3.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "start3 1.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "start3 2.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
SwiftProject/SwiftProject/Assets.xcassets/loading.imageset/start3 1.png
vendored
Normal file
|
After Width: | Height: | Size: 275 KiB |
BIN
SwiftProject/SwiftProject/Assets.xcassets/loading.imageset/start3 2.png
vendored
Normal file
|
After Width: | Height: | Size: 275 KiB |
BIN
SwiftProject/SwiftProject/Assets.xcassets/loading.imageset/start3.png
vendored
Normal file
|
After Width: | Height: | Size: 275 KiB |
@ -1,7 +1,7 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "logo.png",
|
||||
"filename" : "icon@1x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
|
||||
BIN
SwiftProject/SwiftProject/Assets.xcassets/logo.imageset/icon@1x.png
vendored
Normal file
|
After Width: | Height: | Size: 741 KiB |
|
Before Width: | Height: | Size: 797 KiB |
@ -16,17 +16,17 @@
|
||||
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Start" translatesAutoresizingMaskIntoConstraints="NO" id="pGv-cd-Pom">
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="loading" highlightedImage="loading" translatesAutoresizingMaskIntoConstraints="NO" id="lkM-5t-c6Y">
|
||||
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstItem="pGv-cd-Pom" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leading" id="4bX-FN-2Ph"/>
|
||||
<constraint firstItem="pGv-cd-Pom" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="top" id="Pjo-mw-0Ig"/>
|
||||
<constraint firstAttribute="trailing" secondItem="pGv-cd-Pom" secondAttribute="trailing" id="kBQ-2E-A2k"/>
|
||||
<constraint firstAttribute="bottom" secondItem="pGv-cd-Pom" secondAttribute="bottom" id="wRM-hf-9Xw"/>
|
||||
<constraint firstItem="lkM-5t-c6Y" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leading" id="7X3-3t-86C"/>
|
||||
<constraint firstItem="lkM-5t-c6Y" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="top" id="KAH-BD-ZNy"/>
|
||||
<constraint firstAttribute="bottom" secondItem="lkM-5t-c6Y" secondAttribute="bottom" id="MzW-Ik-9xw"/>
|
||||
<constraint firstAttribute="trailing" secondItem="lkM-5t-c6Y" secondAttribute="trailing" id="bQ2-gc-uya"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</viewController>
|
||||
@ -36,7 +36,7 @@
|
||||
</scene>
|
||||
</scenes>
|
||||
<resources>
|
||||
<image name="Start" width="393" height="852"/>
|
||||
<image name="loading" width="131" height="284"/>
|
||||
<systemColor name="systemBackgroundColor">
|
||||
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</systemColor>
|
||||
|
||||
@ -25,7 +25,7 @@ class CCSpatialPhotoDisplayController: BaseController {
|
||||
var player:AVPlayer = AVPlayer()
|
||||
|
||||
var outputVideoURL:URL?
|
||||
|
||||
var dvc:UIDocumentViewController?
|
||||
|
||||
//图片源数据
|
||||
var photoOriginalURL:URL?
|
||||
@ -142,12 +142,6 @@ class CCSpatialPhotoDisplayController: BaseController {
|
||||
super.viewDidLoad()
|
||||
|
||||
self.view.backgroundColor = UIColor(hexString: "#060507")
|
||||
// Do any additional setup after loading the view.
|
||||
|
||||
|
||||
|
||||
// let path = Bundle.main.path(forResource: "img3", ofType: "HEIC")
|
||||
// photoOriginalURL = URL.init(filePath: path!)
|
||||
outputVideoURL = URL.documentsDirectory.appending(path:"output11114.jpg")
|
||||
|
||||
//获取图片源数据
|
||||
@ -168,6 +162,12 @@ class CCSpatialPhotoDisplayController: BaseController {
|
||||
image = image?.getUpImg()
|
||||
mImgView.image = image
|
||||
|
||||
// dvc = UIDocumentViewController()
|
||||
// self.addChild(dvc!)
|
||||
// self.view.addSubview(dvc!.view)
|
||||
// var uidc = UIDocument(fileURL: URL(string: "https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2024%2F0208%2F17870067j00s8iidm0066d000xc00mzp.jpg&thumbnail=660x2147483647&quality=80&type=jpg")!)
|
||||
// dvc?.document = uidc
|
||||
|
||||
let isSpatial = isSpatialImage(originalData: originalData!)
|
||||
if !isSpatial {
|
||||
print("这不是一张空间图片")
|
||||
@ -224,28 +224,15 @@ class CCSpatialPhotoDisplayController: BaseController {
|
||||
func selectedSpatialType(selectedIndex:Int) {
|
||||
// 处理分段选择器值改变事件
|
||||
|
||||
/*
|
||||
let popData = [/*(icon:"saoyisao",title:"扫一扫"),*/
|
||||
(icon:"",title:"单眼2D",isHiden:true),
|
||||
(icon:"",title:"平行眼",isHiden:false),
|
||||
(icon:"",title:"红蓝立体",isHiden:false),
|
||||
(icon:"",title:"交叉眼",isHiden:false)]
|
||||
|
||||
*/
|
||||
|
||||
print("选中了第 \(selectedIndex) 个选项")
|
||||
player.pause()
|
||||
NotificationCenter.default.removeObserver(self)
|
||||
mImgView.frame = CGRect.init(x: 0, y: 200, width: self.view.frame.size.width, height: 240)
|
||||
|
||||
// guard let imageSource = CGImageSourceCreateWithURL(photoOriginalURL! as CFURL, nil) else {
|
||||
// return
|
||||
// }
|
||||
guard let imageSource = CGImageSourceCreateWithData(imgData! as CFData, nil) else {
|
||||
return
|
||||
}
|
||||
|
||||
// print(imageSource)
|
||||
let frameCount = CGImageSourceGetCount(imageSource)
|
||||
var frames: [CGImage] = []
|
||||
for index in 0..<frameCount {
|
||||
@ -351,27 +338,16 @@ class CCSpatialPhotoDisplayController: BaseController {
|
||||
//判断是不是空间照片 非空间照片只有一帧
|
||||
//空间照片包含 let makerAppleProperties = imageProperties["{HEIF}"]
|
||||
func isSpatialImage(originalData: Data) -> Bool {
|
||||
|
||||
|
||||
//通过data获取
|
||||
guard let imageSource = CGImageSourceCreateWithData(originalData as CFData, nil) else {
|
||||
return false
|
||||
}
|
||||
|
||||
//通过url获取
|
||||
// guard let imageSource = CGImageSourceCreateWithURL(imageURL as CFURL, nil) else {
|
||||
// return false
|
||||
// }
|
||||
guard let properties = CGImageSourceCopyPropertiesAtIndex(imageSource, 1, nil) as? [CFString: Any] else {
|
||||
return false
|
||||
}
|
||||
print(properties)
|
||||
|
||||
//这里判断两张图片,gif也可能是两张
|
||||
// let frameCount = CGImageSourceGetCount(imageSource)
|
||||
// if(frameCount == 1){
|
||||
// return false
|
||||
// }
|
||||
return true
|
||||
}
|
||||
|
||||
|
||||
@ -642,10 +642,10 @@ class CCSpatialShootController: BaseController {
|
||||
@objc func shutterVideoButtonAction(_ sender: UIButton){
|
||||
if !self.isRecording {
|
||||
//判断设备方向,如果不是横屏left\right,则不允许录制
|
||||
if imageOrientation != .right ||
|
||||
imageOrientation != .left {
|
||||
return
|
||||
}
|
||||
// if imageOrientation != .right ||
|
||||
// imageOrientation != .left {
|
||||
// return
|
||||
// }
|
||||
|
||||
//录像中
|
||||
print("录像中...")
|
||||
@ -1067,7 +1067,7 @@ extension CCSpatialShootController: AVCaptureFileOutputRecordingDelegate {
|
||||
let img1:UIImage = imgs[0] as! UIImage
|
||||
let img2:UIImage = imgs[1] as! UIImage
|
||||
|
||||
let url = URL.documentsDirectory.appending(path:".HEIC")
|
||||
let url = URL.documentsDirectory.appending(path:"aaa12.HEIC")
|
||||
let destination = CGImageDestinationCreateWithURL(url as CFURL, UTType.heic.identifier as CFString, 2, nil)!
|
||||
imageCGImagePropertyOrientation = .left
|
||||
let properties1 = [
|
||||
|
||||
@ -53,7 +53,7 @@ class CCMineView: UIView,UITableViewDelegate,UITableViewDataSource{
|
||||
mLabel!.textColor = UIColor.white
|
||||
mLabel!.font = UIFont.systemFont(ofSize: 16)
|
||||
self.addSubview(mLabel!)
|
||||
mLabel!.text = "VPro"
|
||||
mLabel!.text = "VPCamera"
|
||||
mLabel!.sizeToFit()
|
||||
mLabel!.centerY = mImgView!.centerY
|
||||
mLabel!.left = mImgView!.right + 15
|
||||
|
||||