mirror of
https://github.com/VKCOM/vk-ios-sdk.git
synced 2024-08-15 09:40:40 +03:00
API version update 5.122
This commit is contained in:
parent
aa4abe0470
commit
a661a5853a
@ -47,7 +47,6 @@
|
||||
1ACA6A08792E4AD2B10F1624 /* VKApiFriends.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ACA662E0B2D50702F4A11AD /* VKApiFriends.m */; };
|
||||
1ACA6A173F4BAA7E9AB43206 /* VKApiCaptcha.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ACA65061D1745F64BC42C75 /* VKApiCaptcha.m */; };
|
||||
1ACA6A898C8C008BCA5FDB67 /* VKSchool.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ACA66DA84E4941873ADCB4B /* VKSchool.m */; };
|
||||
1ACA6AC9C143AC442155AD90 /* VKAudio.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ACA673394DB0E515CBA9EFE /* VKAudio.m */; };
|
||||
1ACA6AD5392AA08C69341D2B /* VKOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ACA6FE235BA094D8E3A0189 /* VKOperation.m */; };
|
||||
1ACA6AEDDDC5D844B9FE115E /* VKApiObjectArray.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ACA68DAFB5BBB634DB0A73B /* VKApiObjectArray.m */; };
|
||||
1ACA6B4A1DE944C3C9860528 /* VKApiObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ACA689B3E716E1BC2A6EBEC /* VKApiObject.m */; };
|
||||
@ -140,8 +139,6 @@
|
||||
F34671121B8B7D07003EF74B /* VKApi.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ACA6D831AF8E35C6322AB4A /* VKApi.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
F34671131B8B7D07003EF74B /* VKUser.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ACA6BF00807A26E3B00BD65 /* VKUser.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
F34671141B8B7D07003EF74B /* VKUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ACA664E5CDF97EB2648B660 /* VKUser.m */; };
|
||||
F34671151B8B7D07003EF74B /* VKAudio.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ACA60E2C646C4C6615170CD /* VKAudio.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
F34671161B8B7D07003EF74B /* VKAudio.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ACA673394DB0E515CBA9EFE /* VKAudio.m */; };
|
||||
F34671171B8B7D07003EF74B /* VKGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ACA696193D3326E5462985A /* VKGroup.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
F34671181B8B7D07003EF74B /* VKGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ACA6C700C815D16F08DD4CD /* VKGroup.m */; };
|
||||
F34671191B8B7D07003EF74B /* VKLikes.h in Headers */ = {isa = PBXBuildFile; fileRef = 1ACA630809E85C01C606C974 /* VKLikes.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
@ -207,7 +204,6 @@
|
||||
F3909FF31A9C7B24006540A6 /* VKApiCaptcha.h in Copy Files */ = {isa = PBXBuildFile; fileRef = 1ACA68234EC488521F154B60 /* VKApiCaptcha.h */; };
|
||||
F3909FF41A9C7B24006540A6 /* VKApiFriends.h in Copy Files */ = {isa = PBXBuildFile; fileRef = 1ACA6C753D37B145C7D5B400 /* VKApiFriends.h */; };
|
||||
F3909FF51A9C7B24006540A6 /* VKUser.h in Copy Files */ = {isa = PBXBuildFile; fileRef = 1ACA6BF00807A26E3B00BD65 /* VKUser.h */; };
|
||||
F3909FF61A9C7B24006540A6 /* VKAudio.h in Copy Files */ = {isa = PBXBuildFile; fileRef = 1ACA60E2C646C4C6615170CD /* VKAudio.h */; };
|
||||
F3909FF71A9C7B24006540A6 /* VKGroup.h in Copy Files */ = {isa = PBXBuildFile; fileRef = 1ACA696193D3326E5462985A /* VKGroup.h */; };
|
||||
F3909FF81A9C7B24006540A6 /* VKLikes.h in Copy Files */ = {isa = PBXBuildFile; fileRef = 1ACA630809E85C01C606C974 /* VKLikes.h */; };
|
||||
F3909FF91A9C7B24006540A6 /* VKPhoto.h in Copy Files */ = {isa = PBXBuildFile; fileRef = 1ACA6493701E3B36434F3F3A /* VKPhoto.h */; };
|
||||
@ -286,7 +282,6 @@
|
||||
F3909FF31A9C7B24006540A6 /* VKApiCaptcha.h in Copy Files */,
|
||||
F3909FF41A9C7B24006540A6 /* VKApiFriends.h in Copy Files */,
|
||||
F3909FF51A9C7B24006540A6 /* VKUser.h in Copy Files */,
|
||||
F3909FF61A9C7B24006540A6 /* VKAudio.h in Copy Files */,
|
||||
F3909FF71A9C7B24006540A6 /* VKGroup.h in Copy Files */,
|
||||
F3909FF81A9C7B24006540A6 /* VKLikes.h in Copy Files */,
|
||||
F3909FF91A9C7B24006540A6 /* VKPhoto.h in Copy Files */,
|
||||
@ -339,7 +334,6 @@
|
||||
1ACA608862B093D6D0F46BC4 /* VKCaptchaViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VKCaptchaViewController.m; sourceTree = "<group>"; };
|
||||
1ACA60B4EF1757B412FE808D /* VKLikes.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VKLikes.m; sourceTree = "<group>"; };
|
||||
1ACA60D48A519E201D9A80E9 /* VKRelative.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VKRelative.m; sourceTree = "<group>"; };
|
||||
1ACA60E2C646C4C6615170CD /* VKAudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VKAudio.h; sourceTree = "<group>"; };
|
||||
1ACA60EB8A19FBF44B2A0769 /* VKUploadMessagesPhotoRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VKUploadMessagesPhotoRequest.m; sourceTree = "<group>"; };
|
||||
1ACA6108D9F4E0C7644BAC52 /* NSString+MD5.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+MD5.m"; sourceTree = "<group>"; };
|
||||
1ACA6120C7B75C0CBB10FDA0 /* VKApi.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VKApi.m; sourceTree = "<group>"; };
|
||||
@ -374,7 +368,6 @@
|
||||
1ACA66DA84E4941873ADCB4B /* VKSchool.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VKSchool.m; sourceTree = "<group>"; };
|
||||
1ACA671427725230741603BC /* VKUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VKUtil.h; sourceTree = "<group>"; };
|
||||
1ACA671DB7C59D529BB25E7E /* VKApiWall.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VKApiWall.h; sourceTree = "<group>"; };
|
||||
1ACA673394DB0E515CBA9EFE /* VKAudio.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VKAudio.m; sourceTree = "<group>"; };
|
||||
1ACA677A8949D12D3EBD61A0 /* VKApiConst.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VKApiConst.h; sourceTree = "<group>"; };
|
||||
1ACA67F7D247AC33989F7034 /* VKAuthorizeController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VKAuthorizeController.h; sourceTree = "<group>"; };
|
||||
1ACA68234EC488521F154B60 /* VKApiCaptcha.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VKApiCaptcha.h; sourceTree = "<group>"; };
|
||||
@ -558,8 +551,6 @@
|
||||
8F99D6391C42C61A0006DB03 /* VKDocs.m */,
|
||||
1ACA6BF00807A26E3B00BD65 /* VKUser.h */,
|
||||
1ACA664E5CDF97EB2648B660 /* VKUser.m */,
|
||||
1ACA60E2C646C4C6615170CD /* VKAudio.h */,
|
||||
1ACA673394DB0E515CBA9EFE /* VKAudio.m */,
|
||||
1ACA696193D3326E5462985A /* VKGroup.h */,
|
||||
1ACA6C700C815D16F08DD4CD /* VKGroup.m */,
|
||||
1ACA630809E85C01C606C974 /* VKLikes.h */,
|
||||
@ -797,7 +788,6 @@
|
||||
F34671341B8B7D07003EF74B /* VKAuthorizeController.h in Headers */,
|
||||
F346711B1B8B7D07003EF74B /* VKPhoto.h in Headers */,
|
||||
8F99D63A1C42C61A0006DB03 /* VKDocs.h in Headers */,
|
||||
F34671151B8B7D07003EF74B /* VKAudio.h in Headers */,
|
||||
F34671351B8B7D07003EF74B /* VKCaptchaView.h in Headers */,
|
||||
F346712F1B8B7D07003EF74B /* VKUploadWallPhotoRequest.h in Headers */,
|
||||
F34670F81B8B7D07003EF74B /* VKPermissions.h in Headers */,
|
||||
@ -921,7 +911,7 @@
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
CLASSPREFIX = VK;
|
||||
LastUpgradeCheck = 0700;
|
||||
LastUpgradeCheck = 1150;
|
||||
ORGANIZATIONNAME = VK;
|
||||
TargetAttributes = {
|
||||
F34670301B8B7C5A003EF74B = {
|
||||
@ -937,10 +927,9 @@
|
||||
};
|
||||
buildConfigurationList = F3C75428182133CB00964716 /* Build configuration list for PBXProject "VK-ios-sdk" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
English,
|
||||
en,
|
||||
Base,
|
||||
ru,
|
||||
@ -1012,7 +1001,6 @@
|
||||
F34671051B8B7D07003EF74B /* VKHTTPOperation.m in Sources */,
|
||||
F34670E01B8B7CD9003EF74B /* VKSharedTransitioningObject.m in Sources */,
|
||||
F34670D51B8B7CC7003EF74B /* VKImageParameters.m in Sources */,
|
||||
F34671161B8B7D07003EF74B /* VKAudio.m in Sources */,
|
||||
F346711E1B8B7D07003EF74B /* VKSchool.m in Sources */,
|
||||
F34671111B8B7D07003EF74B /* VKResponse.m in Sources */,
|
||||
F34671071B8B7D07003EF74B /* VKJSONOperation.m in Sources */,
|
||||
@ -1119,7 +1107,6 @@
|
||||
1ACA6A08792E4AD2B10F1624 /* VKApiFriends.m in Sources */,
|
||||
F3454FD01ABB1D1A00B15E85 /* VKRequestsScheduler.m in Sources */,
|
||||
1ACA61EE5B7171D4F5726D08 /* VKUser.m in Sources */,
|
||||
1ACA6AC9C143AC442155AD90 /* VKAudio.m in Sources */,
|
||||
1ACA6F1A8CF8466F058EE7BC /* VKGroup.m in Sources */,
|
||||
1ACA618960A488A476167F98 /* VKLikes.m in Sources */,
|
||||
1ACA614F27B7C856D2BB49DD /* VKPhoto.m in Sources */,
|
||||
@ -1174,7 +1161,7 @@
|
||||
buildSettings = {
|
||||
CLANG_ENABLE_MODULES = NO;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
DEFINES_MODULE = YES;
|
||||
@ -1207,7 +1194,7 @@
|
||||
buildSettings = {
|
||||
CLANG_ENABLE_MODULES = NO;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
@ -1246,7 +1233,7 @@
|
||||
"$(inherited)",
|
||||
);
|
||||
INFOPLIST_FILE = "library/Resources/Resources-Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
MACOSX_DEPLOYMENT_TARGET = "";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.vk.${PRODUCT_NAME:rfc1034identifier}";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
@ -1266,7 +1253,7 @@
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = NO;
|
||||
GCC_PREFIX_HEADER = "SDK resources/SDK resources-Prefix.pch";
|
||||
INFOPLIST_FILE = "library/Resources/Resources-Info.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
MACOSX_DEPLOYMENT_TARGET = "";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.vk.${PRODUCT_NAME:rfc1034identifier}";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
@ -1325,22 +1312,36 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
@ -1364,21 +1365,35 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = YES;
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
@ -1403,7 +1418,7 @@
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = NO;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
|
||||
INSTALL_PATH = /;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
OTHER_LDFLAGS = "-ObjC";
|
||||
PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
|
||||
PRIVATE_HEADERS_FOLDER_PATH = "$(PUBLIC_HEADERS_FOLDER_PATH)/Private";
|
||||
@ -1425,7 +1440,7 @@
|
||||
DSTROOT = /tmp/sdk.dst;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = NO;
|
||||
INSTALL_PATH = /;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
|
||||
OTHER_LDFLAGS = "-ObjC";
|
||||
PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
|
||||
PRIVATE_HEADERS_FOLDER_PATH = "$(PUBLIC_HEADERS_FOLDER_PATH)/Private";
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0720"
|
||||
LastUpgradeVersion = "1150"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
@ -27,6 +27,15 @@
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "F34670301B8B7C5A003EF74B"
|
||||
BuildableName = "VKSdkFramework.framework"
|
||||
BlueprintName = "VKSdkFramework"
|
||||
ReferencedContainer = "container:VK-ios-sdk.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<Testables>
|
||||
<TestableReference
|
||||
skipped = "NO">
|
||||
@ -39,17 +48,6 @@
|
||||
</BuildableReference>
|
||||
</TestableReference>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "F34670301B8B7C5A003EF74B"
|
||||
BuildableName = "VKSdkFramework.framework"
|
||||
BlueprintName = "VKSdkFramework"
|
||||
ReferencedContainer = "container:VK-ios-sdk.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
@ -70,8 +68,6 @@
|
||||
ReferencedContainer = "container:VK-ios-sdk.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0720"
|
||||
LastUpgradeVersion = "1150"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
@ -27,6 +27,15 @@
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "F3C7542C182133CC00964716"
|
||||
BuildableName = "libVKSdk.a"
|
||||
BlueprintName = "VKSdk"
|
||||
ReferencedContainer = "container:VK-ios-sdk.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<Testables>
|
||||
<TestableReference
|
||||
skipped = "NO">
|
||||
@ -39,17 +48,6 @@
|
||||
</BuildableReference>
|
||||
</TestableReference>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "F3C7542C182133CC00964716"
|
||||
BuildableName = "libVKSdk.a"
|
||||
BlueprintName = "VKSdk"
|
||||
ReferencedContainer = "container:VK-ios-sdk.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
@ -70,8 +68,6 @@
|
||||
ReferencedContainer = "container:VK-ios-sdk.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0800"
|
||||
LastUpgradeVersion = "1150"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
@ -11,6 +11,15 @@
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "F3EEFF651827B1DD000BB525"
|
||||
BuildableName = "VKSDKTestApplication.app"
|
||||
BlueprintName = "VKSDKTestApplication"
|
||||
ReferencedContainer = "container:example/VKSDKTestApplication.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<Testables>
|
||||
<TestableReference
|
||||
skipped = "NO">
|
||||
@ -23,17 +32,6 @@
|
||||
</BuildableReference>
|
||||
</TestableReference>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "F3EEFF651827B1DD000BB525"
|
||||
BuildableName = "VKSDKTestApplication.app"
|
||||
BlueprintName = "VKSDKTestApplication"
|
||||
ReferencedContainer = "container:example/VKSDKTestApplication.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
@ -45,8 +43,6 @@
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
|
@ -7,6 +7,7 @@
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
0779695D24D99A490018A9F7 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0779695C24D99A490018A9F7 /* CoreServices.framework */; };
|
||||
F34DED0C1D2173D6005495E5 /* VKSdkFramework.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F34DED091D2173C9005495E5 /* VKSdkFramework.framework */; };
|
||||
F34DED0D1D2173D6005495E5 /* VKSdkFramework.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = F34DED091D2173C9005495E5 /* VKSdkFramework.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||
F36114C21976DC770085898F /* apple.png in Resources */ = {isa = PBXBuildFile; fileRef = F36114C11976DC770085898F /* apple.png */; };
|
||||
@ -22,7 +23,6 @@
|
||||
F3EEFF7A1827B1DD000BB525 /* VKAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = F3EEFF791827B1DD000BB525 /* VKAppDelegate.m */; };
|
||||
F3EEFF7C1827B1DD000BB525 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F3EEFF7B1827B1DD000BB525 /* Images.xcassets */; };
|
||||
F3EEFFC01827E990000BB525 /* TestViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F3EEFFBE1827E990000BB525 /* TestViewController.m */; };
|
||||
F3EEFFCE1827F9AF000BB525 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F3EEFFCD1827F9AF000BB525 /* MobileCoreServices.framework */; settings = {ATTRIBUTES = (Required, ); }; };
|
||||
F3EEFFD01827F9B5000BB525 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F3EEFFCF1827F9B5000BB525 /* SystemConfiguration.framework */; settings = {ATTRIBUTES = (Required, ); }; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
@ -79,6 +79,7 @@
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
0779695C24D99A490018A9F7 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = System/Library/Frameworks/CoreServices.framework; sourceTree = SDKROOT; };
|
||||
F34DECFD1D2173C9005495E5 /* VK-ios-sdk.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "VK-ios-sdk.xcodeproj"; path = "../VK-ios-sdk.xcodeproj"; sourceTree = "<group>"; };
|
||||
F36114AA197687050085898F /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = ru.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
F36114C11976DC770085898F /* apple.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = apple.png; sourceTree = "<group>"; };
|
||||
@ -113,11 +114,11 @@
|
||||
files = (
|
||||
F3769E671BE8D48800AEC4AF /* SafariServices.framework in Frameworks */,
|
||||
F3EEFFD01827F9B5000BB525 /* SystemConfiguration.framework in Frameworks */,
|
||||
F3EEFFCE1827F9AF000BB525 /* MobileCoreServices.framework in Frameworks */,
|
||||
F3EEFF6C1827B1DD000BB525 /* CoreGraphics.framework in Frameworks */,
|
||||
F3EEFF6E1827B1DD000BB525 /* UIKit.framework in Frameworks */,
|
||||
F3EEFF6A1827B1DD000BB525 /* Foundation.framework in Frameworks */,
|
||||
F34DED0C1D2173D6005495E5 /* VKSdkFramework.framework in Frameworks */,
|
||||
0779695D24D99A490018A9F7 /* CoreServices.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@ -156,6 +157,7 @@
|
||||
F3EEFF681827B1DD000BB525 /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
0779695C24D99A490018A9F7 /* CoreServices.framework */,
|
||||
F3769E661BE8D48800AEC4AF /* SafariServices.framework */,
|
||||
F3EEFFCF1827F9B5000BB525 /* SystemConfiguration.framework */,
|
||||
F3EEFFCD1827F9AF000BB525 /* MobileCoreServices.framework */,
|
||||
@ -226,7 +228,7 @@
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
CLASSPREFIX = VK;
|
||||
LastUpgradeCheck = 0720;
|
||||
LastUpgradeCheck = 1150;
|
||||
ORGANIZATIONNAME = VK;
|
||||
TargetAttributes = {
|
||||
F3EEFF651827B1DD000BB525 = {
|
||||
@ -236,12 +238,12 @@
|
||||
};
|
||||
buildConfigurationList = F3EEFF611827B1DD000BB525 /* Build configuration list for PBXProject "VKSDKTestApplication" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
English,
|
||||
en,
|
||||
ru,
|
||||
Base,
|
||||
);
|
||||
mainGroup = F3EEFF5D1827B1DD000BB525;
|
||||
productRefGroup = F3EEFF671827B1DD000BB525 /* Products */;
|
||||
@ -344,23 +346,37 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
@ -383,22 +399,36 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_COMMA = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INFINITE_RECURSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
|
||||
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
|
||||
CLANG_WARN_STRICT_PROTOTYPES = YES;
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = YES;
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
@ -415,7 +445,6 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
@ -447,7 +476,6 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||
CODE_SIGN_IDENTITY = "iPhone Developer";
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
|
@ -43,7 +43,7 @@
|
||||
welf.callResult.text = [NSString stringWithFormat:@"Result: %@", response];
|
||||
welf.callingRequest = nil;
|
||||
NSLog(@"%@", response.request.requestTiming);
|
||||
} errorBlock:^(NSError *error) {
|
||||
} errorBlock:^(NSError *error) {
|
||||
welf.callResult.text = [NSString stringWithFormat:@"Error: %@", error];
|
||||
welf.callingRequest = nil;
|
||||
}];
|
||||
|
@ -2,37 +2,52 @@
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "29x29",
|
||||
"scale" : "2x"
|
||||
"scale" : "2x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "29x29",
|
||||
"scale" : "3x"
|
||||
"scale" : "3x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "40x40",
|
||||
"scale" : "2x"
|
||||
"scale" : "2x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "40x40",
|
||||
"scale" : "3x"
|
||||
"scale" : "3x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "60x60",
|
||||
"scale" : "2x"
|
||||
"scale" : "2x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"size" : "60x60",
|
||||
"scale" : "3x"
|
||||
"scale" : "3x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "60x60"
|
||||
},
|
||||
{
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "60x60"
|
||||
},
|
||||
{
|
||||
"idiom" : "ios-marketing",
|
||||
"scale" : "1x",
|
||||
"size" : "1024x1024"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
@ -1,142 +0,0 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"orientation" : "portrait",
|
||||
"idiom" : "iphone",
|
||||
"extent" : "full-screen",
|
||||
"minimum-system-version" : "8.0",
|
||||
"subtype" : "736h",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"orientation" : "landscape",
|
||||
"idiom" : "iphone",
|
||||
"extent" : "full-screen",
|
||||
"minimum-system-version" : "8.0",
|
||||
"subtype" : "736h",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"orientation" : "portrait",
|
||||
"idiom" : "iphone",
|
||||
"extent" : "full-screen",
|
||||
"minimum-system-version" : "8.0",
|
||||
"subtype" : "667h",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"orientation" : "portrait",
|
||||
"idiom" : "iphone",
|
||||
"extent" : "full-screen",
|
||||
"minimum-system-version" : "7.0",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"orientation" : "portrait",
|
||||
"idiom" : "iphone",
|
||||
"extent" : "full-screen",
|
||||
"minimum-system-version" : "7.0",
|
||||
"subtype" : "retina4",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"orientation" : "portrait",
|
||||
"idiom" : "ipad",
|
||||
"extent" : "full-screen",
|
||||
"minimum-system-version" : "7.0",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"orientation" : "landscape",
|
||||
"idiom" : "ipad",
|
||||
"extent" : "full-screen",
|
||||
"minimum-system-version" : "7.0",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"orientation" : "portrait",
|
||||
"idiom" : "ipad",
|
||||
"extent" : "full-screen",
|
||||
"minimum-system-version" : "7.0",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"orientation" : "landscape",
|
||||
"idiom" : "ipad",
|
||||
"extent" : "full-screen",
|
||||
"minimum-system-version" : "7.0",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"orientation" : "portrait",
|
||||
"idiom" : "iphone",
|
||||
"extent" : "full-screen",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"orientation" : "portrait",
|
||||
"idiom" : "iphone",
|
||||
"extent" : "full-screen",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"orientation" : "portrait",
|
||||
"idiom" : "iphone",
|
||||
"extent" : "full-screen",
|
||||
"subtype" : "retina4",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"orientation" : "portrait",
|
||||
"idiom" : "ipad",
|
||||
"extent" : "to-status-bar",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"orientation" : "portrait",
|
||||
"idiom" : "ipad",
|
||||
"extent" : "full-screen",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"orientation" : "landscape",
|
||||
"idiom" : "ipad",
|
||||
"extent" : "to-status-bar",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"orientation" : "landscape",
|
||||
"idiom" : "ipad",
|
||||
"extent" : "full-screen",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"orientation" : "portrait",
|
||||
"idiom" : "ipad",
|
||||
"extent" : "to-status-bar",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"orientation" : "portrait",
|
||||
"idiom" : "ipad",
|
||||
"extent" : "full-screen",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"orientation" : "landscape",
|
||||
"idiom" : "ipad",
|
||||
"extent" : "to-status-bar",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"orientation" : "landscape",
|
||||
"idiom" : "ipad",
|
||||
"extent" : "full-screen",
|
||||
"scale" : "2x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
@ -60,15 +60,14 @@
|
||||
static NSArray *labels = nil;
|
||||
static NSString *const USERS_GET = @"users.get";
|
||||
static NSString *const FRIENDS_GET = @"friends.get";
|
||||
static NSString *const AUDIO_GET = @"audio.get";
|
||||
static NSString *const FRIENDS_GET_FULL = @"friends.get with fields";
|
||||
static NSString *const DOCS_GET = @"docs.get";
|
||||
static NSString *const USERS_SUBSCRIPTIONS = @"Pavel Durov subscribers";
|
||||
static NSString *const UPLOAD_PHOTO = @"Upload photo to wall";
|
||||
static NSString *const UPLOAD_PHOTO_ALBUM = @"Upload photo to album";
|
||||
static NSString *const UPLOAD_PHOTOS = @"Upload several photos to wall";
|
||||
static NSString *const TEST_CAPTCHA = @"Test captcha";
|
||||
static NSString *const CALL_UNKNOWN_METHOD = @"Call unknown method";
|
||||
static NSString *const TEST_VALIDATION = @"Test validation";
|
||||
static NSString *const MAKE_SYNCHRONOUS = @"Make synchronous request";
|
||||
static NSString *const SHARE_DIALOG = @"Test share dialog";
|
||||
static NSString *const TEST_ACTIVITY = @"Test VKActivity";
|
||||
@ -79,7 +78,7 @@ static NSString *const ALL_USER_FIELDS = @"id,first_name,last_name,sex,bdate,cit
|
||||
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
if (!labels)
|
||||
labels = @[USERS_GET, USERS_SUBSCRIPTIONS, AUDIO_GET, FRIENDS_GET, FRIENDS_GET_FULL, UPLOAD_PHOTO, UPLOAD_PHOTO_ALBUM, UPLOAD_PHOTOS, TEST_CAPTCHA, CALL_UNKNOWN_METHOD, TEST_VALIDATION, MAKE_SYNCHRONOUS, SHARE_DIALOG, TEST_ACTIVITY, TEST_APPREQUEST];
|
||||
labels = @[USERS_GET, USERS_SUBSCRIPTIONS, FRIENDS_GET, FRIENDS_GET_FULL, DOCS_GET, UPLOAD_PHOTO, UPLOAD_PHOTO_ALBUM, UPLOAD_PHOTOS, TEST_CAPTCHA, CALL_UNKNOWN_METHOD, MAKE_SYNCHRONOUS, SHARE_DIALOG, TEST_ACTIVITY, TEST_APPREQUEST];
|
||||
return labels.count;
|
||||
}
|
||||
|
||||
@ -118,19 +117,16 @@ static NSString *const ALL_USER_FIELDS = @"id,first_name,last_name,sex,bdate,cit
|
||||
VKRequest *friendsRequest = [[VKApi friends] get:@{VK_API_FIELDS : ALL_USER_FIELDS}];
|
||||
[self callMethod:friendsRequest];
|
||||
}
|
||||
else if ([label isEqualToString:DOCS_GET]) {
|
||||
[self callMethod:[[VKApi docs] get]];
|
||||
}
|
||||
else if ([label isEqualToString:CALL_UNKNOWN_METHOD]) {
|
||||
[self callMethod:[VKRequest requestWithMethod:@"I.am.Lord.Voldemort" parameters:nil]];
|
||||
}
|
||||
else if ([label isEqualToString:TEST_VALIDATION]) {
|
||||
[self callMethod:[VKRequest requestWithMethod:@"account.testValidation" parameters:nil]];
|
||||
}
|
||||
else if ([label isEqualToString:MAKE_SYNCHRONOUS]) {
|
||||
VKUsersArray *users = [self loadUsers];
|
||||
NSLog(@"users %@", users);
|
||||
}
|
||||
else if ([label isEqualToString:AUDIO_GET]) {
|
||||
[self callMethod:[VKRequest requestWithMethod:@"audio.get" parameters:nil modelClass:[VKAudios class]]];
|
||||
}
|
||||
else if ([label isEqualToString:SHARE_DIALOG]) {
|
||||
|
||||
|
||||
@ -194,7 +190,7 @@ static NSString *const ALL_USER_FIELDS = @"id,first_name,last_name,sex,bdate,cit
|
||||
VKRequest *request = [[VKApiCaptcha new] force];
|
||||
[request executeWithResultBlock:^(VKResponse *response) {
|
||||
NSLog(@"Result: %@", response);
|
||||
} errorBlock:^(NSError *error) {
|
||||
} errorBlock:^(NSError *error) {
|
||||
NSLog(@"Error: %@", error);
|
||||
}];
|
||||
}
|
||||
@ -210,10 +206,10 @@ static NSString *const ALL_USER_FIELDS = @"id,first_name,last_name,sex,bdate,cit
|
||||
NSLog(@"Result: %@", postResponse);
|
||||
NSNumber *postId = postResponse.json[@"post_id"];
|
||||
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://vk.com/wall-60479154_%@", postId]]];
|
||||
} errorBlock:^(NSError *error) {
|
||||
} errorBlock:^(NSError *error) {
|
||||
NSLog(@"Error: %@", error);
|
||||
}];
|
||||
} errorBlock:^(NSError *error) {
|
||||
} errorBlock:^(NSError *error) {
|
||||
NSLog(@"Error: %@", error);
|
||||
}];
|
||||
}
|
||||
@ -236,10 +232,10 @@ static NSString *const ALL_USER_FIELDS = @"id,first_name,last_name,sex,bdate,cit
|
||||
NSLog(@"Result: %@", response);
|
||||
NSNumber *postId = response.json[@"post_id"];
|
||||
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://vk.com/wall-60479154_%@", postId]]];
|
||||
} errorBlock:^(NSError *error) {
|
||||
} errorBlock:^(NSError *error) {
|
||||
NSLog(@"Error: %@", error);
|
||||
}];
|
||||
} errorBlock:^(NSError *error) {
|
||||
} errorBlock:^(NSError *error) {
|
||||
NSLog(@"Error: %@", error);
|
||||
}];
|
||||
}
|
||||
@ -250,7 +246,7 @@ static NSString *const ALL_USER_FIELDS = @"id,first_name,last_name,sex,bdate,cit
|
||||
NSLog(@"Result: %@", response);
|
||||
VKPhoto *photo = [(VKPhotoArray *) response.parsedModel objectAtIndex:0];
|
||||
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://vk.com/photo-60479154_%@", photo.id]]];
|
||||
} errorBlock:^(NSError *error) {
|
||||
} errorBlock:^(NSError *error) {
|
||||
NSLog(@"Error: %@", error);
|
||||
}];
|
||||
}
|
||||
|
@ -33,7 +33,7 @@ static NSArray *SCOPE = nil;
|
||||
@implementation VKStartScreen
|
||||
|
||||
- (void)viewDidLoad {
|
||||
SCOPE = @[VK_PER_FRIENDS, VK_PER_WALL, VK_PER_AUDIO, VK_PER_PHOTOS, VK_PER_NOHTTPS, VK_PER_EMAIL, VK_PER_MESSAGES];
|
||||
SCOPE = @[VK_PER_FRIENDS, VK_PER_WALL, VK_PER_PHOTOS, VK_PER_NOHTTPS, VK_PER_EMAIL, VK_PER_MESSAGES, VK_PER_DOCS];
|
||||
[super viewDidLoad];
|
||||
[[VKSdk initializeWithAppId:@"3974615"] registerDelegate:self];
|
||||
[[VKSdk instance] setUiDelegate:self];
|
||||
|
@ -58,4 +58,4 @@ FOUNDATION_EXPORT const unsigned char VKSdkFrameworkVersionString[];
|
||||
#import <VKSdkFramework/VKJSONOperation.h>
|
||||
#import <VKSdkFramework/VKRequestsScheduler.h>
|
||||
#import <VKSdkFramework/VKSharedTransitioningObject.h>
|
||||
#import <VKSdkFramework/NSString+MD5.h>
|
||||
#import <VKSdkFramework/NSString+MD5.h>
|
||||
|
@ -68,6 +68,12 @@ Returns object for preparing requests to groups part of API
|
||||
*/
|
||||
+ (VKApiGroups *)groups;
|
||||
|
||||
/**
|
||||
https://vk.com/dev/docs
|
||||
Returns object for preparing requests to docs part of API
|
||||
*/
|
||||
+ (VKApiDocs *)docs;
|
||||
|
||||
/**
|
||||
Create new request with parameters. See documentation for methods here https://vk.com/dev/methods
|
||||
|
||||
|
@ -26,6 +26,7 @@
|
||||
#import "VKUploadMessagesPhotoRequest.h"
|
||||
|
||||
@implementation VKApi
|
||||
|
||||
+ (VKApiUsers *)users {
|
||||
return [VKApiUsers new];
|
||||
}
|
||||
@ -46,6 +47,10 @@
|
||||
return [VKApiGroups new];
|
||||
}
|
||||
|
||||
+ (VKApiDocs *)docs {
|
||||
return [VKApiDocs new];
|
||||
}
|
||||
|
||||
+ (VKRequest *)requestWithMethod:(NSString *)method
|
||||
andParameters:(NSDictionary *)parameters {
|
||||
return [VKRequest requestWithMethod:method parameters:parameters];
|
||||
|
@ -30,145 +30,172 @@
|
||||
@implementation VKApiDocs : VKApiBase
|
||||
|
||||
- (VKRequest *)get {
|
||||
return [self prepareRequestWithMethodName:@"get" parameters:nil modelClass:[VKDocsArray class]];
|
||||
return [self prepareRequestWithMethodName:@"get"
|
||||
parameters:nil
|
||||
modelClass:[VKDocsArray class]];
|
||||
}
|
||||
|
||||
- (VKRequest *)get:(NSInteger)count {
|
||||
return [self prepareRequestWithMethodName:@"get" parameters: @{VK_API_COUNT : @(count)} modelClass:[VKDocsArray class]];
|
||||
return [self prepareRequestWithMethodName:@"get"
|
||||
parameters:@{VK_API_COUNT: @(count)}
|
||||
modelClass:[VKDocsArray class]];
|
||||
}
|
||||
|
||||
- (VKRequest *)get:(NSInteger)count andOffset:(NSInteger)offset {
|
||||
return [self prepareRequestWithMethodName:@"get"
|
||||
parameters:
|
||||
@{
|
||||
VK_API_COUNT : @(count),
|
||||
VK_API_OFFSET : @(offset),
|
||||
}
|
||||
modelClass:[VKDocsArray class]];
|
||||
return [self prepareRequestWithMethodName:@"get"
|
||||
parameters:@{
|
||||
VK_API_COUNT : @(count),
|
||||
VK_API_OFFSET : @(offset)
|
||||
}
|
||||
modelClass:[VKDocsArray class]];
|
||||
}
|
||||
|
||||
- (VKRequest *)get:(NSInteger)count andOffset:(NSInteger)offset andOwnerID:(NSInteger)ownerID {
|
||||
return [self prepareRequestWithMethodName:@"get"
|
||||
parameters:
|
||||
@{
|
||||
VK_API_COUNT : @(count),
|
||||
VK_API_OFFSET : @(offset),
|
||||
VK_API_OWNER_ID : @(ownerID),
|
||||
}
|
||||
modelClass:[VKDocsArray class]];
|
||||
return [self prepareRequestWithMethodName:@"get"
|
||||
parameters:@{
|
||||
VK_API_COUNT : @(count),
|
||||
VK_API_OFFSET : @(offset),
|
||||
VK_API_OWNER_ID : @(ownerID)
|
||||
}
|
||||
modelClass:[VKDocsArray class]];
|
||||
}
|
||||
|
||||
- (VKRequest *)getByID:(NSArray *)IDs {
|
||||
return [self prepareRequestWithMethodName:@"getById" parameters:@{@"docs" : IDs} modelClass:[VKDocsArray class]];
|
||||
return [self prepareRequestWithMethodName:@"getById"
|
||||
parameters:@{@"docs" : IDs}
|
||||
modelClass:[VKDocsArray class]];
|
||||
}
|
||||
|
||||
- (VKRequest *)getUploadServer {
|
||||
return [self prepareRequestWithMethodName:@"getUploadServer" parameters:nil];
|
||||
return [self prepareRequestWithMethodName:@"getUploadServer"
|
||||
parameters:nil];
|
||||
}
|
||||
|
||||
- (VKRequest *)getUploadServer:(NSInteger)group_id {
|
||||
return [self prepareRequestWithMethodName:@"getUploadServer" parameters:@{VK_API_GROUP_ID : [@(group_id) stringValue]}];
|
||||
return [self prepareRequestWithMethodName:@"getUploadServer"
|
||||
parameters:@{VK_API_GROUP_ID : @(group_id)}];
|
||||
}
|
||||
|
||||
- (VKRequest *)getWallUploadServer {
|
||||
return [self prepareRequestWithMethodName:@"getWallUploadServer" parameters:nil];
|
||||
return [self prepareRequestWithMethodName:@"getWallUploadServer"
|
||||
parameters:nil];
|
||||
}
|
||||
|
||||
- (VKRequest *)getWallUploadServer:(NSInteger)group_id {
|
||||
return [self prepareRequestWithMethodName:@"getWallUploadServer" parameters:@{VK_API_GROUP_ID : [@(group_id) stringValue]}];
|
||||
return [self prepareRequestWithMethodName:@"getWallUploadServer"
|
||||
parameters:@{VK_API_GROUP_ID : @(group_id)}];
|
||||
}
|
||||
|
||||
- (VKRequest *)save:(NSString *)file {
|
||||
return [self prepareRequestWithMethodName:@"save" parameters:@{VK_API_FILE : file} modelClass:[VKDocsArray class]];
|
||||
return [self prepareRequestWithMethodName:@"save"
|
||||
parameters:@{VK_API_FILE : file}
|
||||
modelClass:[VKDocsArray class]];
|
||||
}
|
||||
|
||||
- (VKRequest *)save:(NSString *)file andTitle:(NSString *)title {
|
||||
return [self prepareRequestWithMethodName:@"save" parameters:@{
|
||||
VK_API_FILE : file,
|
||||
VK_API_TITLE : title,
|
||||
} modelClass:[VKDocsArray class]];
|
||||
return [self prepareRequestWithMethodName:@"save"
|
||||
parameters:@{
|
||||
VK_API_FILE : file,
|
||||
VK_API_TITLE : title,
|
||||
}
|
||||
modelClass:[VKDocsArray class]];
|
||||
}
|
||||
|
||||
|
||||
- (VKRequest *)save:(NSString *)file andTitle:(NSString *)title andTags:(NSString *)tags {
|
||||
return [self prepareRequestWithMethodName:@"save" parameters:@{
|
||||
VK_API_FILE : file,
|
||||
VK_API_TITLE : title,
|
||||
VK_API_TAGS : tags
|
||||
} modelClass:[VKDocsArray class]];
|
||||
return [self prepareRequestWithMethodName:@"save"
|
||||
parameters:@{
|
||||
VK_API_FILE : file,
|
||||
VK_API_TITLE : title,
|
||||
VK_API_TAGS : tags
|
||||
}
|
||||
modelClass:[VKDocsArray class]];
|
||||
}
|
||||
|
||||
- (VKRequest *)delete:(NSInteger)ownerID andDocID:(NSInteger)docID {
|
||||
return [self prepareRequestWithMethodName:@"delete" parameters:@{
|
||||
VK_API_OWNER_ID : [@(ownerID) stringValue],
|
||||
VK_API_DOC_ID : [@(docID) stringValue],
|
||||
}];
|
||||
return [self prepareRequestWithMethodName:@"delete"
|
||||
parameters:@{
|
||||
VK_API_OWNER_ID : @(ownerID),
|
||||
VK_API_DOC_ID : @(docID),
|
||||
}];
|
||||
}
|
||||
|
||||
- (VKRequest *)add:(NSInteger)ownerID andDocID:(NSInteger)docID {
|
||||
return [self prepareRequestWithMethodName:@"add" parameters:@{
|
||||
VK_API_OWNER_ID : [@(ownerID) stringValue],
|
||||
VK_API_DOC_ID : [@(docID) stringValue]
|
||||
}];
|
||||
return [self prepareRequestWithMethodName:@"add"
|
||||
parameters:@{
|
||||
VK_API_OWNER_ID : @(ownerID),
|
||||
VK_API_DOC_ID : @(docID)
|
||||
}];
|
||||
}
|
||||
|
||||
- (VKRequest *)add:(NSInteger)ownerID andDocID:(NSInteger)docID andAccessKey:(NSString *)accessKey {
|
||||
return [self prepareRequestWithMethodName:@"add" parameters:@{
|
||||
VK_API_OWNER_ID : [@(ownerID) stringValue],
|
||||
VK_API_DOC_ID : [@(docID) stringValue],
|
||||
VK_API_ACCESS_KEY : accessKey
|
||||
}];
|
||||
return [self prepareRequestWithMethodName:@"add"
|
||||
parameters:@{
|
||||
VK_API_OWNER_ID : @(ownerID),
|
||||
VK_API_DOC_ID : @(docID),
|
||||
VK_API_ACCESS_KEY : accessKey
|
||||
}];
|
||||
}
|
||||
|
||||
- (VKRequest *)search:(NSString *)query {
|
||||
return [self prepareRequestWithMethodName:@"search" parameters:@{VK_API_Q : query} modelClass:[VKDocsArray class]];
|
||||
return [self prepareRequestWithMethodName:@"search"
|
||||
parameters:@{VK_API_Q : query}
|
||||
modelClass:[VKDocsArray class]];
|
||||
}
|
||||
|
||||
- (VKRequest *)search:(NSString *)query count:(NSInteger)count {
|
||||
return [self prepareRequestWithMethodName:@"search" parameters:@{
|
||||
VK_API_Q : query,
|
||||
VK_API_COUNT : [@(count) stringValue]
|
||||
} modelClass:[VKDocsArray class]];
|
||||
return [self prepareRequestWithMethodName:@"search"
|
||||
parameters:@{
|
||||
VK_API_Q : query,
|
||||
VK_API_COUNT : @(count)
|
||||
}
|
||||
modelClass:[VKDocsArray class]];
|
||||
}
|
||||
|
||||
- (VKRequest *)search:(NSString *)query count:(NSInteger)count andOffset:(NSInteger)offset {
|
||||
return [self prepareRequestWithMethodName:@"search" parameters:@{
|
||||
VK_API_Q : query,
|
||||
VK_API_COUNT : [@(count) stringValue],
|
||||
VK_API_OFFSET : [@(offset) stringValue]
|
||||
} modelClass:[VKDocsArray class]];
|
||||
return [self prepareRequestWithMethodName:@"search"
|
||||
parameters:@{
|
||||
VK_API_Q : query,
|
||||
VK_API_COUNT : @(count),
|
||||
VK_API_OFFSET : @(offset)
|
||||
}
|
||||
modelClass:[VKDocsArray class]];
|
||||
}
|
||||
|
||||
- (VKRequest *)edit:(NSInteger)docID title:(NSString *)title {
|
||||
return [self prepareRequestWithMethodName:@"edit" parameters:@{
|
||||
VK_API_DOC_ID : [@(docID) stringValue],
|
||||
VK_API_TITLE : title
|
||||
}];
|
||||
return [self prepareRequestWithMethodName:@"edit"
|
||||
parameters:@{
|
||||
VK_API_DOC_ID : @(docID),
|
||||
VK_API_TITLE : title
|
||||
}];
|
||||
}
|
||||
|
||||
- (VKRequest *)edit:(NSInteger)docID title:(NSString *)title tags:(NSString *)tags {
|
||||
return [self prepareRequestWithMethodName:@"edit" parameters:@{
|
||||
VK_API_DOC_ID : [@(docID) stringValue],
|
||||
VK_API_TITLE : title,
|
||||
VK_API_TAGS : tags
|
||||
}];
|
||||
return [self prepareRequestWithMethodName:@"edit"
|
||||
parameters:@{
|
||||
VK_API_DOC_ID : @(docID),
|
||||
VK_API_TITLE : title,
|
||||
VK_API_TAGS : tags
|
||||
}];
|
||||
}
|
||||
|
||||
- (VKRequest *)edit:(NSInteger)ownerID docID:(NSInteger)docID title:(NSString *)title {
|
||||
return [self prepareRequestWithMethodName:@"edit" parameters:@{
|
||||
VK_API_OWNER_ID : [@(ownerID) stringValue],
|
||||
VK_API_DOC_ID : [@(docID) stringValue],
|
||||
VK_API_TITLE : title
|
||||
}];
|
||||
return [self prepareRequestWithMethodName:@"edit"
|
||||
parameters:@{
|
||||
VK_API_OWNER_ID : @(ownerID),
|
||||
VK_API_DOC_ID : @(docID),
|
||||
VK_API_TITLE : title
|
||||
}];
|
||||
}
|
||||
|
||||
- (VKRequest *)edit:(NSInteger)ownerID docID:(NSInteger)docID title:(NSString *)title tags:(NSString *)tags {
|
||||
return [self prepareRequestWithMethodName:@"edit" parameters:@{
|
||||
VK_API_OWNER_ID : [@(ownerID) stringValue],
|
||||
VK_API_DOC_ID : [@(docID) stringValue],
|
||||
VK_API_TITLE : title,
|
||||
VK_API_TAGS : tags
|
||||
}];
|
||||
return [self prepareRequestWithMethodName:@"edit"
|
||||
parameters:@{
|
||||
VK_API_OWNER_ID : @(ownerID),
|
||||
VK_API_DOC_ID : @(docID),
|
||||
VK_API_TITLE : title,
|
||||
VK_API_TAGS : tags
|
||||
}];
|
||||
}
|
||||
|
||||
|
||||
|
@ -25,11 +25,15 @@
|
||||
|
||||
@implementation VKApiFriends
|
||||
- (VKRequest *)get {
|
||||
return [self prepareRequestWithMethodName:@"get" parameters:nil modelClass:[VKUsersArray class]];
|
||||
return [self prepareRequestWithMethodName:@"get"
|
||||
parameters:nil
|
||||
modelClass:[VKUsersArray class]];
|
||||
}
|
||||
|
||||
- (VKRequest *)get:(NSDictionary *)params {
|
||||
return [self prepareRequestWithMethodName:@"get" parameters:params modelClass:[VKUsersArray class]];
|
||||
return [self prepareRequestWithMethodName:@"get"
|
||||
parameters:params
|
||||
modelClass:[VKUsersArray class]];
|
||||
}
|
||||
|
||||
@end
|
||||
|
@ -11,6 +11,8 @@
|
||||
|
||||
@implementation VKApiGroups
|
||||
- (VKRequest *)getById:(NSDictionary *)params {
|
||||
return [self prepareRequestWithMethodName:@"getById" parameters:params modelClass:[VKGroups class]];
|
||||
return [self prepareRequestWithMethodName:@"getById"
|
||||
parameters:params
|
||||
modelClass:[VKGroups class]];
|
||||
}
|
||||
@end
|
||||
|
@ -21,13 +21,11 @@
|
||||
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
#import "VKApiObjectArray.h"
|
||||
#import "VKAudio.h"
|
||||
#import "VKPhoto.h"
|
||||
#import "VKLikes.h"
|
||||
#import "VKUser.h"
|
||||
#import "VKRelative.h"
|
||||
#import "VKCounters.h"
|
||||
#import "VKLikes.h"
|
||||
#import "VKSchool.h"
|
||||
#import "VKUniversity.h"
|
||||
#import "VKGroup.h"
|
||||
|
@ -25,27 +25,36 @@
|
||||
|
||||
@implementation VKApiPhotos
|
||||
- (VKRequest *)getUploadServer:(NSInteger)albumId {
|
||||
return [self prepareRequestWithMethodName:@"getUploadServer" parameters:@{VK_API_ALBUM_ID : @(albumId)}];
|
||||
return [self prepareRequestWithMethodName:@"getUploadServer"
|
||||
parameters:@{VK_API_ALBUM_ID : @(albumId)}];
|
||||
}
|
||||
|
||||
- (VKRequest *)getUploadServer:(NSInteger)albumId andGroupId:(NSInteger)groupId {
|
||||
return [self prepareRequestWithMethodName:@"getUploadServer" parameters:@{VK_API_ALBUM_ID : @(albumId), VK_API_GROUP_ID : @(groupId)}];
|
||||
return [self prepareRequestWithMethodName:@"getUploadServer"
|
||||
parameters:@{VK_API_ALBUM_ID : @(albumId),
|
||||
VK_API_GROUP_ID : @(groupId)}];
|
||||
}
|
||||
|
||||
- (VKRequest *)getWallUploadServer {
|
||||
return [self prepareRequestWithMethodName:@"getWallUploadServer" parameters:nil];
|
||||
return [self prepareRequestWithMethodName:@"getWallUploadServer"
|
||||
parameters:nil];
|
||||
}
|
||||
|
||||
- (VKRequest *)getWallUploadServer:(NSInteger)groupId {
|
||||
return [self prepareRequestWithMethodName:@"getWallUploadServer" parameters:@{VK_API_GROUP_ID : @(groupId)}];
|
||||
return [self prepareRequestWithMethodName:@"getWallUploadServer"
|
||||
parameters:@{VK_API_GROUP_ID : @(groupId)}];
|
||||
}
|
||||
|
||||
- (VKRequest *)saveWallPhoto:(NSDictionary *)params {
|
||||
return [self prepareRequestWithMethodName:@"saveWallPhoto" parameters:params modelClass:[VKPhotoArray class]];
|
||||
return [self prepareRequestWithMethodName:@"saveWallPhoto"
|
||||
parameters:params
|
||||
modelClass:[VKPhotoArray class]];
|
||||
}
|
||||
|
||||
- (VKRequest *)save:(NSDictionary *)params {
|
||||
return [self prepareRequestWithMethodName:@"save" parameters:params modelClass:[VKPhotoArray class]];
|
||||
return [self prepareRequestWithMethodName:@"save"
|
||||
parameters:params
|
||||
modelClass:[VKPhotoArray class]];
|
||||
}
|
||||
|
||||
@end
|
||||
|
@ -31,23 +31,29 @@
|
||||
}
|
||||
|
||||
- (VKRequest *)get:(NSDictionary *)params {
|
||||
return [self prepareRequestWithMethodName:@"get" parameters:params modelClass:[VKUsersArray class]];
|
||||
return [self prepareRequestWithMethodName:@"get"
|
||||
parameters:params
|
||||
modelClass:[VKUsersArray class]];
|
||||
}
|
||||
|
||||
#pragma mark search
|
||||
|
||||
- (VKRequest *)search:(NSDictionary *)params {
|
||||
return [self prepareRequestWithMethodName:@"search" parameters:params modelClass:[VKUsersArray class]];
|
||||
return [self prepareRequestWithMethodName:@"search"
|
||||
parameters:params
|
||||
modelClass:[VKUsersArray class]];
|
||||
}
|
||||
|
||||
#pragma mark isAppUser
|
||||
|
||||
- (VKRequest *)isAppUser {
|
||||
return [self prepareRequestWithMethodName:@"isAppUser" parameters:nil];
|
||||
return [self prepareRequestWithMethodName:@"isAppUser"
|
||||
parameters:nil];
|
||||
}
|
||||
|
||||
- (VKRequest *)isAppUser:(NSInteger)userID {
|
||||
return [self prepareRequestWithMethodName:@"isAppUser" parameters:@{VK_API_USER_ID : @(userID)}];
|
||||
return [self prepareRequestWithMethodName:@"isAppUser"
|
||||
parameters:@{VK_API_USER_ID : @(userID)}];
|
||||
}
|
||||
|
||||
#pragma mark subscriptions
|
||||
@ -57,7 +63,8 @@
|
||||
}
|
||||
|
||||
- (VKRequest *)getSubscriptions:(NSDictionary *)params {
|
||||
return [self prepareRequestWithMethodName:@"getSubscriptions" parameters:params];
|
||||
return [self prepareRequestWithMethodName:@"getSubscriptions"
|
||||
parameters:params];
|
||||
}
|
||||
|
||||
#pragma mark followers
|
||||
@ -67,7 +74,9 @@
|
||||
}
|
||||
|
||||
- (VKRequest *)getFollowers:(NSDictionary *)params {
|
||||
return [self prepareRequestWithMethodName:@"getFollowers" parameters:params modelClass:[VKUsersArray class]];
|
||||
return [self prepareRequestWithMethodName:@"getFollowers"
|
||||
parameters:params
|
||||
modelClass:[VKUsersArray class]];
|
||||
}
|
||||
|
||||
@end
|
||||
|
@ -24,7 +24,8 @@
|
||||
|
||||
@implementation VKApiWall
|
||||
- (VKRequest *)post:(NSDictionary *)params {
|
||||
return [self prepareRequestWithMethodName:@"post" parameters:params];
|
||||
return [self prepareRequestWithMethodName:@"post"
|
||||
parameters:params];
|
||||
}
|
||||
|
||||
@end
|
||||
|
@ -1,46 +0,0 @@
|
||||
//
|
||||
// VKAudio.h
|
||||
//
|
||||
// Copyright (c) 2014 VK.com
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
// this software and associated documentation files (the "Software"), to deal in
|
||||
// the Software without restriction, including without limitation the rights to
|
||||
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
// the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
// subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in all
|
||||
// copies or suabstantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
#import "VKApiObjectArray.h"
|
||||
|
||||
@class VKUser;
|
||||
|
||||
@interface VKAudio : VKApiObject
|
||||
|
||||
@property(nonatomic, strong) NSNumber *id;
|
||||
@property(nonatomic, strong) NSNumber *owner_id;
|
||||
@property(nonatomic, strong) NSString *artist;
|
||||
@property(nonatomic, strong) NSString *title;
|
||||
@property(nonatomic, strong) NSNumber *duration;
|
||||
@property(nonatomic, strong) NSString *url;
|
||||
@property(nonatomic, strong) NSNumber *lyrics_id;
|
||||
@property(nonatomic, strong) NSNumber *album_id;
|
||||
@property(nonatomic, strong) NSNumber *genre_id;
|
||||
|
||||
@property(nonatomic, assign) BOOL fromCache;
|
||||
@property(nonatomic, assign) BOOL ignoreCache;
|
||||
|
||||
@end
|
||||
|
||||
@interface VKAudios : VKApiObjectArray<VKAudio*>
|
||||
@property(nonatomic, strong) VKUser *user;
|
||||
@end
|
@ -1,52 +0,0 @@
|
||||
//
|
||||
// VKAudio.m
|
||||
//
|
||||
// Copyright (c) 2014 VK.com
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
// this software and associated documentation files (the "Software"), to deal in
|
||||
// the Software without restriction, including without limitation the rights to
|
||||
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
// the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
// subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in all
|
||||
// copies or suabstantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
#import "VKAudio.h"
|
||||
#import "VKUser.h"
|
||||
|
||||
@implementation VKAudio
|
||||
@end
|
||||
|
||||
@implementation VKAudios
|
||||
- (Class)objectClass {
|
||||
return [VKAudio class];
|
||||
}
|
||||
|
||||
//Parse first user in array (in some cases)
|
||||
- (NSMutableArray *)parseItems:(NSArray *)toParse asClass:(Class)objectClass {
|
||||
NSMutableArray *listOfParsedObjects = [NSMutableArray new];
|
||||
for (id objectDict in toParse) {
|
||||
if ([objectDict isKindOfClass:objectClass])
|
||||
[listOfParsedObjects addObject:objectDict];
|
||||
else if ([objectDict isKindOfClass:[NSDictionary class]]) {
|
||||
if ([toParse firstObject] == objectDict && objectDict[@"name"]) {
|
||||
self.user = [[VKUser alloc] initWithDictionary:objectDict];
|
||||
} else {
|
||||
[listOfParsedObjects addObject:[(VKApiObject *) [objectClass alloc] initWithDictionary:objectDict]];
|
||||
}
|
||||
}
|
||||
else
|
||||
[listOfParsedObjects addObject:objectDict];
|
||||
}
|
||||
return listOfParsedObjects;
|
||||
}
|
||||
@end
|
@ -23,25 +23,20 @@
|
||||
#import "VKApiObject.h"
|
||||
|
||||
@interface VKCounters : VKApiObject
|
||||
@property(nonatomic, strong) NSNumber *friends;
|
||||
@property(nonatomic, strong) NSNumber *messages;
|
||||
@property(nonatomic, strong) NSNumber *photos;
|
||||
@property(nonatomic, strong) NSNumber *videos;
|
||||
@property(nonatomic, strong) NSNumber *notifications;
|
||||
@property(nonatomic, strong) NSNumber *groups;
|
||||
@property(nonatomic, strong) NSNumber *gifts;
|
||||
@property(nonatomic, strong) NSNumber *events;
|
||||
|
||||
@property(nonatomic, strong) NSNumber *albums;
|
||||
@property(nonatomic, strong) NSNumber *audios;
|
||||
@property(nonatomic, strong) NSNumber *online_friends;
|
||||
@property(nonatomic, strong) NSNumber *mutual_friends;
|
||||
@property(nonatomic, strong) NSNumber *user_videos;
|
||||
@property(nonatomic, strong) NSNumber *docs;
|
||||
@property(nonatomic, strong) NSNumber *followers;
|
||||
@property(nonatomic, strong) NSNumber *user_photos;
|
||||
@property(nonatomic, strong) NSNumber *subscriptions;
|
||||
@property(nonatomic, strong) NSNumber *documents;
|
||||
@property(nonatomic, strong) NSNumber *topics;
|
||||
@property(nonatomic, strong) NSNumber *friends;
|
||||
@property(nonatomic, strong) NSNumber *groups;
|
||||
@property(nonatomic, strong) NSNumber *mutual_friends;
|
||||
@property(nonatomic, strong) NSNumber *notes;
|
||||
@property(nonatomic, strong) NSNumber *online_friends;
|
||||
@property(nonatomic, strong) NSNumber *pages;
|
||||
@property(nonatomic, strong) NSNumber *photos;
|
||||
@property(nonatomic, strong) NSNumber *topics;
|
||||
@property(nonatomic, strong) NSNumber *user_videos;
|
||||
@property(nonatomic, strong) NSNumber *videos;
|
||||
|
||||
@end
|
||||
|
@ -24,7 +24,29 @@
|
||||
#import "VKApiObject.h"
|
||||
#import "VKApiObjectArray.h"
|
||||
|
||||
@class VKDocs;
|
||||
@class VKPhoto;
|
||||
|
||||
@interface VKGraffiti : VKApiObject
|
||||
@property(nonatomic, strong) NSString *src;
|
||||
@property(nonatomic, strong) NSNumber *width;
|
||||
@property(nonatomic, strong) NSNumber *height;
|
||||
@end
|
||||
|
||||
@interface VKAudioMsg : VKApiObject
|
||||
@property(nonatomic, strong) NSNumber *duration;
|
||||
@property(nonatomic, strong) NSArray<NSNumber *> *waveform;
|
||||
@property(nonatomic, strong) NSString *link_ogg;
|
||||
@property(nonatomic, strong) NSString *link_mp3;
|
||||
@end
|
||||
|
||||
/**
|
||||
Document preview data.
|
||||
*/
|
||||
@interface VKDocsPreview : VKApiObject
|
||||
@property(nonatomic, strong) VKPhoto *photo;
|
||||
@property(nonatomic, strong) VKGraffiti *graffiti;
|
||||
@property(nonatomic, strong) VKAudioMsg *audio_msg;
|
||||
@end
|
||||
|
||||
/**
|
||||
Docs type of VK API. See descriptions here https://vk.com/dev/doc
|
||||
@ -36,10 +58,9 @@
|
||||
@property(nonatomic, strong) NSNumber *size;
|
||||
@property(nonatomic, copy) NSString *ext;
|
||||
@property(nonatomic, copy) NSString *url;
|
||||
@property(nonatomic, copy) NSString *photo_100;
|
||||
@property(nonatomic, copy) NSString *photo_130;
|
||||
@property(nonatomic, strong) NSNumber *date;
|
||||
@property(nonatomic, strong) NSNumber *type;
|
||||
@property(nonatomic, strong) VKDocsPreview *preview;
|
||||
@end
|
||||
|
||||
/**
|
||||
|
@ -23,6 +23,15 @@
|
||||
|
||||
#import "VKDocs.h"
|
||||
|
||||
@implementation VKGraffiti
|
||||
@end
|
||||
|
||||
@implementation VKAudioMsg
|
||||
@end
|
||||
|
||||
@implementation VKDocsPreview
|
||||
@end
|
||||
|
||||
@implementation VKDocs
|
||||
|
||||
@end
|
||||
|
@ -65,7 +65,46 @@
|
||||
/**
|
||||
Array of VKGroupLink objects
|
||||
*/
|
||||
@interface VKGroupLinks : VKApiObjectArray<VKGroupLink*>
|
||||
@interface VKGroupLinks : VKApiObjectArray<VKGroupLink *>
|
||||
@end
|
||||
|
||||
@interface VKAddresses : VKApiObject
|
||||
@property(nonatomic, assign) BOOL is_enabled;
|
||||
@property(nonatomic, strong) NSNumber *main_address_id;
|
||||
@end
|
||||
|
||||
@interface VKBanInfo : VKApiObject
|
||||
@property(nonatomic, strong) NSNumber *end_date;
|
||||
@property(nonatomic, strong) NSString *comment;
|
||||
@end
|
||||
|
||||
@interface VKCoverImage : VKApiObject
|
||||
@property(nonatomic, strong) NSString *url;
|
||||
@property(nonatomic, strong) NSNumber *width;
|
||||
@property(nonatomic, strong) NSNumber *height;
|
||||
@end
|
||||
|
||||
@interface VKCoverImages : VKApiObjectArray<VKCoverImage *>
|
||||
@end
|
||||
|
||||
@interface VKCover: VKApiObject
|
||||
@property(nonatomic, strong) NSNumber *enabled;
|
||||
@property(nonatomic, strong) VKCoverImages *images;
|
||||
@end
|
||||
|
||||
@interface VKCurrency : VKApiObject
|
||||
@property(nonatomic, strong) NSNumber *id;
|
||||
@property(nonatomic, strong) NSString *name;
|
||||
@end
|
||||
|
||||
@interface VKMarket: VKApiObject
|
||||
@property(nonatomic, strong) NSNumber *enabled;
|
||||
@property(nonatomic, strong) NSNumber *price_min;
|
||||
@property(nonatomic, strong) NSNumber *price_max;
|
||||
@property(nonatomic, strong) NSNumber *main_album_id;
|
||||
@property(nonatomic, strong) NSNumber *contact_id;
|
||||
@property(nonatomic, strong) VKCurrency *currency;
|
||||
@property(nonatomic, strong) NSString *currency_text;
|
||||
@end
|
||||
|
||||
/**
|
||||
@ -76,44 +115,55 @@
|
||||
@property(nonatomic, strong) NSString *name;
|
||||
@property(nonatomic, strong) NSString *screen_name;
|
||||
@property(nonatomic, strong) NSNumber *is_closed;
|
||||
@property(nonatomic, strong) NSString *type;
|
||||
@property(nonatomic, strong) NSString *deactivated;
|
||||
@property(nonatomic, strong) NSNumber *is_admin;
|
||||
@property(nonatomic, strong) NSNumber *admin_level;
|
||||
@property(nonatomic, strong) NSNumber *is_member;
|
||||
@property(nonatomic, strong) VKCity *city;
|
||||
@property(nonatomic, strong) VKCountry *country;
|
||||
@property(nonatomic, strong) VKGeoPlace *place;
|
||||
@property(nonatomic, strong) NSString *description;
|
||||
@property(nonatomic, strong) NSString *wiki_page;
|
||||
@property(nonatomic, strong) NSNumber *members_count;
|
||||
@property(nonatomic, strong) VKCounters *counters;
|
||||
@property(nonatomic, strong) NSNumber *start_date;
|
||||
@property(nonatomic, strong) NSNumber *end_date;
|
||||
@property(nonatomic, strong) NSNumber *finish_date;
|
||||
@property(nonatomic, strong) NSNumber *can_post;
|
||||
@property(nonatomic, strong) NSNumber *can_see_all_posts;
|
||||
@property(nonatomic, strong) NSNumber *can_create_topic;
|
||||
@property(nonatomic, strong) NSNumber *can_upload_doc;
|
||||
@property(nonatomic, strong) NSString *activity;
|
||||
@property(nonatomic, strong) NSString *status;
|
||||
@property(nonatomic, strong) VKAudio *status_audio;
|
||||
@property(nonatomic, strong) VKGroupContacts *contacts;
|
||||
@property(nonatomic, strong) VKGroupLinks *links;
|
||||
@property(nonatomic, strong) NSNumber *fixed_post;
|
||||
@property(nonatomic, strong) NSNumber *verified;
|
||||
@property(nonatomic, strong) NSString *site;
|
||||
@property(nonatomic, strong) NSNumber *is_advertiser;
|
||||
@property(nonatomic, strong) NSNumber *invited_by;
|
||||
@property(nonatomic, strong) NSString *type;
|
||||
@property(nonatomic, strong) NSString *photo_50;
|
||||
@property(nonatomic, strong) NSString *photo_100;
|
||||
@property(nonatomic, strong) NSString *photo_200;
|
||||
@property(nonatomic, strong) NSString *photo_max_orig;
|
||||
@property(nonatomic, strong) NSNumber *is_request;
|
||||
@property(nonatomic, strong) NSNumber *is_invite;
|
||||
@property(nonatomic, strong) VKPhotoArray *photos;
|
||||
@property(nonatomic, strong) NSNumber *photos_count;
|
||||
@property(nonatomic, strong) NSNumber *invited_by;
|
||||
@property(nonatomic, assign) NSInteger invite_state;
|
||||
@property(nonatomic, strong) NSString *deactivated;
|
||||
@property(nonatomic, strong) NSNumber *blacklisted;
|
||||
|
||||
@property(nonatomic, strong) NSString *activity;
|
||||
@property(nonatomic, strong) VKAddresses *addresses;
|
||||
@property(nonatomic, strong) NSNumber *age_limits;
|
||||
@property(nonatomic, strong) VKBanInfo *ban_info;
|
||||
@property(nonatomic, strong) NSNumber *can_create_topic;
|
||||
@property(nonatomic, strong) NSNumber *can_message;
|
||||
@property(nonatomic, strong) NSNumber *can_post;
|
||||
@property(nonatomic, strong) NSNumber *can_see_all_posts;
|
||||
@property(nonatomic, strong) NSNumber *can_upload_doc;
|
||||
@property(nonatomic, strong) NSNumber *can_upload_video;
|
||||
@property(nonatomic, strong) VKCity *city;
|
||||
@property(nonatomic, strong) VKGroupContacts *contacts;
|
||||
@property(nonatomic, strong) VKCounters *counters;
|
||||
@property(nonatomic, strong) VKCountry *country;
|
||||
@property(nonatomic, strong) VKCover *cover;
|
||||
@property(nonatomic, strong) VKCropPhoto *crop_photo;
|
||||
@property(nonatomic, strong) NSString *description;
|
||||
@property(nonatomic, strong) NSNumber *fixed_post;
|
||||
@property(nonatomic, strong) NSNumber *has_photo;
|
||||
@property(nonatomic, strong) NSNumber *is_favorite;
|
||||
@property(nonatomic, strong) NSNumber *is_hidden_from_feed;
|
||||
@property(nonatomic, strong) NSNumber *is_messages_blocked;
|
||||
@property(nonatomic, strong) VKGroupLinks *links;
|
||||
@property(nonatomic, strong) NSNumber *main_album_id;
|
||||
@property(nonatomic, strong) NSNumber *main_section;
|
||||
@property(nonatomic, strong) VKMarket *market;
|
||||
@property(nonatomic, strong) NSNumber *member_status;
|
||||
@property(nonatomic, strong) NSNumber *members_count;
|
||||
@property(nonatomic, strong) VKGeoPlace *place;
|
||||
@property(nonatomic, strong) NSString *public_date_label;
|
||||
@property(nonatomic, strong) NSString *site;
|
||||
@property(nonatomic, strong) NSNumber *start_date;
|
||||
@property(nonatomic, strong) NSNumber *finish_date;
|
||||
@property(nonatomic, strong) NSString *status;
|
||||
@property(nonatomic, strong) NSString *trending;
|
||||
@property(nonatomic, strong) NSNumber *verified;
|
||||
@property(nonatomic, strong) NSNumber *wall;
|
||||
@property(nonatomic, strong) NSString *wiki_page;
|
||||
|
||||
@end
|
||||
|
||||
|
@ -24,8 +24,6 @@
|
||||
#import "VKApiObjectArray.h"
|
||||
#import "VKPhotoSize.h"
|
||||
|
||||
@class VKLikes;
|
||||
|
||||
/**
|
||||
Photo type of VK API. See descriptions here https://vk.com/dev/photo
|
||||
*/
|
||||
@ -33,17 +31,13 @@ Photo type of VK API. See descriptions here https://vk.com/dev/photo
|
||||
@property(nonatomic, strong) NSNumber *id;
|
||||
@property(nonatomic, strong) NSNumber *album_id;
|
||||
@property(nonatomic, strong) NSNumber *owner_id;
|
||||
@property(nonatomic, strong) NSString *photo_75;
|
||||
@property(nonatomic, strong) NSString *photo_130;
|
||||
@property(nonatomic, strong) NSString *photo_604;
|
||||
@property(nonatomic, strong) NSString *photo_807;
|
||||
@property(nonatomic, strong) NSString *photo_1280;
|
||||
@property(nonatomic, strong) NSString *photo_2560;
|
||||
@property(nonatomic, strong) NSNumber *width;
|
||||
@property(nonatomic, strong) NSNumber *height;
|
||||
@property(nonatomic, strong) NSNumber *user_id;
|
||||
@property(nonatomic, strong) NSString *text;
|
||||
@property(nonatomic, strong) NSNumber *date;
|
||||
@property(nonatomic, strong) VKPhotoSizes *sizes;
|
||||
@property(nonatomic, strong) NSNumber *width;
|
||||
@property(nonatomic, strong) NSNumber *height;
|
||||
|
||||
@property(nonatomic, readonly) NSString *attachmentString;
|
||||
@end
|
||||
|
||||
|
@ -25,6 +25,7 @@
|
||||
@interface VKRelative : VKApiObject
|
||||
|
||||
@property(nonatomic, strong) NSNumber *id;
|
||||
@property(nonatomic, strong) NSString *name;
|
||||
@property(nonatomic, strong) NSString *type;
|
||||
|
||||
@end
|
||||
|
@ -23,7 +23,6 @@
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "VKApiObject.h"
|
||||
#import "VKApiObjectArray.h"
|
||||
#import "VKAudio.h"
|
||||
#import "VKCounters.h"
|
||||
#import "VKPhoto.h"
|
||||
#import "VKSchool.h"
|
||||
@ -45,12 +44,12 @@
|
||||
* User personal information (field 'personal')
|
||||
*/
|
||||
@interface VKPersonal : VKObject
|
||||
@property(nonatomic, strong) NSArray *langs;
|
||||
@property(nonatomic, strong) NSNumber *political;
|
||||
@property(nonatomic, strong) NSArray *langs;
|
||||
@property(nonatomic, strong) NSString *religion;
|
||||
@property(nonatomic, strong) NSNumber *life_main;
|
||||
@property(nonatomic, strong) NSNumber *people_main;
|
||||
@property(nonatomic, strong) NSString *inspired_by;
|
||||
@property(nonatomic, strong) NSNumber *people_main;
|
||||
@property(nonatomic, strong) NSNumber *life_main;
|
||||
@property(nonatomic, strong) NSNumber *smoking;
|
||||
@property(nonatomic, strong) NSNumber *alcohol;
|
||||
@end
|
||||
@ -73,6 +72,59 @@
|
||||
@property(nonatomic, strong) NSNumber *instagram;
|
||||
@end
|
||||
|
||||
/**
|
||||
Information about user's career (field 'career')
|
||||
*/
|
||||
@interface VKCareer : VKApiObject
|
||||
@property(nonatomic, strong) NSNumber *group_id;
|
||||
@property(nonatomic, strong) NSString *company;
|
||||
@property(nonatomic, strong) NSNumber *country_id;
|
||||
@property(nonatomic, strong) NSNumber *city_id;
|
||||
@property(nonatomic, strong) NSString *city_name;
|
||||
@property(nonatomic, strong) NSNumber *from;
|
||||
@property(nonatomic, strong) NSNumber *until;
|
||||
@property(nonatomic, strong) NSString *position;
|
||||
@end
|
||||
|
||||
/**
|
||||
Cropped user photo.
|
||||
*/
|
||||
@interface VKCrop: VKApiObject
|
||||
@property(nonatomic, strong) NSNumber *x;
|
||||
@property(nonatomic, strong) NSNumber *y;
|
||||
@property(nonatomic, strong) NSNumber *x2;
|
||||
@property(nonatomic, strong) NSNumber *y2;
|
||||
@end
|
||||
|
||||
/**
|
||||
Data about points used for cropping of profile and preview user photos.
|
||||
*/
|
||||
@interface VKCropPhoto : VKApiObject
|
||||
@property(nonatomic, strong) VKPhoto *photo;
|
||||
@property(nonatomic, strong) VKCrop *crop;
|
||||
@property(nonatomic, strong) VKCrop *rect;
|
||||
@end
|
||||
|
||||
/**
|
||||
Information about user's military service.
|
||||
*/
|
||||
@interface VKMilitary: VKApiObject
|
||||
@property(nonatomic, strong) NSString *unit;
|
||||
@property(nonatomic, strong) NSNumber *unit_id;
|
||||
@property(nonatomic, strong) NSNumber *country_id;
|
||||
@property(nonatomic, strong) NSNumber *from;
|
||||
@property(nonatomic, strong) NSNumber *until;
|
||||
@end
|
||||
|
||||
/**
|
||||
User's occupation
|
||||
*/
|
||||
@interface VKOccupation: VKApiObject
|
||||
@property(nonatomic, strong) NSString *type;
|
||||
@property(nonatomic, strong) NSNumber *id;
|
||||
@property(nonatomic, strong) NSString *name;
|
||||
@end
|
||||
|
||||
/**
|
||||
User type of VK API. See descriptions here https://vk.com/dev/fields
|
||||
*/
|
||||
@ -80,87 +132,107 @@
|
||||
@property(nonatomic, strong) NSNumber *id;
|
||||
@property(nonatomic, strong) NSString *first_name;
|
||||
@property(nonatomic, strong) NSString *last_name;
|
||||
@property(nonatomic, strong) NSString *first_name_acc;
|
||||
@property(nonatomic, strong) NSString *last_name_acc;
|
||||
@property(nonatomic, strong) NSString *first_name_gen;
|
||||
@property(nonatomic, strong) NSString *last_name_gen;
|
||||
@property(nonatomic, strong) NSString *first_name_dat;
|
||||
@property(nonatomic, strong) NSString *last_name_dat;
|
||||
@property(nonatomic, strong) NSString *first_name_ins;
|
||||
@property(nonatomic, strong) NSString *last_name_ins;
|
||||
@property(nonatomic, strong) NSString *domain;
|
||||
@property(nonatomic, strong) VKPersonal *personal;
|
||||
@property(nonatomic, strong) NSNumber *sex;
|
||||
@property(nonatomic, strong) NSNumber *invited_by;
|
||||
@property(nonatomic, strong) NSNumber *online;
|
||||
@property(nonatomic, strong) NSString *deactivated;
|
||||
@property(nonatomic, strong) NSNumber *is_closed;
|
||||
@property(nonatomic, strong) NSNumber *can_access_closed;
|
||||
|
||||
@property(nonatomic, strong) NSString *about;
|
||||
@property(nonatomic, strong) NSString *activities;
|
||||
@property(nonatomic, strong) NSString *bdate;
|
||||
@property(nonatomic, strong) VKCity *city;
|
||||
@property(nonatomic, strong) VKCountry *country;
|
||||
@property(nonatomic, strong) NSMutableArray *lists;
|
||||
@property(nonatomic, strong) NSString *screen_name;
|
||||
@property(nonatomic, strong) NSNumber *has_mobile;
|
||||
@property(nonatomic, strong) NSNumber *rate;
|
||||
@property(nonatomic, strong) NSString *mobile_phone;
|
||||
@property(nonatomic, strong) NSString *home_phone;
|
||||
@property(nonatomic, assign) BOOL blacklisted;
|
||||
@property(nonatomic, assign) BOOL blacklisted_by_me;
|
||||
@property(nonatomic, strong) NSString *books;
|
||||
@property(nonatomic, assign) BOOL can_post;
|
||||
@property(nonatomic, assign) BOOL can_see_all_posts;
|
||||
@property(nonatomic, strong) NSString *status;
|
||||
@property(nonatomic, strong) VKAudio *status_audio;
|
||||
@property(nonatomic, assign) bool status_loaded;
|
||||
@property(nonatomic, strong) VKLastSeen *last_seen;
|
||||
@property(nonatomic, strong) NSNumber *relation;
|
||||
@property(nonatomic, strong) VKUser *relation_partner;
|
||||
@property(nonatomic, strong) VKCounters *counters;
|
||||
@property(nonatomic, strong) NSString *nickname;
|
||||
@property(nonatomic, strong) VKExports *exports;
|
||||
@property(nonatomic, strong) NSNumber *wall_comments;
|
||||
@property(nonatomic, assign) BOOL can_write_private_message;
|
||||
@property(nonatomic, assign) BOOL can_see_audio;
|
||||
@property(nonatomic, strong) NSString *phone;
|
||||
@property(nonatomic, strong) NSNumber *online_mobile;
|
||||
@property(nonatomic, strong) NSNumber *faculty;
|
||||
@property(nonatomic, strong) NSNumber *university;
|
||||
@property(nonatomic, strong) VKUniversities *universities;
|
||||
@property(nonatomic, strong) VKSchools *schools;
|
||||
@property(nonatomic, strong) NSNumber *graduation;
|
||||
@property(nonatomic, strong) NSNumber *friendState;
|
||||
@property(nonatomic, assign) BOOL can_see_friend_request;
|
||||
@property(nonatomic, assign) BOOL can_write_private_message;
|
||||
@property(nonatomic, strong) VKCareer *career;
|
||||
@property(nonatomic, strong) VKCity *city;
|
||||
@property(nonatomic, strong) NSNumber *common_count;
|
||||
@property(nonatomic, strong) NSString *faculty_name;
|
||||
@property(nonatomic, strong) NSString *university_name;
|
||||
@property(nonatomic, strong) NSString *books;
|
||||
@property(nonatomic, strong) VKCounters *counters;
|
||||
@property(nonatomic, strong) VKCountry *country;
|
||||
@property(nonatomic, strong) VKCropPhoto *crop_photo;
|
||||
@property(nonatomic, strong) NSString *domain;
|
||||
@property(nonatomic, strong) VKExports *exports;
|
||||
|
||||
@property(nonatomic, strong) NSString *first_name_nom;
|
||||
@property(nonatomic, strong) NSString *first_name_gen;
|
||||
@property(nonatomic, strong) NSString *first_name_dat;
|
||||
@property(nonatomic, strong) NSString *first_name_acc;
|
||||
@property(nonatomic, strong) NSString *first_name_ins;
|
||||
@property(nonatomic, strong) NSString *first_name_abl;
|
||||
|
||||
@property(nonatomic, strong) NSNumber *followers_count;
|
||||
@property(nonatomic, strong) NSNumber *friend_status;
|
||||
@property(nonatomic, strong) NSString *games;
|
||||
@property(nonatomic, assign) BOOL has_mobile;
|
||||
@property(nonatomic, assign) BOOL has_photo;
|
||||
@property(nonatomic, strong) NSString *home_phone;
|
||||
@property(nonatomic, strong) NSString *home_town;
|
||||
@property(nonatomic, strong) NSString *interests;
|
||||
@property(nonatomic, assign) BOOL is_favorite;
|
||||
@property(nonatomic, assign) BOOL is_friend;
|
||||
@property(nonatomic, assign) BOOL is_hidden_from_feed;
|
||||
|
||||
@property(nonatomic, strong) NSString *last_name_nom;
|
||||
@property(nonatomic, strong) NSString *last_name_gen;
|
||||
@property(nonatomic, strong) NSString *last_name_dat;
|
||||
@property(nonatomic, strong) NSString *last_name_acc;
|
||||
@property(nonatomic, strong) NSString *last_name_ins;
|
||||
@property(nonatomic, strong) NSString *last_name_abl;
|
||||
|
||||
@property(nonatomic, strong) VKLastSeen *last_seen;
|
||||
@property(nonatomic, strong) NSString *lists;
|
||||
@property(nonatomic, strong) NSString *maiden_name;
|
||||
@property(nonatomic, strong) VKMilitary *military;
|
||||
@property(nonatomic, strong) NSString *mobile_phone;
|
||||
@property(nonatomic, strong) NSString *movies;
|
||||
@property(nonatomic, strong) NSString *tv;
|
||||
@property(nonatomic, strong) NSString *about;
|
||||
@property(nonatomic, strong) NSString *music;
|
||||
@property(nonatomic, strong) NSString *quoutes;
|
||||
@property(nonatomic, strong) NSString *activities;
|
||||
@property(nonatomic, strong) NSString *photo_max;
|
||||
@property(nonatomic, strong) NSString *nickname;
|
||||
@property(nonatomic, strong) VKOccupation *occupation;
|
||||
@property(nonatomic, assign) BOOL online;
|
||||
@property(nonatomic, assign) BOOL online_mobile;
|
||||
@property(nonatomic, strong) NSNumber *online_app;
|
||||
@property(nonatomic, strong) VKPersonal *personal;
|
||||
|
||||
@property(nonatomic, strong) NSString *photo_50;
|
||||
@property(nonatomic, strong) NSString *photo_100;
|
||||
@property(nonatomic, strong) NSString *photo_200;
|
||||
@property(nonatomic, strong) NSString *photo_200_orig;
|
||||
@property(nonatomic, strong) NSString *photo_400_orig;
|
||||
@property(nonatomic, strong) NSString *photo_id;
|
||||
@property(nonatomic, strong) NSString *photo_max;
|
||||
@property(nonatomic, strong) NSString *photo_max_orig;
|
||||
@property(nonatomic, strong) VKPhotoArray *photos;
|
||||
@property(nonatomic, strong) NSNumber *photos_count;
|
||||
|
||||
@property(nonatomic, strong) NSString *quoutes;
|
||||
@property(nonatomic, strong) VKRelativities *relatives;
|
||||
@property(nonatomic, assign) NSTimeInterval bdateIntervalSort;
|
||||
@property(nonatomic, strong) NSNumber *verified;
|
||||
@property(nonatomic, strong) NSString *deactivated;
|
||||
@property(nonatomic, strong) NSNumber *relation;
|
||||
@property(nonatomic, strong) VKSchools *schools;
|
||||
@property(nonatomic, strong) NSString *screen_name;
|
||||
@property(nonatomic, strong) NSNumber *sex;
|
||||
@property(nonatomic, strong) NSString *site;
|
||||
@property(nonatomic, strong) NSString *home_town;
|
||||
@property(nonatomic, strong) NSNumber *blacklisted;
|
||||
@property(nonatomic, strong) NSNumber *blacklisted_by_me;
|
||||
@property(nonatomic, strong) NSString *twitter;
|
||||
@property(nonatomic, strong) NSString *skype;
|
||||
@property(nonatomic, strong) NSString *facebook;
|
||||
@property(nonatomic, strong) NSString *instagram;
|
||||
@property(nonatomic, strong) NSString *livejournal;
|
||||
@property(nonatomic, strong) NSString *status;
|
||||
@property(nonatomic, strong) NSNumber *timezone;
|
||||
@property(nonatomic, assign) BOOL trending;
|
||||
@property(nonatomic, strong) NSString *tv;
|
||||
|
||||
@property(nonatomic, strong) NSNumber *university;
|
||||
@property(nonatomic, strong) VKUniversities *universities;
|
||||
@property(nonatomic, strong) NSString *university_name;
|
||||
@property(nonatomic, strong) NSNumber *faculty;
|
||||
@property(nonatomic, strong) NSString *faculty_name;
|
||||
@property(nonatomic, strong) NSNumber *graduation;
|
||||
|
||||
@property(nonatomic, assign) BOOL verified;
|
||||
@property(nonatomic, strong) NSString *wall_default;
|
||||
|
||||
@property(nonatomic, strong) NSNumber *followers_count;
|
||||
@property(nonatomic, strong) NSString *skype;
|
||||
@property(nonatomic, strong) NSString *facebook;
|
||||
@property(nonatomic, strong) NSString *twitter;
|
||||
@property(nonatomic, strong) NSString *livejournal;
|
||||
@property(nonatomic, strong) NSString *instagram;
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
|
@ -33,6 +33,13 @@
|
||||
|
||||
@end
|
||||
|
||||
@implementation VKUsersArray
|
||||
|
||||
-(Class)objectClass {
|
||||
return [VKUser class];
|
||||
}
|
||||
@end
|
||||
|
||||
@implementation VKGeoObject
|
||||
@end
|
||||
|
||||
@ -45,9 +52,19 @@
|
||||
@implementation VKExports
|
||||
@end
|
||||
|
||||
@implementation VKUsersArray
|
||||
|
||||
-(Class)objectClass {
|
||||
return [VKUser class];
|
||||
}
|
||||
@implementation VKCareer
|
||||
@end
|
||||
|
||||
|
||||
@implementation VKCrop
|
||||
@end
|
||||
|
||||
@implementation VKCropPhoto
|
||||
@end
|
||||
|
||||
@implementation VKMilitary
|
||||
@end
|
||||
|
||||
@implementation VKOccupation
|
||||
@end
|
||||
|
||||
|
@ -90,37 +90,39 @@ extern inline BOOL VKStateTransitionIsValid(VKOperationState fromState, VKOperat
|
||||
|
||||
VKRequest *serverRequest = [_uploadRequest getServerRequest];
|
||||
serverRequest.responseQueue = self.responseQueue;
|
||||
__weak typeof(self) wself = self;
|
||||
serverRequest.completeBlock = ^(VKResponse *response) {
|
||||
__strong typeof(self) self = wself;
|
||||
NSData *imageData = nil;
|
||||
switch (_uploadRequest.imageParameters.imageType) {
|
||||
switch (self->_uploadRequest.imageParameters.imageType) {
|
||||
case VKImageTypeJpg:
|
||||
imageData = UIImageJPEGRepresentation(_uploadRequest.image, _uploadRequest.imageParameters.jpegQuality);
|
||||
imageData = UIImageJPEGRepresentation(self->_uploadRequest.image, self->_uploadRequest.imageParameters.jpegQuality);
|
||||
break;
|
||||
|
||||
case VKImageTypePng:
|
||||
imageData = UIImagePNGRepresentation(_uploadRequest.image);
|
||||
imageData = UIImagePNGRepresentation(self->_uploadRequest.image);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
_uploadRequest.image = nil;
|
||||
self->_uploadRequest.image = nil;
|
||||
VKRequest *postFileRequest = [VKRequest photoRequestWithPostUrl:response.json[@"upload_url"]
|
||||
withPhotos:@[[VKUploadImage uploadImageWithData:imageData andParams:_uploadRequest.imageParameters]]];
|
||||
postFileRequest.progressBlock = _uploadRequest.progressBlock;
|
||||
withPhotos:@[[VKUploadImage uploadImageWithData:imageData andParams:self->_uploadRequest.imageParameters]]];
|
||||
postFileRequest.progressBlock = self->_uploadRequest.progressBlock;
|
||||
postFileRequest.responseQueue = self.responseQueue;
|
||||
self.lastLoadingRequest = postFileRequest;
|
||||
[postFileRequest executeWithResultBlock:^(VKResponse *response) {
|
||||
VKRequest *saveRequest = [_uploadRequest getSaveRequest:response];
|
||||
VKRequest *saveRequest = [self->_uploadRequest getSaveRequest:response];
|
||||
saveRequest.responseQueue = self.responseQueue;
|
||||
self.lastLoadingRequest = saveRequest;
|
||||
[saveRequest executeWithResultBlock:^(VKResponse *response) {
|
||||
response.request = _uploadRequest;
|
||||
response.request = self->_uploadRequest;
|
||||
|
||||
if (_uploadRequest.completeBlock) _uploadRequest.completeBlock(response);
|
||||
if (self->_uploadRequest.completeBlock) self->_uploadRequest.completeBlock(response);
|
||||
[weakSelf finish];
|
||||
} errorBlock:_uploadRequest.errorBlock];
|
||||
} errorBlock:_uploadRequest.errorBlock];
|
||||
} errorBlock:self.uploadRequest.errorBlock];
|
||||
} errorBlock:self.uploadRequest.errorBlock];
|
||||
};
|
||||
serverRequest.errorBlock = _uploadRequest.errorBlock;
|
||||
self.lastLoadingRequest = serverRequest;
|
||||
|
@ -297,8 +297,8 @@ void vksdk_dispatch_on_main_queue_now(void(^block)(void)) {
|
||||
}
|
||||
|
||||
[operation setCompletionBlockWithSuccess:^(VKHTTPOperation *completedOperation, id JSON) {
|
||||
[_requestTiming loaded];
|
||||
if (_executionOperation.isCancelled) {
|
||||
[self->_requestTiming loaded];
|
||||
if (self->_executionOperation.isCancelled) {
|
||||
return;
|
||||
}
|
||||
if ([JSON objectForKey:@"error"]) {
|
||||
@ -310,9 +310,9 @@ void vksdk_dispatch_on_main_queue_now(void(^block)(void)) {
|
||||
return;
|
||||
}
|
||||
[self provideResponse:JSON responseString:completedOperation.responseString];
|
||||
} failure:^(VKHTTPOperation *completedOperation, NSError *error) {
|
||||
[_requestTiming loaded];
|
||||
if (_executionOperation.isCancelled) {
|
||||
} failure:^(VKHTTPOperation *completedOperation, NSError *error) {
|
||||
[self->_requestTiming loaded];
|
||||
if (self->_executionOperation.isCancelled) {
|
||||
return;
|
||||
}
|
||||
if (completedOperation.response.statusCode == 200) {
|
||||
@ -322,14 +322,14 @@ void vksdk_dispatch_on_main_queue_now(void(^block)(void)) {
|
||||
if (self.attempts == 0 || ++self.attemptsUsed < self.attempts) {
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t) (300 * NSEC_PER_MSEC)), self.responseQueue,
|
||||
^(void) {
|
||||
[self executeWithResultBlock:_completeBlock errorBlock:_errorBlock];
|
||||
[self executeWithResultBlock:self->_completeBlock errorBlock:self->_errorBlock];
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
VKError *vkErr = [VKError errorWithCode:completedOperation.response ? completedOperation.response.statusCode : error.code];
|
||||
[self provideError:[error copyWithVkError:vkErr]];
|
||||
[_requestTiming finished];
|
||||
[self->_requestTiming finished];
|
||||
|
||||
}];
|
||||
operation.successCallbackQueue = operation.failureCallbackQueue = [VKRequest processingQueue];
|
||||
@ -423,7 +423,7 @@ void vksdk_dispatch_on_main_queue_now(void(^block)(void)) {
|
||||
if (self.errorBlock) {
|
||||
self.errorBlock(self.error);
|
||||
}
|
||||
for (VKRequest *postRequest in _postRequestsQueue) {
|
||||
for (VKRequest *postRequest in self->_postRequestsQueue) {
|
||||
if (postRequest.errorBlock) {
|
||||
postRequest.errorBlock(self.error);
|
||||
}
|
||||
@ -515,7 +515,7 @@ void vksdk_dispatch_on_main_queue_now(void(^block)(void)) {
|
||||
if (error.apiError.errorCode == 6) {
|
||||
//Too many requests per second
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t) (_waitMultiplier * NSEC_PER_SEC)), [[self class] processingQueue], ^{
|
||||
_waitMultiplier *= ((arc4random() % 10) + 10) / 10.f;
|
||||
self->_waitMultiplier *= ((arc4random() % 10) + 10) / 10.f;
|
||||
[self repeat];
|
||||
});
|
||||
return YES;
|
||||
|
@ -91,24 +91,24 @@
|
||||
dispatch_async(_schedulerQueue, ^{
|
||||
NSTimeInterval now = [[NSDate new] timeIntervalSince1970];
|
||||
NSInteger thisSecond = (NSInteger) now;
|
||||
if (!_scheduleDict) {
|
||||
_scheduleDict = [NSMutableDictionary new];
|
||||
if (!self->_scheduleDict) {
|
||||
self->_scheduleDict = [NSMutableDictionary new];
|
||||
}
|
||||
NSArray *keysToRemove = [[_scheduleDict allKeys] filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"SELF < %d", thisSecond]];
|
||||
[_scheduleDict removeObjectsForKeys:keysToRemove];
|
||||
NSInteger countForSecond = [_scheduleDict[@(thisSecond)] integerValue];
|
||||
if (countForSecond < _currentLimitPerSecond) {
|
||||
_scheduleDict[@(thisSecond)] = @(++countForSecond);
|
||||
NSArray *keysToRemove = [[self->_scheduleDict allKeys] filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"SELF < %d", thisSecond]];
|
||||
[self->_scheduleDict removeObjectsForKeys:keysToRemove];
|
||||
NSInteger countForSecond = [self->_scheduleDict[@(thisSecond)] integerValue];
|
||||
if (countForSecond < self->_currentLimitPerSecond) {
|
||||
self->_scheduleDict[@(thisSecond)] = @(++countForSecond);
|
||||
[req start];
|
||||
} else {
|
||||
CGFloat delay = [self currentAvailableInterval], step = delay;
|
||||
while ([_scheduleDict[@(thisSecond)] integerValue] >= _currentLimitPerSecond) {
|
||||
while ([self->_scheduleDict[@(thisSecond)] integerValue] >= self->_currentLimitPerSecond) {
|
||||
delay += step;
|
||||
thisSecond = (NSInteger) (now + delay);
|
||||
}
|
||||
NSInteger nextSecCount = [_scheduleDict[@(thisSecond)] integerValue];
|
||||
NSInteger nextSecCount = [self->_scheduleDict[@(thisSecond)] integerValue];
|
||||
delay += step * nextSecCount;
|
||||
_scheduleDict[@(thisSecond)] = @(++nextSecCount);
|
||||
self->_scheduleDict[@(thisSecond)] = @(++nextSecCount);
|
||||
dispatch_sync(dispatch_get_main_queue(), ^{
|
||||
[req performSelector:@selector(start) withObject:nil afterDelay:delay inModes:@[NSRunLoopCommonModes]];
|
||||
});
|
||||
|
@ -25,7 +25,6 @@
|
||||
extern NSString *const VK_PER_NOTIFY;
|
||||
extern NSString *const VK_PER_FRIENDS;
|
||||
extern NSString *const VK_PER_PHOTOS;
|
||||
extern NSString *const VK_PER_AUDIO;
|
||||
extern NSString *const VK_PER_VIDEO;
|
||||
extern NSString *const VK_PER_DOCS;
|
||||
extern NSString *const VK_PER_NOTES;
|
||||
|
@ -25,7 +25,6 @@
|
||||
NSString *const VK_PER_NOTIFY = @"notify";
|
||||
NSString *const VK_PER_FRIENDS = @"friends";
|
||||
NSString *const VK_PER_PHOTOS = @"photos";
|
||||
NSString *const VK_PER_AUDIO = @"audio";
|
||||
NSString *const VK_PER_VIDEO = @"video";
|
||||
NSString *const VK_PER_DOCS = @"docs";
|
||||
NSString *const VK_PER_NOTES = @"notes";
|
||||
@ -47,19 +46,18 @@ NSArray *VKParseVkPermissionsFromInteger(NSInteger permissionsValue) {
|
||||
if (permissionsValue & 1) [res addObject:VK_PER_NOTIFY];
|
||||
if (permissionsValue & 2) [res addObject:VK_PER_FRIENDS];
|
||||
if (permissionsValue & 4) [res addObject:VK_PER_PHOTOS];
|
||||
if (permissionsValue & 8) [res addObject:VK_PER_AUDIO];
|
||||
if (permissionsValue & 16) [res addObject:VK_PER_VIDEO];
|
||||
if (permissionsValue & 128) [res addObject:VK_PER_PAGES];
|
||||
if (permissionsValue & 1024) [res addObject:VK_PER_STATUS];
|
||||
if (permissionsValue & 2048) [res addObject:VK_PER_NOTES];
|
||||
if (permissionsValue & 4096) [res addObject:VK_PER_MESSAGES];
|
||||
if (permissionsValue & 8192) [res addObject:VK_PER_WALL];
|
||||
if (permissionsValue & 32768) [res addObject:VK_PER_ADS];
|
||||
if (permissionsValue & 65536) [res addObject:VK_PER_OFFLINE];
|
||||
if (permissionsValue & 131072) [res addObject:VK_PER_DOCS];
|
||||
if (permissionsValue & 262144) [res addObject:VK_PER_GROUPS];
|
||||
if (permissionsValue & 524288) [res addObject:VK_PER_NOTIFICATIONS];
|
||||
if (permissionsValue & 1048576) [res addObject:VK_PER_STATS];
|
||||
if (permissionsValue & 134217728) [res addObject:VK_PER_MARKET];
|
||||
if (permissionsValue & 8) [res addObject:VK_PER_VIDEO];
|
||||
if (permissionsValue & 16) [res addObject:VK_PER_PAGES];
|
||||
if (permissionsValue & 128) [res addObject:VK_PER_STATUS];
|
||||
if (permissionsValue & 1024) [res addObject:VK_PER_NOTES];
|
||||
if (permissionsValue & 2048) [res addObject:VK_PER_MESSAGES];
|
||||
if (permissionsValue & 4096) [res addObject:VK_PER_WALL];
|
||||
if (permissionsValue & 8192) [res addObject:VK_PER_ADS];
|
||||
if (permissionsValue & 32768) [res addObject:VK_PER_OFFLINE];
|
||||
if (permissionsValue & 65536) [res addObject:VK_PER_DOCS];
|
||||
if (permissionsValue & 131072) [res addObject:VK_PER_GROUPS];
|
||||
if (permissionsValue & 262144) [res addObject:VK_PER_NOTIFICATIONS];
|
||||
if (permissionsValue & 524288) [res addObject:VK_PER_STATS];
|
||||
if (permissionsValue & 1048576) [res addObject:VK_PER_MARKET];
|
||||
return res;
|
||||
}
|
||||
|
@ -275,6 +275,13 @@ Initialize SDK with responder for global SDK events.
|
||||
*/
|
||||
+ (VKAccessToken *)accessToken;
|
||||
|
||||
/**
|
||||
Set your own access token
|
||||
@param token token token token
|
||||
*/
|
||||
|
||||
+ (void)setAccessToken:(VKAccessToken *)token;
|
||||
|
||||
///-------------------------------
|
||||
/// @name Other methods
|
||||
///-------------------------------
|
||||
|
@ -251,11 +251,11 @@ static NSString *VK_ACCESS_TOKEN_DEFAULTS_KEY = @"VK_ACCESS_TOKEN_DEFAULTS_KEY_D
|
||||
|
||||
VKSdk *instance = [self instance];
|
||||
|
||||
void (^hideViews)() = ^{
|
||||
void (^hideViews)(void) = ^{
|
||||
if (instance.presentedSafariViewController) {
|
||||
UIViewController *safariVC = instance.presentedSafariViewController;
|
||||
[safariVC vks_viewControllerWillDismiss];
|
||||
void (^dismissBlock)() = ^{
|
||||
void (^dismissBlock)(void) = ^{
|
||||
[safariVC vks_viewControllerDidDismiss];
|
||||
};
|
||||
if (safariVC.isBeingDismissed) {
|
||||
@ -316,7 +316,7 @@ static NSString *VK_ACCESS_TOKEN_DEFAULTS_KEY = @"VK_ACCESS_TOKEN_DEFAULTS_KEY_D
|
||||
NSDictionary *parametersDict = [VKUtil explodeQueryString:parametersString];
|
||||
BOOL inAppCheck = [[passedUrl host] isEqual:@"oauth.vk.com"];
|
||||
|
||||
void (^throwError)() = ^{
|
||||
void (^throwError)(void) = ^{
|
||||
VKError *error = [VKError errorWithQuery:parametersDict];
|
||||
if (!validation) {
|
||||
notifyAuthorization(nil, error);
|
||||
@ -446,7 +446,7 @@ static NSString *VK_ACCESS_TOKEN_DEFAULTS_KEY = @"VK_ACCESS_TOKEN_DEFAULTS_KEY_D
|
||||
}
|
||||
wakeUpBlock(instance.authState, error);
|
||||
|
||||
} trackVisitor:firstCall token:token];
|
||||
} trackVisitor:firstCall token:token];
|
||||
|
||||
}
|
||||
|
||||
@ -519,7 +519,7 @@ static NSString *VK_ACCESS_TOKEN_DEFAULTS_KEY = @"VK_ACCESS_TOKEN_DEFAULTS_KEY_D
|
||||
if (infoCallback) {
|
||||
infoCallback(user, [VK_ENSURE_NUM(response.json[@"permissions"]) integerValue], nil);
|
||||
}
|
||||
} errorBlock:^(NSError *error) {
|
||||
} errorBlock:^(NSError *error) {
|
||||
if (infoCallback) {
|
||||
infoCallback(nil, 0, error);
|
||||
}
|
||||
|
@ -20,5 +20,5 @@
|
||||
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
#define VK_SDK_VERSION @"1.4.6"
|
||||
#define VK_SDK_API_VERSION @"5.40"
|
||||
#define VK_SDK_VERSION @"1.4.7"
|
||||
#define VK_SDK_API_VERSION @"5.122"
|
||||
|
@ -171,9 +171,11 @@ NSString *VK_AUTHORIZE_URL_STRING = @"vkauthorize://authorize";
|
||||
}
|
||||
}
|
||||
|
||||
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
|
||||
[super didRotateFromInterfaceOrientation:fromInterfaceOrientation];
|
||||
[self makeViewport];
|
||||
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
|
||||
[super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
|
||||
[coordinator animateAlongsideTransition:nil completion:^(id<UIViewControllerTransitionCoordinatorContext> _Nonnull context) {
|
||||
[self makeViewport];
|
||||
}];
|
||||
}
|
||||
|
||||
- (instancetype)initWith:(NSString *)appId andPermissions:(NSArray *)permissions revokeAccess:(BOOL)revoke displayType:(VKDisplayType)display {
|
||||
@ -233,7 +235,7 @@ NSString *VK_AUTHORIZE_URL_STRING = @"vkauthorize://authorize";
|
||||
if ([error code] != NSURLErrorCancelled) {
|
||||
self.warningLabel.hidden = NO;
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t) (500 * NSEC_PER_MSEC)), dispatch_get_main_queue(), ^(void) {
|
||||
[webView loadRequest:_lastRequest];
|
||||
[webView loadRequest:self->_lastRequest];
|
||||
if (!self.navigationItem.rightBarButtonItem)
|
||||
[self setRightBarButtonActivity];
|
||||
});
|
||||
@ -251,7 +253,7 @@ NSString *VK_AUTHORIZE_URL_STRING = @"vkauthorize://authorize";
|
||||
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation {
|
||||
[self makeViewport];
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t) (300 * NSEC_PER_MSEC)), dispatch_get_main_queue(), ^(void) {
|
||||
_warningLabel.hidden = YES;
|
||||
self->_warningLabel.hidden = YES;
|
||||
webView.hidden = NO;
|
||||
self.navigationItem.rightBarButtonItem = nil;
|
||||
});
|
||||
@ -266,11 +268,11 @@ NSString *VK_AUTHORIZE_URL_STRING = @"vkauthorize://authorize";
|
||||
|
||||
- (void)cancelAuthorization:(id)sender {
|
||||
[self dismissWithCompletion:^{
|
||||
if (!_validationError) {
|
||||
if (!self->_validationError) {
|
||||
//Silent cancel
|
||||
[VKSdk processOpenInternalURL:[NSURL URLWithString:@"#"] validation:NO];
|
||||
} else {
|
||||
[_validationError.request cancel];
|
||||
[self->_validationError.request cancel];
|
||||
}
|
||||
}];
|
||||
if (_validationError) {
|
||||
@ -281,7 +283,7 @@ NSString *VK_AUTHORIZE_URL_STRING = @"vkauthorize://authorize";
|
||||
}
|
||||
}
|
||||
|
||||
- (void)dismissWithCompletion:(void (^)())completion {
|
||||
- (void)dismissWithCompletion:(void (^)(void))completion {
|
||||
_finished = YES;
|
||||
|
||||
if (_internalNavigationController.isBeingDismissed) {
|
||||
|
@ -74,10 +74,14 @@ CGFloat kCaptchaViewHeight = 138;
|
||||
_captchaTextField.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin;
|
||||
[self addSubview:_captchaTextField];
|
||||
VKHTTPOperation *operation = [[VKHTTPOperation alloc] initWithURLRequest:[[VKHTTPClient getClient] requestWithMethod:@"GET" path:_error.captchaImg parameters:nil secure:NO]];
|
||||
|
||||
__weak typeof(self) wself = self;
|
||||
[operation setCompletionBlockWithSuccess:^(VKHTTPOperation *operation, id responseObject) {
|
||||
[_captchaImage setImage:[UIImage imageWithData:operation.responseData]];
|
||||
__strong typeof(self) self = wself;
|
||||
[self->_captchaImage setImage:[UIImage imageWithData:operation.responseData]];
|
||||
} failure:^(VKHTTPOperation *operation, NSError *error) {
|
||||
}];
|
||||
|
||||
[[VKHTTPClient getClient] enqueueOperation:operation];
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(deviceDidRotate:) name:UIDeviceOrientationDidChangeNotification object:nil];
|
||||
[self deviceDidRotate:nil];
|
||||
@ -87,8 +91,8 @@ CGFloat kCaptchaViewHeight = 138;
|
||||
|
||||
- (void)deviceDidRotate:(NSNotification *)notification {
|
||||
[UIView animateWithDuration:notification ? 0.3 : 0 animations:^{
|
||||
_captchaImage.frame = CGRectMake((self.bounds.size.width - kCaptchaImageWidth) / 2, 5, kCaptchaImageWidth, kCaptchaImageHeight);
|
||||
_captchaTextField.frame = CGRectMake(_captchaImage.frame.origin.x, _captchaImage.frame.origin.y + kCaptchaImageHeight + 10, kCaptchaImageWidth, kCaptchaViewHeight - kCaptchaImageHeight - 10);
|
||||
self->_captchaImage.frame = CGRectMake((self.bounds.size.width - kCaptchaImageWidth) / 2, 5, kCaptchaImageWidth, kCaptchaImageHeight);
|
||||
self->_captchaTextField.frame = CGRectMake(self->_captchaImage.frame.origin.x, self->_captchaImage.frame.origin.y + kCaptchaImageHeight + 10, kCaptchaImageWidth, kCaptchaViewHeight - kCaptchaImageHeight - 10);
|
||||
}];
|
||||
}
|
||||
|
||||
|
@ -68,17 +68,17 @@
|
||||
return captchaFrame;
|
||||
}
|
||||
|
||||
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
|
||||
[super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration];
|
||||
CGSize screenSize = [UIScreen mainScreen].bounds.size;
|
||||
if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation)) {
|
||||
screenSize = CGSizeMake(MAX(screenSize.width, screenSize.height), MIN(screenSize.width, screenSize.height));
|
||||
} else {
|
||||
screenSize = CGSizeMake(MIN(screenSize.width, screenSize.height), MAX(screenSize.width, screenSize.height));
|
||||
}
|
||||
|
||||
|
||||
self.captchaView.frame = [self captchaFrameForScreenSize:screenSize];
|
||||
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
|
||||
[super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
|
||||
[coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> _Nonnull context) {
|
||||
CGSize screenSize = [UIScreen mainScreen].bounds.size;
|
||||
if (UIInterfaceOrientationIsLandscape(UIApplication.sharedApplication.statusBarOrientation)) {
|
||||
screenSize = CGSizeMake(MAX(screenSize.width, screenSize.height), MIN(screenSize.width, screenSize.height));
|
||||
} else {
|
||||
screenSize = CGSizeMake(MIN(screenSize.width, screenSize.height), MAX(screenSize.width, screenSize.height));
|
||||
}
|
||||
self.captchaView.frame = [self captchaFrameForScreenSize:screenSize];
|
||||
} completion:nil];
|
||||
}
|
||||
|
||||
- (void)presentIn:(UIViewController *)controller {
|
||||
|
@ -253,17 +253,13 @@ static const CGFloat ipadHeight = 500.f;
|
||||
[self rotateToInterfaceOrientation:orientation appear:YES];
|
||||
}
|
||||
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||
|
||||
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
|
||||
[super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration];
|
||||
|
||||
[self rotateToInterfaceOrientation:toInterfaceOrientation appear:NO];
|
||||
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
|
||||
[super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
|
||||
[coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> _Nonnull context) {
|
||||
[self rotateToInterfaceOrientation:UIApplication.sharedApplication.statusBarOrientation appear:NO];
|
||||
} completion:nil];
|
||||
}
|
||||
|
||||
#pragma clang diagnostic pop
|
||||
|
||||
- (void)rotateToInterfaceOrientation:(UIInterfaceOrientation)orientation appear:(BOOL)onAppear {
|
||||
if (VK_IS_DEVICE_IPAD) {
|
||||
CGSize viewSize = self.view.frame.size;
|
||||
@ -334,10 +330,6 @@ static const CGFloat ipadHeight = 500.f;
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (UIStatusBarStyle)preferredStatusBarStyle {
|
||||
return UIStatusBarStyleDefault;
|
||||
}
|
||||
@ -913,15 +905,6 @@ static const CGFloat kAttachmentsViewSize = 100.0f;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||
|
||||
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
|
||||
[super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration];
|
||||
}
|
||||
|
||||
#pragma clang diagnostic pop
|
||||
|
||||
- (void)prepare {
|
||||
|
||||
self.postSettings = [VKPostSettings new];
|
||||
@ -1117,7 +1100,9 @@ static const CGFloat kAttachmentsViewSize = 100.0f;
|
||||
}
|
||||
|
||||
VKRequest *req = [VKRequest requestWithMethod:@"photos.getById" parameters:@{@"photos" : [parent.vkImages componentsJoinedByString:@","], @"photo_sizes" : @1} modelClass:[VKPhotoArray class]];
|
||||
__weak typeof(self) wself = self;
|
||||
[req executeWithResultBlock:^(VKResponse *res) {
|
||||
__strong typeof(self) self = wself;
|
||||
VKPhotoArray *photos = res.parsedModel;
|
||||
NSArray *requiredSizes = @[@"p", @"q", @"m"];
|
||||
for (VKPhoto *photo in photos) {
|
||||
@ -1153,7 +1138,7 @@ static const CGFloat kAttachmentsViewSize = 100.0f;
|
||||
[self removeAttachIfExists:attach];
|
||||
[self.attachmentsScrollView reloadData];
|
||||
}];
|
||||
imageLoad.successCallbackQueue = imageProcessingQueue;
|
||||
imageLoad.successCallbackQueue = self->imageProcessingQueue;
|
||||
[[VKHTTPClient getClient] enqueueOperation:imageLoad];
|
||||
}
|
||||
[self.attachmentsScrollView performBatchUpdates:^{
|
||||
|
Loading…
Reference in New Issue
Block a user