Explorar el Código

Fix ARMv7s compilation

Fetch the Dropbox SDK ourselves instead ofusing the CocoaPod, compile all the libraries with the correct settings and update MLKit
Felix Paul Kühne hace 10 años
padre
commit
d9d7cd29a1
Se han modificado 4 ficheros con 51 adiciones y 18 borrados
  1. 0 1
      Podfile
  2. 0 3
      Podfile.lock
  3. 28 5
      VLC for iOS.xcodeproj/project.pbxproj
  4. 23 9
      compileVLCforiOS.sh

+ 0 - 1
Podfile

@@ -9,7 +9,6 @@ pod 'OBSlider', '1.1.0'
 pod 'QuincyKit', :git => 'https://github.com/carolanitz/QuincyKit.git'
 pod 'PLCrashReporter', '1.2-rc5'
 pod 'GHSidebarNav', '1.0.0'
-pod 'Dropbox-iOS-SDK', '1.3.13'
 pod 'InAppSettingsKit', '2.2.2'
 pod 'upnpx', '1.3.0'
 

+ 0 - 3
Podfile.lock

@@ -1,5 +1,4 @@
 PODS:
-  - Dropbox-iOS-SDK (1.3.13)
   - GHSidebarNav (1.0.0)
   - InAppSettingsKit (2.2.2)
   - OBSlider (1.1.0)
@@ -8,7 +7,6 @@ PODS:
   - upnpx (1.3.0)
 
 DEPENDENCIES:
-  - Dropbox-iOS-SDK (= 1.3.13)
   - GHSidebarNav (= 1.0.0)
   - InAppSettingsKit (= 2.2.2)
   - OBSlider (= 1.1.0)
@@ -26,7 +24,6 @@ CHECKOUT OPTIONS:
     :git: https://github.com/carolanitz/QuincyKit.git
 
 SPEC CHECKSUMS:
-  Dropbox-iOS-SDK: 367160c05e279e7fa3205f3233d1873b7a986ee6
   GHSidebarNav: 59f2b760cb788f8b1c50250963f5120f4525a5a1
   InAppSettingsKit: cd8ffa4266fb5c4778af8bda8aa9bf08b6733fd4
   OBSlider: 3536461f3dd47dfcbd0972c5aafb88aa7081fb79

+ 28 - 5
VLC for iOS.xcodeproj/project.pbxproj

@@ -350,6 +350,7 @@
 		7DBBF1A9183AB4300009A339 /* VLCPlaylistCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7DBBF194183AB4300009A339 /* VLCPlaylistCollectionViewCell.xib */; };
 		7DBBF1AB183AB4300009A339 /* VLCPlaylistTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7DBBF196183AB4300009A339 /* VLCPlaylistTableViewCell.xib */; };
 		7DBBF1AC183AB4300009A339 /* VLCWiFiUploadTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7DBBF197183AB4300009A339 /* VLCWiFiUploadTableViewCell.xib */; };
+		7DC0C0551A4D78A4000EE359 /* DropboxSDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7DC0C0541A4D78A4000EE359 /* DropboxSDK.framework */; };
 		7DC19ADF1868C7BB00810BF7 /* VLCFirstStepsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DC19ADD1868C7BB00810BF7 /* VLCFirstStepsViewController.m */; };
 		7DC19AE41868C8EC00810BF7 /* VLCFirstStepsFirstPageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DC19AE21868C8EC00810BF7 /* VLCFirstStepsFirstPageViewController.m */; };
 		7DC19B051868D1C400810BF7 /* VLCFirstStepsFifthPageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DC19B031868D1C400810BF7 /* VLCFirstStepsFifthPageViewController.m */; };
