diff --git a/MBProgressHUD.xcodeproj/project.pbxproj b/MBProgressHUD.xcodeproj/project.pbxproj index c2a0f8df5..7c21f9df3 100644 --- a/MBProgressHUD.xcodeproj/project.pbxproj +++ b/MBProgressHUD.xcodeproj/project.pbxproj @@ -6,14 +6,39 @@ objectVersion = 46; objects = { +/* Begin PBXAggregateTarget section */ + CB9E76F91A7A68D800137AB0 /* Framework */ = { + isa = PBXAggregateTarget; + buildConfigurationList = CB9E76FA1A7A68D800137AB0 /* Build configuration list for PBXAggregateTarget "Framework" */; + buildPhases = ( + CB9E76FF1A7A68E100137AB0 /* Build Framework */, + ); + dependencies = ( + CB9E76FE1A7A68DF00137AB0 /* PBXTargetDependency */, + ); + name = Framework; + productName = Framework; + }; +/* End PBXAggregateTarget section */ + /* Begin PBXBuildFile section */ - 1315DD7617804CBC0032507D /* MBProgressHUD.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = D286A7511518C70F00E13FB8 /* MBProgressHUD.h */; }; + CB9E76EA1A7A681200137AB0 /* MBProgressHUD.h in Headers */ = {isa = PBXBuildFile; fileRef = D286A7511518C70F00E13FB8 /* MBProgressHUD.h */; settings = {ATTRIBUTES = (Public, ); }; }; D286A74D1518C70F00E13FB8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D286A74C1518C70F00E13FB8 /* Foundation.framework */; }; D286A7531518C70F00E13FB8 /* MBProgressHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = D286A7521518C70F00E13FB8 /* MBProgressHUD.m */; }; D286A75E1518C89600E13FB8 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D286A75D1518C89600E13FB8 /* UIKit.framework */; }; D286A76F1518CAAD00E13FB8 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D286A76E1518CAAD00E13FB8 /* CoreGraphics.framework */; }; /* End PBXBuildFile section */ +/* Begin PBXContainerItemProxy section */ + CB9E76FD1A7A68DF00137AB0 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = D286A7401518C70E00E13FB8 /* Project object */; + proxyType = 1; + remoteGlobalIDString = D286A7481518C70F00E13FB8; + remoteInfo = MBProgressHUD; + }; +/* End PBXContainerItemProxy section */ + /* Begin PBXCopyFilesBuildPhase section */ 1315DD7517804C970032507D /* CopyFiles */ = { isa = PBXCopyFilesBuildPhase; @@ -21,7 +46,6 @@ dstPath = "include/${PRODUCT_NAME}"; dstSubfolderSpec = 16; files = ( - 1315DD7617804CBC0032507D /* MBProgressHUD.h in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -98,6 +122,17 @@ }; /* End PBXGroup section */ +/* Begin PBXHeadersBuildPhase section */ + CB9E76E91A7A680D00137AB0 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + CB9E76EA1A7A681200137AB0 /* MBProgressHUD.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + /* Begin PBXNativeTarget section */ D286A7481518C70F00E13FB8 /* MBProgressHUD */ = { isa = PBXNativeTarget; @@ -105,7 +140,9 @@ buildPhases = ( D286A7451518C70F00E13FB8 /* Sources */, D286A7461518C70F00E13FB8 /* Frameworks */, + CB9E76E91A7A680D00137AB0 /* Headers */, 1315DD7517804C970032507D /* CopyFiles */, + CBCDFE3A1A7A673F0032273C /* Prepare Framework */, ); buildRules = ( ); @@ -125,6 +162,11 @@ CLASSPREFIX = MB; LastUpgradeCheck = 0460; ORGANIZATIONNAME = "Matej Bukovinski"; + TargetAttributes = { + CB9E76F91A7A68D800137AB0 = { + CreatedOnToolsVersion = 6.1.1; + }; + }; }; buildConfigurationList = D286A7431518C70E00E13FB8 /* Build configuration list for PBXProject "MBProgressHUD" */; compatibilityVersion = "Xcode 3.2"; @@ -139,10 +181,42 @@ projectRoot = ""; targets = ( D286A7481518C70F00E13FB8 /* MBProgressHUD */, + CB9E76F91A7A68D800137AB0 /* Framework */, ); }; /* End PBXProject section */ +/* Begin PBXShellScriptBuildPhase section */ + CB9E76FF1A7A68E100137AB0 /* Build Framework */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Build Framework"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "set -e\nset +u\n# Avoid recursively calling this script.\nif [[ $SF_MASTER_SCRIPT_RUNNING ]]\nthen\nexit 0\nfi\nset -u\nexport SF_MASTER_SCRIPT_RUNNING=1\n\nSF_TARGET_NAME=${PROJECT_NAME}\nSF_EXECUTABLE_PATH=\"lib${SF_TARGET_NAME}.a\"\nSF_WRAPPER_NAME=\"${SF_TARGET_NAME}.framework\"\n\n# The following conditionals come from\n# https://github.com/kstenerud/iOS-Universal-Framework\n\nif [[ \"$SDK_NAME\" =~ ([A-Za-z]+) ]]\nthen\nSF_SDK_PLATFORM=${BASH_REMATCH[1]}\nelse\necho \"Could not find platform name from SDK_NAME: $SDK_NAME\"\nexit 1\nfi\n\nif [[ \"$SDK_NAME\" =~ ([0-9]+.*$) ]]\nthen\nSF_SDK_VERSION=${BASH_REMATCH[1]}\nelse\necho \"Could not find sdk version from SDK_NAME: $SDK_NAME\"\nexit 1\nfi\n\nif [[ \"$SF_SDK_PLATFORM\" = \"iphoneos\" ]]\nthen\nSF_OTHER_PLATFORM=iphonesimulator\nelse\nSF_OTHER_PLATFORM=iphoneos\nfi\n\nif [[ \"$BUILT_PRODUCTS_DIR\" =~ (.*)$SF_SDK_PLATFORM$ ]]\nthen\nSF_OTHER_BUILT_PRODUCTS_DIR=\"${BASH_REMATCH[1]}${SF_OTHER_PLATFORM}\"\nelse\necho \"Could not find platform name from build products directory: $BUILT_PRODUCTS_DIR\"\nexit 1\nfi\n\n# Build the other platform.\nxcrun xcodebuild -project \"${PROJECT_FILE_PATH}\" -target \"${TARGET_NAME}\" -configuration \"${CONFIGURATION}\" -sdk ${SF_OTHER_PLATFORM}${SF_SDK_VERSION} BUILD_DIR=\"${BUILD_DIR}\" OBJROOT=\"${OBJROOT}\" BUILD_ROOT=\"${BUILD_ROOT}\" SYMROOT=\"${SYMROOT}\" $ACTION\n\n# Smash the two static libraries into one fat binary and store it in the .framework\nxcrun lipo -create \"${BUILT_PRODUCTS_DIR}/${SF_EXECUTABLE_PATH}\" \"${SF_OTHER_BUILT_PRODUCTS_DIR}/${SF_EXECUTABLE_PATH}\" -output \"${BUILT_PRODUCTS_DIR}/${SF_WRAPPER_NAME}/Versions/A/${SF_TARGET_NAME}\"\n# Copy the binary to the other architecture folder to have a complete framework in both.\ncp -a \"${BUILT_PRODUCTS_DIR}/${SF_WRAPPER_NAME}/Versions/A/${SF_TARGET_NAME}\" \"${SF_OTHER_BUILT_PRODUCTS_DIR}/${SF_WRAPPER_NAME}/Versions/A/lib${SF_TARGET_NAME}.a\"\n"; + }; + CBCDFE3A1A7A673F0032273C /* Prepare Framework */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Prepare Framework"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "set -e\n\nmkdir -p \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.framework/Versions/A/Headers\"\n\n# Link the \"Current\" version to \"A\"\n/bin/ln -sfh A \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.framework/Versions/Current\"\n/bin/ln -sfh Versions/Current/Headers \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.framework/Headers\"\n/bin/ln -sfh \"Versions/Current/${PRODUCT_NAME}\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.framework/${PRODUCT_NAME}\"\n\n# The -a ensures that the headers maintain the source modification date so that we don't constantly\n# cause propagating rebuilds of files that import these headers.\n/bin/cp -a \"${TARGET_BUILD_DIR}/${PUBLIC_HEADERS_FOLDER_PATH}/\" \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.framework/Versions/A/Headers\""; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ D286A7451518C70F00E13FB8 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -154,7 +228,29 @@ }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + CB9E76FE1A7A68DF00137AB0 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = D286A7481518C70F00E13FB8 /* MBProgressHUD */; + targetProxy = CB9E76FD1A7A68DF00137AB0 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin XCBuildConfiguration section */ + CB9E76FB1A7A68D800137AB0 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + CB9E76FC1A7A68D800137AB0 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; D286A7541518C70F00E13FB8 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -219,30 +315,51 @@ D286A7571518C70F00E13FB8 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + ARCHS = ( + "$(ARCHS_STANDARD)", + i386, + x86_64, + ); DSTROOT = /tmp/MBProgressHUD.dst; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "MBProgressHUD-Prefix.pch"; + ONLY_ACTIVE_ARCH = NO; OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; + VALID_ARCHS = "arm64 armv7 x86_64 i386"; }; name = Debug; }; D286A7581518C70F00E13FB8 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + ARCHS = ( + "$(ARCHS_STANDARD)", + i386, + x86_64, + ); DSTROOT = /tmp/MBProgressHUD.dst; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "MBProgressHUD-Prefix.pch"; OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; + VALID_ARCHS = "arm64 armv7 x86_64 i386"; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ + CB9E76FA1A7A68D800137AB0 /* Build configuration list for PBXAggregateTarget "Framework" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + CB9E76FB1A7A68D800137AB0 /* Debug */, + CB9E76FC1A7A68D800137AB0 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; D286A7431518C70E00E13FB8 /* Build configuration list for PBXProject "MBProgressHUD" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/MBProgressHUD.xcodeproj/xcshareddata/xcschemes/MBProgressHUD.xcscheme b/MBProgressHUD.xcodeproj/xcshareddata/xcschemes/MBProgressHUD Release.xcscheme similarity index 98% rename from MBProgressHUD.xcodeproj/xcshareddata/xcschemes/MBProgressHUD.xcscheme rename to MBProgressHUD.xcodeproj/xcshareddata/xcschemes/MBProgressHUD Release.xcscheme index be10b8859..df348b77a 100644 --- a/MBProgressHUD.xcodeproj/xcshareddata/xcschemes/MBProgressHUD.xcscheme +++ b/MBProgressHUD.xcodeproj/xcshareddata/xcschemes/MBProgressHUD Release.xcscheme @@ -35,7 +35,7 @@ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" launchStyle = "0" useCustomWorkingDirectory = "NO" - buildConfiguration = "Debug" + buildConfiguration = "Release" ignoresPersistentStateOnLaunch = "NO" debugDocumentVersioning = "YES" allowLocationSimulation = "YES"> diff --git a/Xamarin binding/StructsAndEnums.cs b/Xamarin binding/StructsAndEnums.cs index ea1a5434b..e067a1300 100644 --- a/Xamarin binding/StructsAndEnums.cs +++ b/Xamarin binding/StructsAndEnums.cs @@ -1,7 +1,9 @@ using System; +using Foundation; namespace MBProgressHUD { + [Preserve] public enum MBProgressHUDMode { /** Progress is shown using an UIActivityIndicatorView. This is the default. */ @@ -18,6 +20,7 @@ public enum MBProgressHUDMode Text } + [Preserve] public enum MBProgressHUDAnimation { /** Opacity animation */ diff --git a/Xamarin binding/libMBProgressHUD.a b/Xamarin binding/libMBProgressHUD.a index 6a9dba207..271ab8751 100644 Binary files a/Xamarin binding/libMBProgressHUD.a and b/Xamarin binding/libMBProgressHUD.a differ diff --git a/Xamarin binding/libMBProgressHUD.linkwith.cs b/Xamarin binding/libMBProgressHUD.linkwith.cs index 75f6603b0..3869ddc58 100644 --- a/Xamarin binding/libMBProgressHUD.linkwith.cs +++ b/Xamarin binding/libMBProgressHUD.linkwith.cs @@ -1,4 +1,6 @@ using System; using ObjCRuntime; +using Foundation; -[assembly: LinkWith ("libMBProgressHUD.a", LinkTarget.ArmV7 | LinkTarget.Arm64, SmartLink = true, ForceLoad = true)] +[assembly: LinkWith ("libMBProgressHUD.a", LinkTarget.ArmV7 | LinkTarget.Arm64 | LinkTarget.Simulator | LinkTarget.Simulator64, SmartLink = true, Frameworks = "CoreGraphics UIKit Foundation")] +[assembly: LinkerSafe]