@@ -569,7 +570,6 @@
 		7AC862A11765E90C0011611A /* jquery.ui.widget.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = jquery.ui.widget.js; sourceTree = "<group>"; };
 		7D00161A17704DAC00649F27 /* main.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = main.js; sourceTree = "<group>"; };
 		7D0117F0187F4BA400C5671C /* VLCFirstStepsFirstPageViewController~ipad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = "VLCFirstStepsFirstPageViewController~ipad.xib"; path = "Resources/VLCFirstStepsFirstPageViewController~ipad.xib"; sourceTree = SOURCE_ROOT; };
-		7D05ADEA174945CE0087550C /* DropboxSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DropboxSDK.framework; path = ImportedSources/Dropbox/DropboxSDK.framework; sourceTree = "<group>"; };
 		7D0699C017CB1FAE00713BEB /* Settings@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Settings@2x.png"; sourceTree = "<group>"; };
 		7D0699C117CB1FAE00713BEB /* TVShowsIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = TVShowsIcon.png; sourceTree = "<group>"; };
 		7D0699C217CB1FAE00713BEB /* TVShowsIcon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "TVShowsIcon@2x.png"; sourceTree = "<group>"; };
@@ -1081,6 +1081,7 @@
 		7DBBF194183AB4300009A339 /* VLCPlaylistCollectionViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = VLCPlaylistCollectionViewCell.xib; path = Resources/VLCPlaylistCollectionViewCell.xib; sourceTree = SOURCE_ROOT; };
 		7DBBF196183AB4300009A339 /* VLCPlaylistTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = VLCPlaylistTableViewCell.xib; path = Resources/VLCPlaylistTableViewCell.xib; sourceTree = SOURCE_ROOT; };
 		7DBBF197183AB4300009A339 /* VLCWiFiUploadTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = VLCWiFiUploadTableViewCell.xib; path = Resources/VLCWiFiUploadTableViewCell.xib; sourceTree = SOURCE_ROOT; };
+		7DC0C0541A4D78A4000EE359 /* DropboxSDK.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DropboxSDK.framework; path = ImportedSources/Dropbox/DropboxSDK.framework; sourceTree = "<group>"; };
 		7DC19ADC1868C7BB00810BF7 /* VLCFirstStepsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VLCFirstStepsViewController.h; path = Sources/VLCFirstStepsViewController.h; sourceTree = SOURCE_ROOT; };
 		7DC19ADD1868C7BB00810BF7 /* VLCFirstStepsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = VLCFirstStepsViewController.m; path = Sources/VLCFirstStepsViewController.m; sourceTree = SOURCE_ROOT; };
 		7DC19AE11868C8EC00810BF7 /* VLCFirstStepsFirstPageViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VLCFirstStepsFirstPageViewController.h; path = Sources/VLCFirstStepsFirstPageViewController.h; sourceTree = SOURCE_ROOT; };
@@ -1365,6 +1366,7 @@
 				418FF4B11A0EC1D5005FE808 /* libPods-vlc-ios.a in Frameworks */,
 				8F91EC7F195E1DAB00F5BCBA /* AssetsLibrary.framework in Frameworks */,
 				7D15168B194773630086FB8C /* MobileCoreServices.framework in Frameworks */,
+				7DC0C0551A4D78A4000EE359 /* DropboxSDK.framework in Frameworks */,
 				7D168F7118D4A21B003FAF59 /* Accelerate.framework in Frameworks */,
 				CCE2A22E17A5859E00D9EAAD /* CoreText.framework in Frameworks */,
 				7DF7CA0717650C2A00C61739 /* AVFoundation.framework in Frameworks */,
@@ -2071,9 +2073,9 @@
 				7DF7E790175F47DC0018858D /* MediaPlayer.framework */,
 				7D6B08F9174D716200A05173 /* MessageUI.framework */,
 				7D3EB013174A353E002062C2 /* SystemConfiguration.framework */,
-				7D05ADEA174945CE0087550C /* DropboxSDK.framework */,
 				2915544217490D4A00B86CAD /* Security.framework */,
 				7DDD0428172D98E5005A7B10 /* CFNetwork.framework */,
+				7DC0C0541A4D78A4000EE359 /* DropboxSDK.framework */,
 				CC1BBC57170493E100A20CBF /* CoreData.framework */,
 				CC1BBC55170493C100A20CBF /* QuartzCore.framework */,
 				CC1BBC53170493B800A20CBF /* AudioToolbox.framework */,
@@ -3440,6 +3442,10 @@
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 521108CBC3CAA0810AF3CBA8 /* Pods-vlc-ios.debug.xcconfig */;
 			buildSettings = {
+				ARCHS = (
+					"$(ARCHS_STANDARD)",
+					armv7s,
+				);
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
 				CLANG_ENABLE_OBJC_ARC = YES;
@@ -3450,7 +3456,10 @@
 				DEAD_CODE_STRIPPING = NO;
 				ENABLE_NS_ASSERTIONS = YES;
 				EXCLUDED_SOURCE_FILE_NAMES = "";
-				FRAMEWORK_SEARCH_PATHS = "$(inherited)";
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(inherited)",
+					"$(PROJECT_DIR)/ImportedSources/Dropbox",
+				);
 				GCC_C_LANGUAGE_STANDARD = c99;
 				GCC_OPTIMIZATION_LEVEL = 0;
 				GCC_PRECOMPILE_PREFIX_HEADER = YES;
@@ -3485,6 +3494,10 @@
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 6AB5E0853B398B35369938EC /* Pods-vlc-ios.release.xcconfig */;
 			buildSettings = {
+				ARCHS = (
+					"$(ARCHS_STANDARD)",
+					armv7s,
+				);
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
 				CLANG_ENABLE_OBJC_ARC = YES;
@@ -3495,7 +3508,10 @@
 				DEAD_CODE_STRIPPING = NO;
 				ENABLE_NS_ASSERTIONS = NO;
 				EXCLUDED_SOURCE_FILE_NAMES = "";
-				FRAMEWORK_SEARCH_PATHS = "$(inherited)";
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(inherited)",
+					"$(PROJECT_DIR)/ImportedSources/Dropbox",
+				);
 				GCC_C_LANGUAGE_STANDARD = c99;
 				GCC_OPTIMIZATION_LEVEL = 3;
 				GCC_PRECOMPILE_PREFIX_HEADER = YES;
@@ -3556,6 +3572,10 @@
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = E09EACF57CDD22ABAE66CDD0 /* Pods-vlc-ios.distribution.xcconfig */;
 			buildSettings = {
+				ARCHS = (
+					"$(ARCHS_STANDARD)",
+					armv7s,
+				);
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
 				CLANG_ENABLE_OBJC_ARC = YES;
@@ -3566,7 +3586,10 @@
 				DEAD_CODE_STRIPPING = NO;
 				ENABLE_NS_ASSERTIONS = NO;
 				EXCLUDED_SOURCE_FILE_NAMES = "iTunesArtwork*";
-				FRAMEWORK_SEARCH_PATHS = "$(inherited)";
+				FRAMEWORK_SEARCH_PATHS = (
+					"$(inherited)",
+					"$(PROJECT_DIR)/ImportedSources/Dropbox",
+				);
 				GCC_C_LANGUAGE_STANDARD = c99;
 				GCC_OPTIMIZATION_LEVEL = 3;
 				GCC_PRECOMPILE_PREFIX_HEADER = YES;

+ 23 - 9
compileVLCforiOS.sh

@@ -13,7 +13,7 @@ NONETWORK=no
 SKIPLIBVLCCOMPILATION=no
 
 TESTEDVLCKITHASH=d4704711ee5
-TESTEDMEDIALIBRARYKITHASH=2d98d90aa
+TESTEDMEDIALIBRARYKITHASH=2ded200f7
 
 usage()
 {
@@ -56,15 +56,18 @@ buildxcodeproj()
 
     info "Building $1 ($target, ${CONFIGURATION})"
 
-    local extra=""
-    if [ "$PLATFORM" = "Simulator" ]; then
-        extra="ARCHS=i386"
+    local architectures=""
+    if [ "$PLATFORM" = "iphonesimulator" ]; then
+        architectures="i386 x86_64"
+    else
+        architectures="armv7 armv7s arm64"
     fi
 
     xcodebuild -project "$1.xcodeproj" \
                -target "$target" \
                -sdk $PLATFORM$SDK \
-               -configuration ${CONFIGURATION} ${extra} \
+               -configuration ${CONFIGURATION} \
+               ARCHS="${architectures}" \
                IPHONEOS_DEPLOYMENT_TARGET=${SDK_MIN} > ${out}
 }
 
@@ -77,15 +80,18 @@ buildxcworkspace()
 
     info "Building the workspace $1 ($target, ${CONFIGURATION})"
 
-    local extra=""
-    if [ "$PLATFORM" = "Simulator" ]; then
-    extra="ARCHS=i386"
+    local architectures=""
+    if [ "$PLATFORM" = "iphonesimulator" ]; then
+        architectures="i386 x86_64"
+    else
+        architectures="armv7 armv7s arm64"
     fi
 
     xcodebuild -workspace "$1.xcworkspace" \
     -scheme "Pods-vlc-ios" \
     -sdk $PLATFORM$SDK \
-    -configuration ${CONFIGURATION} ${extra} \
+    -configuration ${CONFIGURATION} \
+    ARCHS="${architectures}" \
     IPHONEOS_DEPLOYMENT_TARGET=${SDK_MIN} > ${out}
 }
 
@@ -188,6 +194,14 @@ git clone git://github.com/fkuehne/CocoaHTTPServer.git
 else
 cd CocoaHTTPServer && git pull --rebase && cd ..
 fi
+if ! [ -e Dropbox ]; then
+DROPBOXSDKVERSION=1.3.13
+curl -O https://www.dropbox.com/static/developers/dropbox-ios-sdk-${DROPBOXSDKVERSION}.zip
+unzip -q dropbox-ios-sdk-${DROPBOXSDKVERSION}.zip
+mv dropbox-ios-sdk-${DROPBOXSDKVERSION} Dropbox
+rm dropbox-ios-sdk-${DROPBOXSDKVERSION}.zip
+rm -rf __MACOSX
+fi
 fi
 
 info "Setup 'External' folders"