1
1
mirror of https://github.com/VKCOM/vk-ios-sdk.git synced 2024-09-11 06:45:37 +03:00

API version update 5.122

This commit is contained in:
Alikhan Mussabekov 2020-08-27 16:06:44 +03:00
parent aa4abe0470
commit a661a5853a
43 changed files with 691 additions and 666 deletions

View File

@ -47,7 +47,6 @@
1ACA6A08792E4AD2B10F1624 /* VKApiFriends.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ACA662E0B2D50702F4A11AD /* VKApiFriends.m */; }; 1ACA6A08792E4AD2B10F1624 /* VKApiFriends.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ACA662E0B2D50702F4A11AD /* VKApiFriends.m */; };
1ACA6A173F4BAA7E9AB43206 /* VKApiCaptcha.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ACA65061D1745F64BC42C75 /* VKApiCaptcha.m */; }; 1ACA6A173F4BAA7E9AB43206 /* VKApiCaptcha.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ACA65061D1745F64BC42C75 /* VKApiCaptcha.m */; };
1ACA6A898C8C008BCA5FDB67 /* VKSchool.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ACA66DA84E4941873ADCB4B /* VKSchool.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 */; }; 1ACA6AD5392AA08C69341D2B /* VKOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ACA6FE235BA094D8E3A0189 /* VKOperation.m */; };
1ACA6AEDDDC5D844B9FE115E /* VKApiObjectArray.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ACA68DAFB5BBB634DB0A73B /* VKApiObjectArray.m */; }; 1ACA6AEDDDC5D844B9FE115E /* VKApiObjectArray.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ACA68DAFB5BBB634DB0A73B /* VKApiObjectArray.m */; };
1ACA6B4A1DE944C3C9860528 /* VKApiObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 1ACA689B3E716E1BC2A6EBEC /* VKApiObject.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, ); }; }; 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, ); }; }; 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 */; }; 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, ); }; }; 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 */; }; 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, ); }; }; 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 */; }; F3909FF31A9C7B24006540A6 /* VKApiCaptcha.h in Copy Files */ = {isa = PBXBuildFile; fileRef = 1ACA68234EC488521F154B60 /* VKApiCaptcha.h */; };
F3909FF41A9C7B24006540A6 /* VKApiFriends.h in Copy Files */ = {isa = PBXBuildFile; fileRef = 1ACA6C753D37B145C7D5B400 /* VKApiFriends.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 */; }; 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 */; }; F3909FF71A9C7B24006540A6 /* VKGroup.h in Copy Files */ = {isa = PBXBuildFile; fileRef = 1ACA696193D3326E5462985A /* VKGroup.h */; };
F3909FF81A9C7B24006540A6 /* VKLikes.h in Copy Files */ = {isa = PBXBuildFile; fileRef = 1ACA630809E85C01C606C974 /* VKLikes.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 */; }; F3909FF91A9C7B24006540A6 /* VKPhoto.h in Copy Files */ = {isa = PBXBuildFile; fileRef = 1ACA6493701E3B36434F3F3A /* VKPhoto.h */; };
@ -286,7 +282,6 @@
F3909FF31A9C7B24006540A6 /* VKApiCaptcha.h in Copy Files */, F3909FF31A9C7B24006540A6 /* VKApiCaptcha.h in Copy Files */,
F3909FF41A9C7B24006540A6 /* VKApiFriends.h in Copy Files */, F3909FF41A9C7B24006540A6 /* VKApiFriends.h in Copy Files */,
F3909FF51A9C7B24006540A6 /* VKUser.h in Copy Files */, F3909FF51A9C7B24006540A6 /* VKUser.h in Copy Files */,
F3909FF61A9C7B24006540A6 /* VKAudio.h in Copy Files */,
F3909FF71A9C7B24006540A6 /* VKGroup.h in Copy Files */, F3909FF71A9C7B24006540A6 /* VKGroup.h in Copy Files */,
F3909FF81A9C7B24006540A6 /* VKLikes.h in Copy Files */, F3909FF81A9C7B24006540A6 /* VKLikes.h in Copy Files */,
F3909FF91A9C7B24006540A6 /* VKPhoto.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>"; }; 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>"; }; 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>"; }; 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>"; }; 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>"; }; 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>"; }; 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>"; }; 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>"; }; 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>"; }; 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>"; }; 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>"; }; 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>"; }; 1ACA68234EC488521F154B60 /* VKApiCaptcha.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VKApiCaptcha.h; sourceTree = "<group>"; };
@ -558,8 +551,6 @@
8F99D6391C42C61A0006DB03 /* VKDocs.m */, 8F99D6391C42C61A0006DB03 /* VKDocs.m */,
1ACA6BF00807A26E3B00BD65 /* VKUser.h */, 1ACA6BF00807A26E3B00BD65 /* VKUser.h */,
1ACA664E5CDF97EB2648B660 /* VKUser.m */, 1ACA664E5CDF97EB2648B660 /* VKUser.m */,
1ACA60E2C646C4C6615170CD /* VKAudio.h */,
1ACA673394DB0E515CBA9EFE /* VKAudio.m */,
1ACA696193D3326E5462985A /* VKGroup.h */, 1ACA696193D3326E5462985A /* VKGroup.h */,
1ACA6C700C815D16F08DD4CD /* VKGroup.m */, 1ACA6C700C815D16F08DD4CD /* VKGroup.m */,
1ACA630809E85C01C606C974 /* VKLikes.h */, 1ACA630809E85C01C606C974 /* VKLikes.h */,
@ -797,7 +788,6 @@
F34671341B8B7D07003EF74B /* VKAuthorizeController.h in Headers */, F34671341B8B7D07003EF74B /* VKAuthorizeController.h in Headers */,
F346711B1B8B7D07003EF74B /* VKPhoto.h in Headers */, F346711B1B8B7D07003EF74B /* VKPhoto.h in Headers */,
8F99D63A1C42C61A0006DB03 /* VKDocs.h in Headers */, 8F99D63A1C42C61A0006DB03 /* VKDocs.h in Headers */,
F34671151B8B7D07003EF74B /* VKAudio.h in Headers */,
F34671351B8B7D07003EF74B /* VKCaptchaView.h in Headers */, F34671351B8B7D07003EF74B /* VKCaptchaView.h in Headers */,
F346712F1B8B7D07003EF74B /* VKUploadWallPhotoRequest.h in Headers */, F346712F1B8B7D07003EF74B /* VKUploadWallPhotoRequest.h in Headers */,
F34670F81B8B7D07003EF74B /* VKPermissions.h in Headers */, F34670F81B8B7D07003EF74B /* VKPermissions.h in Headers */,
@ -921,7 +911,7 @@
isa = PBXProject; isa = PBXProject;
attributes = { attributes = {
CLASSPREFIX = VK; CLASSPREFIX = VK;
LastUpgradeCheck = 0700; LastUpgradeCheck = 1150;
ORGANIZATIONNAME = VK; ORGANIZATIONNAME = VK;
TargetAttributes = { TargetAttributes = {
F34670301B8B7C5A003EF74B = { F34670301B8B7C5A003EF74B = {
@ -937,10 +927,9 @@
}; };
buildConfigurationList = F3C75428182133CB00964716 /* Build configuration list for PBXProject "VK-ios-sdk" */; buildConfigurationList = F3C75428182133CB00964716 /* Build configuration list for PBXProject "VK-ios-sdk" */;
compatibilityVersion = "Xcode 3.2"; compatibilityVersion = "Xcode 3.2";
developmentRegion = English; developmentRegion = en;
hasScannedForEncodings = 0; hasScannedForEncodings = 0;
knownRegions = ( knownRegions = (
English,
en, en,
Base, Base,
ru, ru,
@ -1012,7 +1001,6 @@
F34671051B8B7D07003EF74B /* VKHTTPOperation.m in Sources */, F34671051B8B7D07003EF74B /* VKHTTPOperation.m in Sources */,
F34670E01B8B7CD9003EF74B /* VKSharedTransitioningObject.m in Sources */, F34670E01B8B7CD9003EF74B /* VKSharedTransitioningObject.m in Sources */,
F34670D51B8B7CC7003EF74B /* VKImageParameters.m in Sources */, F34670D51B8B7CC7003EF74B /* VKImageParameters.m in Sources */,
F34671161B8B7D07003EF74B /* VKAudio.m in Sources */,
F346711E1B8B7D07003EF74B /* VKSchool.m in Sources */, F346711E1B8B7D07003EF74B /* VKSchool.m in Sources */,
F34671111B8B7D07003EF74B /* VKResponse.m in Sources */, F34671111B8B7D07003EF74B /* VKResponse.m in Sources */,
F34671071B8B7D07003EF74B /* VKJSONOperation.m in Sources */, F34671071B8B7D07003EF74B /* VKJSONOperation.m in Sources */,
@ -1119,7 +1107,6 @@
1ACA6A08792E4AD2B10F1624 /* VKApiFriends.m in Sources */, 1ACA6A08792E4AD2B10F1624 /* VKApiFriends.m in Sources */,
F3454FD01ABB1D1A00B15E85 /* VKRequestsScheduler.m in Sources */, F3454FD01ABB1D1A00B15E85 /* VKRequestsScheduler.m in Sources */,
1ACA61EE5B7171D4F5726D08 /* VKUser.m in Sources */, 1ACA61EE5B7171D4F5726D08 /* VKUser.m in Sources */,
1ACA6AC9C143AC442155AD90 /* VKAudio.m in Sources */,
1ACA6F1A8CF8466F058EE7BC /* VKGroup.m in Sources */, 1ACA6F1A8CF8466F058EE7BC /* VKGroup.m in Sources */,
1ACA618960A488A476167F98 /* VKLikes.m in Sources */, 1ACA618960A488A476167F98 /* VKLikes.m in Sources */,
1ACA614F27B7C856D2BB49DD /* VKPhoto.m in Sources */, 1ACA614F27B7C856D2BB49DD /* VKPhoto.m in Sources */,
@ -1174,7 +1161,7 @@
buildSettings = { buildSettings = {
CLANG_ENABLE_MODULES = NO; CLANG_ENABLE_MODULES = NO;
CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN_UNREACHABLE_CODE = YES;
CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_IDENTITY = "";
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES; DEFINES_MODULE = YES;
@ -1207,7 +1194,7 @@
buildSettings = { buildSettings = {
CLANG_ENABLE_MODULES = NO; CLANG_ENABLE_MODULES = NO;
CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN_UNREACHABLE_CODE = YES;
CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_IDENTITY = "";
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1; CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
@ -1246,7 +1233,7 @@
"$(inherited)", "$(inherited)",
); );
INFOPLIST_FILE = "library/Resources/Resources-Info.plist"; INFOPLIST_FILE = "library/Resources/Resources-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 6.0; IPHONEOS_DEPLOYMENT_TARGET = 8.0;
MACOSX_DEPLOYMENT_TARGET = ""; MACOSX_DEPLOYMENT_TARGET = "";
PRODUCT_BUNDLE_IDENTIFIER = "com.vk.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_BUNDLE_IDENTIFIER = "com.vk.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
@ -1266,7 +1253,7 @@
GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = "SDK resources/SDK resources-Prefix.pch"; GCC_PREFIX_HEADER = "SDK resources/SDK resources-Prefix.pch";
INFOPLIST_FILE = "library/Resources/Resources-Info.plist"; INFOPLIST_FILE = "library/Resources/Resources-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 6.0; IPHONEOS_DEPLOYMENT_TARGET = 8.0;
MACOSX_DEPLOYMENT_TARGET = ""; MACOSX_DEPLOYMENT_TARGET = "";
PRODUCT_BUNDLE_IDENTIFIER = "com.vk.${PRODUCT_NAME:rfc1034identifier}"; PRODUCT_BUNDLE_IDENTIFIER = "com.vk.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
@ -1325,22 +1312,36 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = 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_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; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES; ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99; GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO; GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0; GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = ( GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1", "DEBUG=1",
@ -1364,21 +1365,35 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = 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_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; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = YES; COPY_PHASE_STRIP = YES;
ENABLE_NS_ASSERTIONS = NO; ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99; GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_MISSING_NEWLINE = YES; GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
@ -1403,7 +1418,7 @@
GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1"; GCC_PREPROCESSOR_DEFINITIONS = "DEBUG=1";
INSTALL_PATH = /; INSTALL_PATH = /;
IPHONEOS_DEPLOYMENT_TARGET = 6.0; IPHONEOS_DEPLOYMENT_TARGET = 8.0;
OTHER_LDFLAGS = "-ObjC"; OTHER_LDFLAGS = "-ObjC";
PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO; PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
PRIVATE_HEADERS_FOLDER_PATH = "$(PUBLIC_HEADERS_FOLDER_PATH)/Private"; PRIVATE_HEADERS_FOLDER_PATH = "$(PUBLIC_HEADERS_FOLDER_PATH)/Private";
@ -1425,7 +1440,7 @@
DSTROOT = /tmp/sdk.dst; DSTROOT = /tmp/sdk.dst;
GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PRECOMPILE_PREFIX_HEADER = NO;
INSTALL_PATH = /; INSTALL_PATH = /;
IPHONEOS_DEPLOYMENT_TARGET = 6.0; IPHONEOS_DEPLOYMENT_TARGET = 8.0;
OTHER_LDFLAGS = "-ObjC"; OTHER_LDFLAGS = "-ObjC";
PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO; PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
PRIVATE_HEADERS_FOLDER_PATH = "$(PUBLIC_HEADERS_FOLDER_PATH)/Private"; PRIVATE_HEADERS_FOLDER_PATH = "$(PUBLIC_HEADERS_FOLDER_PATH)/Private";

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Scheme <Scheme
LastUpgradeVersion = "0720" LastUpgradeVersion = "1150"
version = "1.3"> version = "1.3">
<BuildAction <BuildAction
parallelizeBuildables = "YES" parallelizeBuildables = "YES"
@ -27,6 +27,15 @@
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"> shouldUseLaunchSchemeArgsEnv = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F34670301B8B7C5A003EF74B"
BuildableName = "VKSdkFramework.framework"
BlueprintName = "VKSdkFramework"
ReferencedContainer = "container:VK-ios-sdk.xcodeproj">
</BuildableReference>
</MacroExpansion>
<Testables> <Testables>
<TestableReference <TestableReference
skipped = "NO"> skipped = "NO">
@ -39,17 +48,6 @@
</BuildableReference> </BuildableReference>
</TestableReference> </TestableReference>
</Testables> </Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F34670301B8B7C5A003EF74B"
BuildableName = "VKSdkFramework.framework"
BlueprintName = "VKSdkFramework"
ReferencedContainer = "container:VK-ios-sdk.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction> </TestAction>
<LaunchAction <LaunchAction
buildConfiguration = "Debug" buildConfiguration = "Debug"
@ -70,8 +68,6 @@
ReferencedContainer = "container:VK-ios-sdk.xcodeproj"> ReferencedContainer = "container:VK-ios-sdk.xcodeproj">
</BuildableReference> </BuildableReference>
</MacroExpansion> </MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction> </LaunchAction>
<ProfileAction <ProfileAction
buildConfiguration = "Release" buildConfiguration = "Release"

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Scheme <Scheme
LastUpgradeVersion = "0720" LastUpgradeVersion = "1150"
version = "1.3"> version = "1.3">
<BuildAction <BuildAction
parallelizeBuildables = "YES" parallelizeBuildables = "YES"
@ -27,6 +27,15 @@
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"> shouldUseLaunchSchemeArgsEnv = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F3C7542C182133CC00964716"
BuildableName = "libVKSdk.a"
BlueprintName = "VKSdk"
ReferencedContainer = "container:VK-ios-sdk.xcodeproj">
</BuildableReference>
</MacroExpansion>
<Testables> <Testables>
<TestableReference <TestableReference
skipped = "NO"> skipped = "NO">
@ -39,17 +48,6 @@
</BuildableReference> </BuildableReference>
</TestableReference> </TestableReference>
</Testables> </Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F3C7542C182133CC00964716"
BuildableName = "libVKSdk.a"
BlueprintName = "VKSdk"
ReferencedContainer = "container:VK-ios-sdk.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction> </TestAction>
<LaunchAction <LaunchAction
buildConfiguration = "Debug" buildConfiguration = "Debug"
@ -70,8 +68,6 @@
ReferencedContainer = "container:VK-ios-sdk.xcodeproj"> ReferencedContainer = "container:VK-ios-sdk.xcodeproj">
</BuildableReference> </BuildableReference>
</MacroExpansion> </MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction> </LaunchAction>
<ProfileAction <ProfileAction
buildConfiguration = "Release" buildConfiguration = "Release"

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Scheme <Scheme
LastUpgradeVersion = "0800" LastUpgradeVersion = "1150"
version = "1.3"> version = "1.3">
<BuildAction <BuildAction
parallelizeBuildables = "YES" parallelizeBuildables = "YES"
@ -11,6 +11,15 @@
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"> shouldUseLaunchSchemeArgsEnv = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F3EEFF651827B1DD000BB525"
BuildableName = "VKSDKTestApplication.app"
BlueprintName = "VKSDKTestApplication"
ReferencedContainer = "container:example/VKSDKTestApplication.xcodeproj">
</BuildableReference>
</MacroExpansion>
<Testables> <Testables>
<TestableReference <TestableReference
skipped = "NO"> skipped = "NO">
@ -23,17 +32,6 @@
</BuildableReference> </BuildableReference>
</TestableReference> </TestableReference>
</Testables> </Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F3EEFF651827B1DD000BB525"
BuildableName = "VKSDKTestApplication.app"
BlueprintName = "VKSDKTestApplication"
ReferencedContainer = "container:example/VKSDKTestApplication.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction> </TestAction>
<LaunchAction <LaunchAction
buildConfiguration = "Debug" buildConfiguration = "Debug"
@ -45,8 +43,6 @@
debugDocumentVersioning = "YES" debugDocumentVersioning = "YES"
debugServiceExtension = "internal" debugServiceExtension = "internal"
allowLocationSimulation = "YES"> allowLocationSimulation = "YES">
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction> </LaunchAction>
<ProfileAction <ProfileAction
buildConfiguration = "Release" buildConfiguration = "Release"

View File

@ -7,6 +7,7 @@
objects = { objects = {
/* Begin PBXBuildFile section */ /* 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 */; }; 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, ); }; }; 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 */; }; 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 */; }; F3EEFF7A1827B1DD000BB525 /* VKAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = F3EEFF791827B1DD000BB525 /* VKAppDelegate.m */; };
F3EEFF7C1827B1DD000BB525 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F3EEFF7B1827B1DD000BB525 /* Images.xcassets */; }; F3EEFF7C1827B1DD000BB525 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F3EEFF7B1827B1DD000BB525 /* Images.xcassets */; };
F3EEFFC01827E990000BB525 /* TestViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F3EEFFBE1827E990000BB525 /* TestViewController.m */; }; 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, ); }; }; F3EEFFD01827F9B5000BB525 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F3EEFFCF1827F9B5000BB525 /* SystemConfiguration.framework */; settings = {ATTRIBUTES = (Required, ); }; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
@ -79,6 +79,7 @@
/* End PBXCopyFilesBuildPhase section */ /* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference 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>"; }; 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>"; }; 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>"; }; F36114C11976DC770085898F /* apple.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = apple.png; sourceTree = "<group>"; };
@ -113,11 +114,11 @@
files = ( files = (
F3769E671BE8D48800AEC4AF /* SafariServices.framework in Frameworks */, F3769E671BE8D48800AEC4AF /* SafariServices.framework in Frameworks */,
F3EEFFD01827F9B5000BB525 /* SystemConfiguration.framework in Frameworks */, F3EEFFD01827F9B5000BB525 /* SystemConfiguration.framework in Frameworks */,
F3EEFFCE1827F9AF000BB525 /* MobileCoreServices.framework in Frameworks */,
F3EEFF6C1827B1DD000BB525 /* CoreGraphics.framework in Frameworks */, F3EEFF6C1827B1DD000BB525 /* CoreGraphics.framework in Frameworks */,
F3EEFF6E1827B1DD000BB525 /* UIKit.framework in Frameworks */, F3EEFF6E1827B1DD000BB525 /* UIKit.framework in Frameworks */,
F3EEFF6A1827B1DD000BB525 /* Foundation.framework in Frameworks */, F3EEFF6A1827B1DD000BB525 /* Foundation.framework in Frameworks */,
F34DED0C1D2173D6005495E5 /* VKSdkFramework.framework in Frameworks */, F34DED0C1D2173D6005495E5 /* VKSdkFramework.framework in Frameworks */,
0779695D24D99A490018A9F7 /* CoreServices.framework in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -156,6 +157,7 @@
F3EEFF681827B1DD000BB525 /* Frameworks */ = { F3EEFF681827B1DD000BB525 /* Frameworks */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
0779695C24D99A490018A9F7 /* CoreServices.framework */,
F3769E661BE8D48800AEC4AF /* SafariServices.framework */, F3769E661BE8D48800AEC4AF /* SafariServices.framework */,
F3EEFFCF1827F9B5000BB525 /* SystemConfiguration.framework */, F3EEFFCF1827F9B5000BB525 /* SystemConfiguration.framework */,
F3EEFFCD1827F9AF000BB525 /* MobileCoreServices.framework */, F3EEFFCD1827F9AF000BB525 /* MobileCoreServices.framework */,
@ -226,7 +228,7 @@
isa = PBXProject; isa = PBXProject;
attributes = { attributes = {
CLASSPREFIX = VK; CLASSPREFIX = VK;
LastUpgradeCheck = 0720; LastUpgradeCheck = 1150;
ORGANIZATIONNAME = VK; ORGANIZATIONNAME = VK;
TargetAttributes = { TargetAttributes = {
F3EEFF651827B1DD000BB525 = { F3EEFF651827B1DD000BB525 = {
@ -236,12 +238,12 @@
}; };
buildConfigurationList = F3EEFF611827B1DD000BB525 /* Build configuration list for PBXProject "VKSDKTestApplication" */; buildConfigurationList = F3EEFF611827B1DD000BB525 /* Build configuration list for PBXProject "VKSDKTestApplication" */;
compatibilityVersion = "Xcode 3.2"; compatibilityVersion = "Xcode 3.2";
developmentRegion = English; developmentRegion = en;
hasScannedForEncodings = 0; hasScannedForEncodings = 0;
knownRegions = ( knownRegions = (
English,
en, en,
ru, ru,
Base,
); );
mainGroup = F3EEFF5D1827B1DD000BB525; mainGroup = F3EEFF5D1827B1DD000BB525;
productRefGroup = F3EEFF671827B1DD000BB525 /* Products */; productRefGroup = F3EEFF671827B1DD000BB525 /* Products */;
@ -344,23 +346,37 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = 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_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; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES; ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99; GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO; GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0; GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = ( GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1", "DEBUG=1",
@ -383,22 +399,36 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = 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_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; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = YES; COPY_PHASE_STRIP = YES;
ENABLE_NS_ASSERTIONS = NO; ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99; GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNDECLARED_SELECTOR = YES;
@ -415,7 +445,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (
@ -447,7 +476,6 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
FRAMEWORK_SEARCH_PATHS = ( FRAMEWORK_SEARCH_PATHS = (

View File

@ -43,7 +43,7 @@
welf.callResult.text = [NSString stringWithFormat:@"Result: %@", response]; welf.callResult.text = [NSString stringWithFormat:@"Result: %@", response];
welf.callingRequest = nil; welf.callingRequest = nil;
NSLog(@"%@", response.request.requestTiming); NSLog(@"%@", response.request.requestTiming);
} errorBlock:^(NSError *error) { } errorBlock:^(NSError *error) {
welf.callResult.text = [NSString stringWithFormat:@"Error: %@", error]; welf.callResult.text = [NSString stringWithFormat:@"Error: %@", error];
welf.callingRequest = nil; welf.callingRequest = nil;
}]; }];

View File

@ -2,37 +2,52 @@
"images" : [ "images" : [
{ {
"idiom" : "iphone", "idiom" : "iphone",
"size" : "29x29", "scale" : "2x",
"scale" : "2x" "size" : "20x20"
}, },
{ {
"idiom" : "iphone", "idiom" : "iphone",
"size" : "29x29", "scale" : "3x",
"scale" : "3x" "size" : "20x20"
}, },
{ {
"idiom" : "iphone", "idiom" : "iphone",
"size" : "40x40", "scale" : "2x",
"scale" : "2x" "size" : "29x29"
}, },
{ {
"idiom" : "iphone", "idiom" : "iphone",
"size" : "40x40", "scale" : "3x",
"scale" : "3x" "size" : "29x29"
}, },
{ {
"idiom" : "iphone", "idiom" : "iphone",
"size" : "60x60", "scale" : "2x",
"scale" : "2x" "size" : "40x40"
}, },
{ {
"idiom" : "iphone", "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" : { "info" : {
"version" : 1, "author" : "xcode",
"author" : "xcode" "version" : 1
} }
} }

View File

@ -0,0 +1,6 @@
{
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@ -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"
}
}

View File

@ -60,15 +60,14 @@
static NSArray *labels = nil; static NSArray *labels = nil;
static NSString *const USERS_GET = @"users.get"; static NSString *const USERS_GET = @"users.get";
static NSString *const FRIENDS_GET = @"friends.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 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 USERS_SUBSCRIPTIONS = @"Pavel Durov subscribers";
static NSString *const UPLOAD_PHOTO = @"Upload photo to wall"; static NSString *const UPLOAD_PHOTO = @"Upload photo to wall";
static NSString *const UPLOAD_PHOTO_ALBUM = @"Upload photo to album"; static NSString *const UPLOAD_PHOTO_ALBUM = @"Upload photo to album";
static NSString *const UPLOAD_PHOTOS = @"Upload several photos to wall"; static NSString *const UPLOAD_PHOTOS = @"Upload several photos to wall";
static NSString *const TEST_CAPTCHA = @"Test captcha"; static NSString *const TEST_CAPTCHA = @"Test captcha";
static NSString *const CALL_UNKNOWN_METHOD = @"Call unknown method"; 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 MAKE_SYNCHRONOUS = @"Make synchronous request";
static NSString *const SHARE_DIALOG = @"Test share dialog"; static NSString *const SHARE_DIALOG = @"Test share dialog";
static NSString *const TEST_ACTIVITY = @"Test VKActivity"; 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 { - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if (!labels) 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; 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}]; VKRequest *friendsRequest = [[VKApi friends] get:@{VK_API_FIELDS : ALL_USER_FIELDS}];
[self callMethod:friendsRequest]; [self callMethod:friendsRequest];
} }
else if ([label isEqualToString:DOCS_GET]) {
[self callMethod:[[VKApi docs] get]];
}
else if ([label isEqualToString:CALL_UNKNOWN_METHOD]) { else if ([label isEqualToString:CALL_UNKNOWN_METHOD]) {
[self callMethod:[VKRequest requestWithMethod:@"I.am.Lord.Voldemort" parameters:nil]]; [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]) { else if ([label isEqualToString:MAKE_SYNCHRONOUS]) {
VKUsersArray *users = [self loadUsers]; VKUsersArray *users = [self loadUsers];
NSLog(@"users %@", users); 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]) { 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]; VKRequest *request = [[VKApiCaptcha new] force];
[request executeWithResultBlock:^(VKResponse *response) { [request executeWithResultBlock:^(VKResponse *response) {
NSLog(@"Result: %@", response); NSLog(@"Result: %@", response);
} errorBlock:^(NSError *error) { } errorBlock:^(NSError *error) {
NSLog(@"Error: %@", 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); NSLog(@"Result: %@", postResponse);
NSNumber *postId = postResponse.json[@"post_id"]; NSNumber *postId = postResponse.json[@"post_id"];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://vk.com/wall-60479154_%@", postId]]]; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://vk.com/wall-60479154_%@", postId]]];
} errorBlock:^(NSError *error) { } errorBlock:^(NSError *error) {
NSLog(@"Error: %@", error); NSLog(@"Error: %@", error);
}]; }];
} errorBlock:^(NSError *error) { } errorBlock:^(NSError *error) {
NSLog(@"Error: %@", 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); NSLog(@"Result: %@", response);
NSNumber *postId = response.json[@"post_id"]; NSNumber *postId = response.json[@"post_id"];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://vk.com/wall-60479154_%@", postId]]]; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://vk.com/wall-60479154_%@", postId]]];
} errorBlock:^(NSError *error) { } errorBlock:^(NSError *error) {
NSLog(@"Error: %@", error); NSLog(@"Error: %@", error);
}]; }];
} errorBlock:^(NSError *error) { } errorBlock:^(NSError *error) {
NSLog(@"Error: %@", 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); NSLog(@"Result: %@", response);
VKPhoto *photo = [(VKPhotoArray *) response.parsedModel objectAtIndex:0]; VKPhoto *photo = [(VKPhotoArray *) response.parsedModel objectAtIndex:0];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://vk.com/photo-60479154_%@", photo.id]]]; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://vk.com/photo-60479154_%@", photo.id]]];
} errorBlock:^(NSError *error) { } errorBlock:^(NSError *error) {
NSLog(@"Error: %@", error); NSLog(@"Error: %@", error);
}]; }];
} }

View File

@ -33,7 +33,7 @@ static NSArray *SCOPE = nil;
@implementation VKStartScreen @implementation VKStartScreen
- (void)viewDidLoad { - (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]; [super viewDidLoad];
[[VKSdk initializeWithAppId:@"3974615"] registerDelegate:self]; [[VKSdk initializeWithAppId:@"3974615"] registerDelegate:self];
[[VKSdk instance] setUiDelegate:self]; [[VKSdk instance] setUiDelegate:self];

View File

@ -58,4 +58,4 @@ FOUNDATION_EXPORT const unsigned char VKSdkFrameworkVersionString[];
#import <VKSdkFramework/VKJSONOperation.h> #import <VKSdkFramework/VKJSONOperation.h>
#import <VKSdkFramework/VKRequestsScheduler.h> #import <VKSdkFramework/VKRequestsScheduler.h>
#import <VKSdkFramework/VKSharedTransitioningObject.h> #import <VKSdkFramework/VKSharedTransitioningObject.h>
#import <VKSdkFramework/NSString+MD5.h> #import <VKSdkFramework/NSString+MD5.h>

View File

@ -68,6 +68,12 @@ Returns object for preparing requests to groups part of API
*/ */
+ (VKApiGroups *)groups; + (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 Create new request with parameters. See documentation for methods here https://vk.com/dev/methods

View File

@ -26,6 +26,7 @@
#import "VKUploadMessagesPhotoRequest.h" #import "VKUploadMessagesPhotoRequest.h"
@implementation VKApi @implementation VKApi
+ (VKApiUsers *)users { + (VKApiUsers *)users {
return [VKApiUsers new]; return [VKApiUsers new];
} }
@ -46,6 +47,10 @@
return [VKApiGroups new]; return [VKApiGroups new];
} }
+ (VKApiDocs *)docs {
return [VKApiDocs new];
}
+ (VKRequest *)requestWithMethod:(NSString *)method + (VKRequest *)requestWithMethod:(NSString *)method
andParameters:(NSDictionary *)parameters { andParameters:(NSDictionary *)parameters {
return [VKRequest requestWithMethod:method parameters:parameters]; return [VKRequest requestWithMethod:method parameters:parameters];

View File

@ -30,145 +30,172 @@
@implementation VKApiDocs : VKApiBase @implementation VKApiDocs : VKApiBase
- (VKRequest *)get { - (VKRequest *)get {
return [self prepareRequestWithMethodName:@"get" parameters:nil modelClass:[VKDocsArray class]]; return [self prepareRequestWithMethodName:@"get"
parameters:nil
modelClass:[VKDocsArray class]];
} }
- (VKRequest *)get:(NSInteger)count { - (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 { - (VKRequest *)get:(NSInteger)count andOffset:(NSInteger)offset {
return [self prepareRequestWithMethodName:@"get" return [self prepareRequestWithMethodName:@"get"
parameters: parameters:@{
@{ VK_API_COUNT : @(count),
VK_API_COUNT : @(count), VK_API_OFFSET : @(offset)
VK_API_OFFSET : @(offset), }
} modelClass:[VKDocsArray class]];
modelClass:[VKDocsArray class]];
} }
- (VKRequest *)get:(NSInteger)count andOffset:(NSInteger)offset andOwnerID:(NSInteger)ownerID { - (VKRequest *)get:(NSInteger)count andOffset:(NSInteger)offset andOwnerID:(NSInteger)ownerID {
return [self prepareRequestWithMethodName:@"get" return [self prepareRequestWithMethodName:@"get"
parameters: parameters:@{
@{ VK_API_COUNT : @(count),
VK_API_COUNT : @(count), VK_API_OFFSET : @(offset),
VK_API_OFFSET : @(offset), VK_API_OWNER_ID : @(ownerID)
VK_API_OWNER_ID : @(ownerID), }
} modelClass:[VKDocsArray class]];
modelClass:[VKDocsArray class]];
} }
- (VKRequest *)getByID:(NSArray *)IDs { - (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 { - (VKRequest *)getUploadServer {
return [self prepareRequestWithMethodName:@"getUploadServer" parameters:nil]; return [self prepareRequestWithMethodName:@"getUploadServer"
parameters:nil];
} }
- (VKRequest *)getUploadServer:(NSInteger)group_id { - (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 { - (VKRequest *)getWallUploadServer {
return [self prepareRequestWithMethodName:@"getWallUploadServer" parameters:nil]; return [self prepareRequestWithMethodName:@"getWallUploadServer"
parameters:nil];
} }
- (VKRequest *)getWallUploadServer:(NSInteger)group_id { - (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 { - (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 { - (VKRequest *)save:(NSString *)file andTitle:(NSString *)title {
return [self prepareRequestWithMethodName:@"save" parameters:@{ return [self prepareRequestWithMethodName:@"save"
VK_API_FILE : file, parameters:@{
VK_API_TITLE : title, VK_API_FILE : file,
} modelClass:[VKDocsArray class]]; VK_API_TITLE : title,
}
modelClass:[VKDocsArray class]];
} }
- (VKRequest *)save:(NSString *)file andTitle:(NSString *)title andTags:(NSString *)tags { - (VKRequest *)save:(NSString *)file andTitle:(NSString *)title andTags:(NSString *)tags {
return [self prepareRequestWithMethodName:@"save" parameters:@{ return [self prepareRequestWithMethodName:@"save"
VK_API_FILE : file, parameters:@{
VK_API_TITLE : title, VK_API_FILE : file,
VK_API_TAGS : tags VK_API_TITLE : title,
} modelClass:[VKDocsArray class]]; VK_API_TAGS : tags
}
modelClass:[VKDocsArray class]];
} }
- (VKRequest *)delete:(NSInteger)ownerID andDocID:(NSInteger)docID { - (VKRequest *)delete:(NSInteger)ownerID andDocID:(NSInteger)docID {
return [self prepareRequestWithMethodName:@"delete" parameters:@{ return [self prepareRequestWithMethodName:@"delete"
VK_API_OWNER_ID : [@(ownerID) stringValue], parameters:@{
VK_API_DOC_ID : [@(docID) stringValue], VK_API_OWNER_ID : @(ownerID),
}]; VK_API_DOC_ID : @(docID),
}];
} }
- (VKRequest *)add:(NSInteger)ownerID andDocID:(NSInteger)docID { - (VKRequest *)add:(NSInteger)ownerID andDocID:(NSInteger)docID {
return [self prepareRequestWithMethodName:@"add" parameters:@{ return [self prepareRequestWithMethodName:@"add"
VK_API_OWNER_ID : [@(ownerID) stringValue], parameters:@{
VK_API_DOC_ID : [@(docID) stringValue] VK_API_OWNER_ID : @(ownerID),
}]; VK_API_DOC_ID : @(docID)
}];
} }
- (VKRequest *)add:(NSInteger)ownerID andDocID:(NSInteger)docID andAccessKey:(NSString *)accessKey { - (VKRequest *)add:(NSInteger)ownerID andDocID:(NSInteger)docID andAccessKey:(NSString *)accessKey {
return [self prepareRequestWithMethodName:@"add" parameters:@{ return [self prepareRequestWithMethodName:@"add"
VK_API_OWNER_ID : [@(ownerID) stringValue], parameters:@{
VK_API_DOC_ID : [@(docID) stringValue], VK_API_OWNER_ID : @(ownerID),
VK_API_ACCESS_KEY : accessKey VK_API_DOC_ID : @(docID),
}]; VK_API_ACCESS_KEY : accessKey
}];
} }
- (VKRequest *)search:(NSString *)query { - (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 { - (VKRequest *)search:(NSString *)query count:(NSInteger)count {
return [self prepareRequestWithMethodName:@"search" parameters:@{ return [self prepareRequestWithMethodName:@"search"
VK_API_Q : query, parameters:@{
VK_API_COUNT : [@(count) stringValue] VK_API_Q : query,
} modelClass:[VKDocsArray class]]; VK_API_COUNT : @(count)
}
modelClass:[VKDocsArray class]];
} }
- (VKRequest *)search:(NSString *)query count:(NSInteger)count andOffset:(NSInteger)offset { - (VKRequest *)search:(NSString *)query count:(NSInteger)count andOffset:(NSInteger)offset {
return [self prepareRequestWithMethodName:@"search" parameters:@{ return [self prepareRequestWithMethodName:@"search"
VK_API_Q : query, parameters:@{
VK_API_COUNT : [@(count) stringValue], VK_API_Q : query,
VK_API_OFFSET : [@(offset) stringValue] VK_API_COUNT : @(count),
} modelClass:[VKDocsArray class]]; VK_API_OFFSET : @(offset)
}
modelClass:[VKDocsArray class]];
} }
- (VKRequest *)edit:(NSInteger)docID title:(NSString *)title { - (VKRequest *)edit:(NSInteger)docID title:(NSString *)title {
return [self prepareRequestWithMethodName:@"edit" parameters:@{ return [self prepareRequestWithMethodName:@"edit"
VK_API_DOC_ID : [@(docID) stringValue], parameters:@{
VK_API_TITLE : title VK_API_DOC_ID : @(docID),
}]; VK_API_TITLE : title
}];
} }
- (VKRequest *)edit:(NSInteger)docID title:(NSString *)title tags:(NSString *)tags { - (VKRequest *)edit:(NSInteger)docID title:(NSString *)title tags:(NSString *)tags {
return [self prepareRequestWithMethodName:@"edit" parameters:@{ return [self prepareRequestWithMethodName:@"edit"
VK_API_DOC_ID : [@(docID) stringValue], parameters:@{
VK_API_TITLE : title, VK_API_DOC_ID : @(docID),
VK_API_TAGS : tags VK_API_TITLE : title,
}]; VK_API_TAGS : tags
}];
} }
- (VKRequest *)edit:(NSInteger)ownerID docID:(NSInteger)docID title:(NSString *)title { - (VKRequest *)edit:(NSInteger)ownerID docID:(NSInteger)docID title:(NSString *)title {
return [self prepareRequestWithMethodName:@"edit" parameters:@{ return [self prepareRequestWithMethodName:@"edit"
VK_API_OWNER_ID : [@(ownerID) stringValue], parameters:@{
VK_API_DOC_ID : [@(docID) stringValue], VK_API_OWNER_ID : @(ownerID),
VK_API_TITLE : title VK_API_DOC_ID : @(docID),
}]; VK_API_TITLE : title
}];
} }
- (VKRequest *)edit:(NSInteger)ownerID docID:(NSInteger)docID title:(NSString *)title tags:(NSString *)tags { - (VKRequest *)edit:(NSInteger)ownerID docID:(NSInteger)docID title:(NSString *)title tags:(NSString *)tags {
return [self prepareRequestWithMethodName:@"edit" parameters:@{ return [self prepareRequestWithMethodName:@"edit"
VK_API_OWNER_ID : [@(ownerID) stringValue], parameters:@{
VK_API_DOC_ID : [@(docID) stringValue], VK_API_OWNER_ID : @(ownerID),
VK_API_TITLE : title, VK_API_DOC_ID : @(docID),
VK_API_TAGS : tags VK_API_TITLE : title,
}]; VK_API_TAGS : tags
}];
} }

View File

@ -25,11 +25,15 @@
@implementation VKApiFriends @implementation VKApiFriends
- (VKRequest *)get { - (VKRequest *)get {
return [self prepareRequestWithMethodName:@"get" parameters:nil modelClass:[VKUsersArray class]]; return [self prepareRequestWithMethodName:@"get"
parameters:nil
modelClass:[VKUsersArray class]];
} }
- (VKRequest *)get:(NSDictionary *)params { - (VKRequest *)get:(NSDictionary *)params {
return [self prepareRequestWithMethodName:@"get" parameters:params modelClass:[VKUsersArray class]]; return [self prepareRequestWithMethodName:@"get"
parameters:params
modelClass:[VKUsersArray class]];
} }
@end @end

View File

@ -11,6 +11,8 @@
@implementation VKApiGroups @implementation VKApiGroups
- (VKRequest *)getById:(NSDictionary *)params { - (VKRequest *)getById:(NSDictionary *)params {
return [self prepareRequestWithMethodName:@"getById" parameters:params modelClass:[VKGroups class]]; return [self prepareRequestWithMethodName:@"getById"
parameters:params
modelClass:[VKGroups class]];
} }
@end @end

View File

@ -21,13 +21,11 @@
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#import "VKApiObjectArray.h" #import "VKApiObjectArray.h"
#import "VKAudio.h"
#import "VKPhoto.h" #import "VKPhoto.h"
#import "VKLikes.h" #import "VKLikes.h"
#import "VKUser.h" #import "VKUser.h"
#import "VKRelative.h" #import "VKRelative.h"
#import "VKCounters.h" #import "VKCounters.h"
#import "VKLikes.h"
#import "VKSchool.h" #import "VKSchool.h"
#import "VKUniversity.h" #import "VKUniversity.h"
#import "VKGroup.h" #import "VKGroup.h"

View File

@ -25,27 +25,36 @@
@implementation VKApiPhotos @implementation VKApiPhotos
- (VKRequest *)getUploadServer:(NSInteger)albumId { - (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 { - (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 { - (VKRequest *)getWallUploadServer {
return [self prepareRequestWithMethodName:@"getWallUploadServer" parameters:nil]; return [self prepareRequestWithMethodName:@"getWallUploadServer"
parameters:nil];
} }
- (VKRequest *)getWallUploadServer:(NSInteger)groupId { - (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 { - (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 { - (VKRequest *)save:(NSDictionary *)params {
return [self prepareRequestWithMethodName:@"save" parameters:params modelClass:[VKPhotoArray class]]; return [self prepareRequestWithMethodName:@"save"
parameters:params
modelClass:[VKPhotoArray class]];
} }
@end @end

View File

@ -31,23 +31,29 @@
} }
- (VKRequest *)get:(NSDictionary *)params { - (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 #pragma mark search
- (VKRequest *)search:(NSDictionary *)params { - (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 #pragma mark isAppUser
- (VKRequest *)isAppUser { - (VKRequest *)isAppUser {
return [self prepareRequestWithMethodName:@"isAppUser" parameters:nil]; return [self prepareRequestWithMethodName:@"isAppUser"
parameters:nil];
} }
- (VKRequest *)isAppUser:(NSInteger)userID { - (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 #pragma mark subscriptions
@ -57,7 +63,8 @@
} }
- (VKRequest *)getSubscriptions:(NSDictionary *)params { - (VKRequest *)getSubscriptions:(NSDictionary *)params {
return [self prepareRequestWithMethodName:@"getSubscriptions" parameters:params]; return [self prepareRequestWithMethodName:@"getSubscriptions"
parameters:params];
} }
#pragma mark followers #pragma mark followers
@ -67,7 +74,9 @@
} }
- (VKRequest *)getFollowers:(NSDictionary *)params { - (VKRequest *)getFollowers:(NSDictionary *)params {
return [self prepareRequestWithMethodName:@"getFollowers" parameters:params modelClass:[VKUsersArray class]]; return [self prepareRequestWithMethodName:@"getFollowers"
parameters:params
modelClass:[VKUsersArray class]];
} }
@end @end

View File

@ -24,7 +24,8 @@
@implementation VKApiWall @implementation VKApiWall
- (VKRequest *)post:(NSDictionary *)params { - (VKRequest *)post:(NSDictionary *)params {
return [self prepareRequestWithMethodName:@"post" parameters:params]; return [self prepareRequestWithMethodName:@"post"
parameters:params];
} }
@end @end

View File

@ -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

View File

@ -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

View File

@ -23,25 +23,20 @@
#import "VKApiObject.h" #import "VKApiObject.h"
@interface VKCounters : VKApiObject @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 *albums;
@property(nonatomic, strong) NSNumber *audios; @property(nonatomic, strong) NSNumber *audios;
@property(nonatomic, strong) NSNumber *online_friends; @property(nonatomic, strong) NSNumber *docs;
@property(nonatomic, strong) NSNumber *mutual_friends;
@property(nonatomic, strong) NSNumber *user_videos;
@property(nonatomic, strong) NSNumber *followers; @property(nonatomic, strong) NSNumber *followers;
@property(nonatomic, strong) NSNumber *user_photos; @property(nonatomic, strong) NSNumber *friends;
@property(nonatomic, strong) NSNumber *subscriptions; @property(nonatomic, strong) NSNumber *groups;
@property(nonatomic, strong) NSNumber *documents; @property(nonatomic, strong) NSNumber *mutual_friends;
@property(nonatomic, strong) NSNumber *topics; @property(nonatomic, strong) NSNumber *notes;
@property(nonatomic, strong) NSNumber *online_friends;
@property(nonatomic, strong) NSNumber *pages; @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 @end

View File

@ -24,7 +24,29 @@
#import "VKApiObject.h" #import "VKApiObject.h"
#import "VKApiObjectArray.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 Docs type of VK API. See descriptions here https://vk.com/dev/doc
@ -36,10 +58,9 @@
@property(nonatomic, strong) NSNumber *size; @property(nonatomic, strong) NSNumber *size;
@property(nonatomic, copy) NSString *ext; @property(nonatomic, copy) NSString *ext;
@property(nonatomic, copy) NSString *url; @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 *date;
@property(nonatomic, strong) NSNumber *type; @property(nonatomic, strong) NSNumber *type;
@property(nonatomic, strong) VKDocsPreview *preview;
@end @end
/** /**

View File

@ -23,6 +23,15 @@
#import "VKDocs.h" #import "VKDocs.h"
@implementation VKGraffiti
@end
@implementation VKAudioMsg
@end
@implementation VKDocsPreview
@end
@implementation VKDocs @implementation VKDocs
@end @end

View File

@ -65,7 +65,46 @@
/** /**
Array of VKGroupLink objects 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 @end
/** /**
@ -76,44 +115,55 @@
@property(nonatomic, strong) NSString *name; @property(nonatomic, strong) NSString *name;
@property(nonatomic, strong) NSString *screen_name; @property(nonatomic, strong) NSString *screen_name;
@property(nonatomic, strong) NSNumber *is_closed; @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 *is_admin;
@property(nonatomic, strong) NSNumber *admin_level; @property(nonatomic, strong) NSNumber *admin_level;
@property(nonatomic, strong) NSNumber *is_member; @property(nonatomic, strong) NSNumber *is_member;
@property(nonatomic, strong) VKCity *city; @property(nonatomic, strong) NSNumber *is_advertiser;
@property(nonatomic, strong) VKCountry *country; @property(nonatomic, strong) NSNumber *invited_by;
@property(nonatomic, strong) VKGeoPlace *place; @property(nonatomic, strong) NSString *type;
@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) NSString *photo_50; @property(nonatomic, strong) NSString *photo_50;
@property(nonatomic, strong) NSString *photo_100; @property(nonatomic, strong) NSString *photo_100;
@property(nonatomic, strong) NSString *photo_200; @property(nonatomic, strong) NSString *photo_200;
@property(nonatomic, strong) NSString *photo_max_orig;
@property(nonatomic, strong) NSNumber *is_request; @property(nonatomic, strong) NSString *activity;
@property(nonatomic, strong) NSNumber *is_invite; @property(nonatomic, strong) VKAddresses *addresses;
@property(nonatomic, strong) VKPhotoArray *photos; @property(nonatomic, strong) NSNumber *age_limits;
@property(nonatomic, strong) NSNumber *photos_count; @property(nonatomic, strong) VKBanInfo *ban_info;
@property(nonatomic, strong) NSNumber *invited_by; @property(nonatomic, strong) NSNumber *can_create_topic;
@property(nonatomic, assign) NSInteger invite_state; @property(nonatomic, strong) NSNumber *can_message;
@property(nonatomic, strong) NSString *deactivated; @property(nonatomic, strong) NSNumber *can_post;
@property(nonatomic, strong) NSNumber *blacklisted; @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 @end

View File

@ -24,8 +24,6 @@
#import "VKApiObjectArray.h" #import "VKApiObjectArray.h"
#import "VKPhotoSize.h" #import "VKPhotoSize.h"
@class VKLikes;
/** /**
Photo type of VK API. See descriptions here https://vk.com/dev/photo 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 *id;
@property(nonatomic, strong) NSNumber *album_id; @property(nonatomic, strong) NSNumber *album_id;
@property(nonatomic, strong) NSNumber *owner_id; @property(nonatomic, strong) NSNumber *owner_id;
@property(nonatomic, strong) NSString *photo_75; @property(nonatomic, strong) NSNumber *user_id;
@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) NSString *text; @property(nonatomic, strong) NSString *text;
@property(nonatomic, strong) NSNumber *date; @property(nonatomic, strong) NSNumber *date;
@property(nonatomic, strong) VKPhotoSizes *sizes; @property(nonatomic, strong) VKPhotoSizes *sizes;
@property(nonatomic, strong) NSNumber *width;
@property(nonatomic, strong) NSNumber *height;
@property(nonatomic, readonly) NSString *attachmentString; @property(nonatomic, readonly) NSString *attachmentString;
@end @end

View File

@ -25,6 +25,7 @@
@interface VKRelative : VKApiObject @interface VKRelative : VKApiObject
@property(nonatomic, strong) NSNumber *id; @property(nonatomic, strong) NSNumber *id;
@property(nonatomic, strong) NSString *name;
@property(nonatomic, strong) NSString *type; @property(nonatomic, strong) NSString *type;
@end @end

View File

@ -23,7 +23,6 @@
#import <Foundation/Foundation.h> #import <Foundation/Foundation.h>
#import "VKApiObject.h" #import "VKApiObject.h"
#import "VKApiObjectArray.h" #import "VKApiObjectArray.h"
#import "VKAudio.h"
#import "VKCounters.h" #import "VKCounters.h"
#import "VKPhoto.h" #import "VKPhoto.h"
#import "VKSchool.h" #import "VKSchool.h"
@ -45,12 +44,12 @@
* User personal information (field 'personal') * User personal information (field 'personal')
*/ */
@interface VKPersonal : VKObject @interface VKPersonal : VKObject
@property(nonatomic, strong) NSArray *langs;
@property(nonatomic, strong) NSNumber *political; @property(nonatomic, strong) NSNumber *political;
@property(nonatomic, strong) NSArray *langs;
@property(nonatomic, strong) NSString *religion; @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) NSString *inspired_by;
@property(nonatomic, strong) NSNumber *people_main;
@property(nonatomic, strong) NSNumber *life_main;
@property(nonatomic, strong) NSNumber *smoking; @property(nonatomic, strong) NSNumber *smoking;
@property(nonatomic, strong) NSNumber *alcohol; @property(nonatomic, strong) NSNumber *alcohol;
@end @end
@ -73,6 +72,59 @@
@property(nonatomic, strong) NSNumber *instagram; @property(nonatomic, strong) NSNumber *instagram;
@end @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 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) NSNumber *id;
@property(nonatomic, strong) NSString *first_name; @property(nonatomic, strong) NSString *first_name;
@property(nonatomic, strong) NSString *last_name; @property(nonatomic, strong) NSString *last_name;
@property(nonatomic, strong) NSString *first_name_acc; @property(nonatomic, strong) NSString *deactivated;
@property(nonatomic, strong) NSString *last_name_acc; @property(nonatomic, strong) NSNumber *is_closed;
@property(nonatomic, strong) NSString *first_name_gen; @property(nonatomic, strong) NSNumber *can_access_closed;
@property(nonatomic, strong) NSString *last_name_gen;
@property(nonatomic, strong) NSString *first_name_dat; @property(nonatomic, strong) NSString *about;
@property(nonatomic, strong) NSString *last_name_dat; @property(nonatomic, strong) NSString *activities;
@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 *bdate; @property(nonatomic, strong) NSString *bdate;
@property(nonatomic, strong) VKCity *city; @property(nonatomic, assign) BOOL blacklisted;
@property(nonatomic, strong) VKCountry *country; @property(nonatomic, assign) BOOL blacklisted_by_me;
@property(nonatomic, strong) NSMutableArray *lists; @property(nonatomic, strong) NSString *books;
@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 can_post; @property(nonatomic, assign) BOOL can_post;
@property(nonatomic, assign) BOOL can_see_all_posts; @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, assign) BOOL can_see_audio;
@property(nonatomic, strong) NSString *phone; @property(nonatomic, assign) BOOL can_see_friend_request;
@property(nonatomic, strong) NSNumber *online_mobile; @property(nonatomic, assign) BOOL can_write_private_message;
@property(nonatomic, strong) NSNumber *faculty; @property(nonatomic, strong) VKCareer *career;
@property(nonatomic, strong) NSNumber *university; @property(nonatomic, strong) VKCity *city;
@property(nonatomic, strong) VKUniversities *universities;
@property(nonatomic, strong) VKSchools *schools;
@property(nonatomic, strong) NSNumber *graduation;
@property(nonatomic, strong) NSNumber *friendState;
@property(nonatomic, strong) NSNumber *common_count; @property(nonatomic, strong) NSNumber *common_count;
@property(nonatomic, strong) NSString *faculty_name; @property(nonatomic, strong) VKCounters *counters;
@property(nonatomic, strong) NSString *university_name; @property(nonatomic, strong) VKCountry *country;
@property(nonatomic, strong) NSString *books; @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, 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, 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 *movies;
@property(nonatomic, strong) NSString *tv;
@property(nonatomic, strong) NSString *about;
@property(nonatomic, strong) NSString *music; @property(nonatomic, strong) NSString *music;
@property(nonatomic, strong) NSString *quoutes; @property(nonatomic, strong) NSString *nickname;
@property(nonatomic, strong) NSString *activities; @property(nonatomic, strong) VKOccupation *occupation;
@property(nonatomic, strong) NSString *photo_max; @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_50;
@property(nonatomic, strong) NSString *photo_100; @property(nonatomic, strong) NSString *photo_100;
@property(nonatomic, strong) NSString *photo_200; @property(nonatomic, strong) NSString *photo_200;
@property(nonatomic, strong) NSString *photo_200_orig; @property(nonatomic, strong) NSString *photo_200_orig;
@property(nonatomic, strong) NSString *photo_400_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) 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, strong) VKRelativities *relatives;
@property(nonatomic, assign) NSTimeInterval bdateIntervalSort; @property(nonatomic, strong) NSNumber *relation;
@property(nonatomic, strong) NSNumber *verified; @property(nonatomic, strong) VKSchools *schools;
@property(nonatomic, strong) NSString *deactivated; @property(nonatomic, strong) NSString *screen_name;
@property(nonatomic, strong) NSNumber *sex;
@property(nonatomic, strong) NSString *site; @property(nonatomic, strong) NSString *site;
@property(nonatomic, strong) NSString *home_town; @property(nonatomic, strong) NSString *status;
@property(nonatomic, strong) NSNumber *blacklisted; @property(nonatomic, strong) NSNumber *timezone;
@property(nonatomic, strong) NSNumber *blacklisted_by_me; @property(nonatomic, assign) BOOL trending;
@property(nonatomic, strong) NSString *twitter; @property(nonatomic, strong) NSString *tv;
@property(nonatomic, strong) NSString *skype;
@property(nonatomic, strong) NSString *facebook; @property(nonatomic, strong) NSNumber *university;
@property(nonatomic, strong) NSString *instagram; @property(nonatomic, strong) VKUniversities *universities;
@property(nonatomic, strong) NSString *livejournal; @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) 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 @end
/** /**

View File

@ -33,6 +33,13 @@
@end @end
@implementation VKUsersArray
-(Class)objectClass {
return [VKUser class];
}
@end
@implementation VKGeoObject @implementation VKGeoObject
@end @end
@ -45,9 +52,19 @@
@implementation VKExports @implementation VKExports
@end @end
@implementation VKUsersArray @implementation VKCareer
-(Class)objectClass {
return [VKUser class];
}
@end @end
@implementation VKCrop
@end
@implementation VKCropPhoto
@end
@implementation VKMilitary
@end
@implementation VKOccupation
@end

View File

@ -90,37 +90,39 @@ extern inline BOOL VKStateTransitionIsValid(VKOperationState fromState, VKOperat
VKRequest *serverRequest = [_uploadRequest getServerRequest]; VKRequest *serverRequest = [_uploadRequest getServerRequest];
serverRequest.responseQueue = self.responseQueue; serverRequest.responseQueue = self.responseQueue;
__weak typeof(self) wself = self;
serverRequest.completeBlock = ^(VKResponse *response) { serverRequest.completeBlock = ^(VKResponse *response) {
__strong typeof(self) self = wself;
NSData *imageData = nil; NSData *imageData = nil;
switch (_uploadRequest.imageParameters.imageType) { switch (self->_uploadRequest.imageParameters.imageType) {
case VKImageTypeJpg: case VKImageTypeJpg:
imageData = UIImageJPEGRepresentation(_uploadRequest.image, _uploadRequest.imageParameters.jpegQuality); imageData = UIImageJPEGRepresentation(self->_uploadRequest.image, self->_uploadRequest.imageParameters.jpegQuality);
break; break;
case VKImageTypePng: case VKImageTypePng:
imageData = UIImagePNGRepresentation(_uploadRequest.image); imageData = UIImagePNGRepresentation(self->_uploadRequest.image);
break; break;
default: default:
break; break;
} }
_uploadRequest.image = nil; self->_uploadRequest.image = nil;
VKRequest *postFileRequest = [VKRequest photoRequestWithPostUrl:response.json[@"upload_url"] VKRequest *postFileRequest = [VKRequest photoRequestWithPostUrl:response.json[@"upload_url"]
withPhotos:@[[VKUploadImage uploadImageWithData:imageData andParams:_uploadRequest.imageParameters]]]; withPhotos:@[[VKUploadImage uploadImageWithData:imageData andParams:self->_uploadRequest.imageParameters]]];
postFileRequest.progressBlock = _uploadRequest.progressBlock; postFileRequest.progressBlock = self->_uploadRequest.progressBlock;
postFileRequest.responseQueue = self.responseQueue; postFileRequest.responseQueue = self.responseQueue;
self.lastLoadingRequest = postFileRequest; self.lastLoadingRequest = postFileRequest;
[postFileRequest executeWithResultBlock:^(VKResponse *response) { [postFileRequest executeWithResultBlock:^(VKResponse *response) {
VKRequest *saveRequest = [_uploadRequest getSaveRequest:response]; VKRequest *saveRequest = [self->_uploadRequest getSaveRequest:response];
saveRequest.responseQueue = self.responseQueue; saveRequest.responseQueue = self.responseQueue;
self.lastLoadingRequest = saveRequest; self.lastLoadingRequest = saveRequest;
[saveRequest executeWithResultBlock:^(VKResponse *response) { [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]; [weakSelf finish];
} errorBlock:_uploadRequest.errorBlock]; } errorBlock:self.uploadRequest.errorBlock];
} errorBlock:_uploadRequest.errorBlock]; } errorBlock:self.uploadRequest.errorBlock];
}; };
serverRequest.errorBlock = _uploadRequest.errorBlock; serverRequest.errorBlock = _uploadRequest.errorBlock;
self.lastLoadingRequest = serverRequest; self.lastLoadingRequest = serverRequest;

View File

@ -297,8 +297,8 @@ void vksdk_dispatch_on_main_queue_now(void(^block)(void)) {
} }
[operation setCompletionBlockWithSuccess:^(VKHTTPOperation *completedOperation, id JSON) { [operation setCompletionBlockWithSuccess:^(VKHTTPOperation *completedOperation, id JSON) {
[_requestTiming loaded]; [self->_requestTiming loaded];
if (_executionOperation.isCancelled) { if (self->_executionOperation.isCancelled) {
return; return;
} }
if ([JSON objectForKey:@"error"]) { if ([JSON objectForKey:@"error"]) {
@ -310,9 +310,9 @@ void vksdk_dispatch_on_main_queue_now(void(^block)(void)) {
return; return;
} }
[self provideResponse:JSON responseString:completedOperation.responseString]; [self provideResponse:JSON responseString:completedOperation.responseString];
} failure:^(VKHTTPOperation *completedOperation, NSError *error) { } failure:^(VKHTTPOperation *completedOperation, NSError *error) {
[_requestTiming loaded]; [self->_requestTiming loaded];
if (_executionOperation.isCancelled) { if (self->_executionOperation.isCancelled) {
return; return;
} }
if (completedOperation.response.statusCode == 200) { 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) { if (self.attempts == 0 || ++self.attemptsUsed < self.attempts) {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t) (300 * NSEC_PER_MSEC)), self.responseQueue, dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t) (300 * NSEC_PER_MSEC)), self.responseQueue,
^(void) { ^(void) {
[self executeWithResultBlock:_completeBlock errorBlock:_errorBlock]; [self executeWithResultBlock:self->_completeBlock errorBlock:self->_errorBlock];
}); });
return; return;
} }
VKError *vkErr = [VKError errorWithCode:completedOperation.response ? completedOperation.response.statusCode : error.code]; VKError *vkErr = [VKError errorWithCode:completedOperation.response ? completedOperation.response.statusCode : error.code];
[self provideError:[error copyWithVkError:vkErr]]; [self provideError:[error copyWithVkError:vkErr]];
[_requestTiming finished]; [self->_requestTiming finished];
}]; }];
operation.successCallbackQueue = operation.failureCallbackQueue = [VKRequest processingQueue]; operation.successCallbackQueue = operation.failureCallbackQueue = [VKRequest processingQueue];
@ -423,7 +423,7 @@ void vksdk_dispatch_on_main_queue_now(void(^block)(void)) {
if (self.errorBlock) { if (self.errorBlock) {
self.errorBlock(self.error); self.errorBlock(self.error);
} }
for (VKRequest *postRequest in _postRequestsQueue) { for (VKRequest *postRequest in self->_postRequestsQueue) {
if (postRequest.errorBlock) { if (postRequest.errorBlock) {
postRequest.errorBlock(self.error); postRequest.errorBlock(self.error);
} }
@ -515,7 +515,7 @@ void vksdk_dispatch_on_main_queue_now(void(^block)(void)) {
if (error.apiError.errorCode == 6) { if (error.apiError.errorCode == 6) {
//Too many requests per second //Too many requests per second
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t) (_waitMultiplier * NSEC_PER_SEC)), [[self class] processingQueue], ^{ 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]; [self repeat];
}); });
return YES; return YES;

View File

@ -91,24 +91,24 @@
dispatch_async(_schedulerQueue, ^{ dispatch_async(_schedulerQueue, ^{
NSTimeInterval now = [[NSDate new] timeIntervalSince1970]; NSTimeInterval now = [[NSDate new] timeIntervalSince1970];
NSInteger thisSecond = (NSInteger) now; NSInteger thisSecond = (NSInteger) now;
if (!_scheduleDict) { if (!self->_scheduleDict) {
_scheduleDict = [NSMutableDictionary new]; self->_scheduleDict = [NSMutableDictionary new];
} }
NSArray *keysToRemove = [[_scheduleDict allKeys] filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"SELF < %d", thisSecond]]; NSArray *keysToRemove = [[self->_scheduleDict allKeys] filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"SELF < %d", thisSecond]];
[_scheduleDict removeObjectsForKeys:keysToRemove]; [self->_scheduleDict removeObjectsForKeys:keysToRemove];
NSInteger countForSecond = [_scheduleDict[@(thisSecond)] integerValue]; NSInteger countForSecond = [self->_scheduleDict[@(thisSecond)] integerValue];
if (countForSecond < _currentLimitPerSecond) { if (countForSecond < self->_currentLimitPerSecond) {
_scheduleDict[@(thisSecond)] = @(++countForSecond); self->_scheduleDict[@(thisSecond)] = @(++countForSecond);
[req start]; [req start];
} else { } else {
CGFloat delay = [self currentAvailableInterval], step = delay; CGFloat delay = [self currentAvailableInterval], step = delay;
while ([_scheduleDict[@(thisSecond)] integerValue] >= _currentLimitPerSecond) { while ([self->_scheduleDict[@(thisSecond)] integerValue] >= self->_currentLimitPerSecond) {
delay += step; delay += step;
thisSecond = (NSInteger) (now + delay); thisSecond = (NSInteger) (now + delay);
} }
NSInteger nextSecCount = [_scheduleDict[@(thisSecond)] integerValue]; NSInteger nextSecCount = [self->_scheduleDict[@(thisSecond)] integerValue];
delay += step * nextSecCount; delay += step * nextSecCount;
_scheduleDict[@(thisSecond)] = @(++nextSecCount); self->_scheduleDict[@(thisSecond)] = @(++nextSecCount);
dispatch_sync(dispatch_get_main_queue(), ^{ dispatch_sync(dispatch_get_main_queue(), ^{
[req performSelector:@selector(start) withObject:nil afterDelay:delay inModes:@[NSRunLoopCommonModes]]; [req performSelector:@selector(start) withObject:nil afterDelay:delay inModes:@[NSRunLoopCommonModes]];
}); });

View File

@ -25,7 +25,6 @@
extern NSString *const VK_PER_NOTIFY; extern NSString *const VK_PER_NOTIFY;
extern NSString *const VK_PER_FRIENDS; extern NSString *const VK_PER_FRIENDS;
extern NSString *const VK_PER_PHOTOS; extern NSString *const VK_PER_PHOTOS;
extern NSString *const VK_PER_AUDIO;
extern NSString *const VK_PER_VIDEO; extern NSString *const VK_PER_VIDEO;
extern NSString *const VK_PER_DOCS; extern NSString *const VK_PER_DOCS;
extern NSString *const VK_PER_NOTES; extern NSString *const VK_PER_NOTES;

View File

@ -25,7 +25,6 @@
NSString *const VK_PER_NOTIFY = @"notify"; NSString *const VK_PER_NOTIFY = @"notify";
NSString *const VK_PER_FRIENDS = @"friends"; NSString *const VK_PER_FRIENDS = @"friends";
NSString *const VK_PER_PHOTOS = @"photos"; NSString *const VK_PER_PHOTOS = @"photos";
NSString *const VK_PER_AUDIO = @"audio";
NSString *const VK_PER_VIDEO = @"video"; NSString *const VK_PER_VIDEO = @"video";
NSString *const VK_PER_DOCS = @"docs"; NSString *const VK_PER_DOCS = @"docs";
NSString *const VK_PER_NOTES = @"notes"; NSString *const VK_PER_NOTES = @"notes";
@ -47,19 +46,18 @@ NSArray *VKParseVkPermissionsFromInteger(NSInteger permissionsValue) {
if (permissionsValue & 1) [res addObject:VK_PER_NOTIFY]; if (permissionsValue & 1) [res addObject:VK_PER_NOTIFY];
if (permissionsValue & 2) [res addObject:VK_PER_FRIENDS]; if (permissionsValue & 2) [res addObject:VK_PER_FRIENDS];
if (permissionsValue & 4) [res addObject:VK_PER_PHOTOS]; if (permissionsValue & 4) [res addObject:VK_PER_PHOTOS];
if (permissionsValue & 8) [res addObject:VK_PER_AUDIO]; if (permissionsValue & 8) [res addObject:VK_PER_VIDEO];
if (permissionsValue & 16) [res addObject:VK_PER_VIDEO]; if (permissionsValue & 16) [res addObject:VK_PER_PAGES];
if (permissionsValue & 128) [res addObject:VK_PER_PAGES]; if (permissionsValue & 128) [res addObject:VK_PER_STATUS];
if (permissionsValue & 1024) [res addObject:VK_PER_STATUS]; if (permissionsValue & 1024) [res addObject:VK_PER_NOTES];
if (permissionsValue & 2048) [res addObject:VK_PER_NOTES]; if (permissionsValue & 2048) [res addObject:VK_PER_MESSAGES];
if (permissionsValue & 4096) [res addObject:VK_PER_MESSAGES]; if (permissionsValue & 4096) [res addObject:VK_PER_WALL];
if (permissionsValue & 8192) [res addObject:VK_PER_WALL]; if (permissionsValue & 8192) [res addObject:VK_PER_ADS];
if (permissionsValue & 32768) [res addObject:VK_PER_ADS]; if (permissionsValue & 32768) [res addObject:VK_PER_OFFLINE];
if (permissionsValue & 65536) [res addObject:VK_PER_OFFLINE]; if (permissionsValue & 65536) [res addObject:VK_PER_DOCS];
if (permissionsValue & 131072) [res addObject:VK_PER_DOCS]; if (permissionsValue & 131072) [res addObject:VK_PER_GROUPS];
if (permissionsValue & 262144) [res addObject:VK_PER_GROUPS]; if (permissionsValue & 262144) [res addObject:VK_PER_NOTIFICATIONS];
if (permissionsValue & 524288) [res addObject:VK_PER_NOTIFICATIONS]; if (permissionsValue & 524288) [res addObject:VK_PER_STATS];
if (permissionsValue & 1048576) [res addObject:VK_PER_STATS]; if (permissionsValue & 1048576) [res addObject:VK_PER_MARKET];
if (permissionsValue & 134217728) [res addObject:VK_PER_MARKET];
return res; return res;
} }

View File

@ -275,6 +275,13 @@ Initialize SDK with responder for global SDK events.
*/ */
+ (VKAccessToken *)accessToken; + (VKAccessToken *)accessToken;
/**
Set your own access token
@param token token token token
*/
+ (void)setAccessToken:(VKAccessToken *)token;
///------------------------------- ///-------------------------------
/// @name Other methods /// @name Other methods
///------------------------------- ///-------------------------------

View File

@ -251,11 +251,11 @@ static NSString *VK_ACCESS_TOKEN_DEFAULTS_KEY = @"VK_ACCESS_TOKEN_DEFAULTS_KEY_D
VKSdk *instance = [self instance]; VKSdk *instance = [self instance];
void (^hideViews)() = ^{ void (^hideViews)(void) = ^{
if (instance.presentedSafariViewController) { if (instance.presentedSafariViewController) {
UIViewController *safariVC = instance.presentedSafariViewController; UIViewController *safariVC = instance.presentedSafariViewController;
[safariVC vks_viewControllerWillDismiss]; [safariVC vks_viewControllerWillDismiss];
void (^dismissBlock)() = ^{ void (^dismissBlock)(void) = ^{
[safariVC vks_viewControllerDidDismiss]; [safariVC vks_viewControllerDidDismiss];
}; };
if (safariVC.isBeingDismissed) { 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]; NSDictionary *parametersDict = [VKUtil explodeQueryString:parametersString];
BOOL inAppCheck = [[passedUrl host] isEqual:@"oauth.vk.com"]; BOOL inAppCheck = [[passedUrl host] isEqual:@"oauth.vk.com"];
void (^throwError)() = ^{ void (^throwError)(void) = ^{
VKError *error = [VKError errorWithQuery:parametersDict]; VKError *error = [VKError errorWithQuery:parametersDict];
if (!validation) { if (!validation) {
notifyAuthorization(nil, error); notifyAuthorization(nil, error);
@ -446,7 +446,7 @@ static NSString *VK_ACCESS_TOKEN_DEFAULTS_KEY = @"VK_ACCESS_TOKEN_DEFAULTS_KEY_D
} }
wakeUpBlock(instance.authState, error); 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) { if (infoCallback) {
infoCallback(user, [VK_ENSURE_NUM(response.json[@"permissions"]) integerValue], nil); infoCallback(user, [VK_ENSURE_NUM(response.json[@"permissions"]) integerValue], nil);
} }
} errorBlock:^(NSError *error) { } errorBlock:^(NSError *error) {
if (infoCallback) { if (infoCallback) {
infoCallback(nil, 0, error); infoCallback(nil, 0, error);
} }

View File

@ -20,5 +20,5 @@
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN // 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. // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define VK_SDK_VERSION @"1.4.6" #define VK_SDK_VERSION @"1.4.7"
#define VK_SDK_API_VERSION @"5.40" #define VK_SDK_API_VERSION @"5.122"

View File

@ -171,9 +171,11 @@ NSString *VK_AUTHORIZE_URL_STRING = @"vkauthorize://authorize";
} }
} }
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { - (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
[super didRotateFromInterfaceOrientation:fromInterfaceOrientation]; [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
[self makeViewport]; [coordinator animateAlongsideTransition:nil completion:^(id<UIViewControllerTransitionCoordinatorContext> _Nonnull context) {
[self makeViewport];
}];
} }
- (instancetype)initWith:(NSString *)appId andPermissions:(NSArray *)permissions revokeAccess:(BOOL)revoke displayType:(VKDisplayType)display { - (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) { if ([error code] != NSURLErrorCancelled) {
self.warningLabel.hidden = NO; self.warningLabel.hidden = NO;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t) (500 * NSEC_PER_MSEC)), dispatch_get_main_queue(), ^(void) { 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) if (!self.navigationItem.rightBarButtonItem)
[self setRightBarButtonActivity]; [self setRightBarButtonActivity];
}); });
@ -251,7 +253,7 @@ NSString *VK_AUTHORIZE_URL_STRING = @"vkauthorize://authorize";
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation { - (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation {
[self makeViewport]; [self makeViewport];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t) (300 * NSEC_PER_MSEC)), dispatch_get_main_queue(), ^(void) { 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; webView.hidden = NO;
self.navigationItem.rightBarButtonItem = nil; self.navigationItem.rightBarButtonItem = nil;
}); });
@ -266,11 +268,11 @@ NSString *VK_AUTHORIZE_URL_STRING = @"vkauthorize://authorize";
- (void)cancelAuthorization:(id)sender { - (void)cancelAuthorization:(id)sender {
[self dismissWithCompletion:^{ [self dismissWithCompletion:^{
if (!_validationError) { if (!self->_validationError) {
//Silent cancel //Silent cancel
[VKSdk processOpenInternalURL:[NSURL URLWithString:@"#"] validation:NO]; [VKSdk processOpenInternalURL:[NSURL URLWithString:@"#"] validation:NO];
} else { } else {
[_validationError.request cancel]; [self->_validationError.request cancel];
} }
}]; }];
if (_validationError) { if (_validationError) {
@ -281,7 +283,7 @@ NSString *VK_AUTHORIZE_URL_STRING = @"vkauthorize://authorize";
} }
} }
- (void)dismissWithCompletion:(void (^)())completion { - (void)dismissWithCompletion:(void (^)(void))completion {
_finished = YES; _finished = YES;
if (_internalNavigationController.isBeingDismissed) { if (_internalNavigationController.isBeingDismissed) {

View File

@ -74,10 +74,14 @@ CGFloat kCaptchaViewHeight = 138;
_captchaTextField.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin; _captchaTextField.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin;
[self addSubview:_captchaTextField]; [self addSubview:_captchaTextField];
VKHTTPOperation *operation = [[VKHTTPOperation alloc] initWithURLRequest:[[VKHTTPClient getClient] requestWithMethod:@"GET" path:_error.captchaImg parameters:nil secure:NO]]; 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) { [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) { } failure:^(VKHTTPOperation *operation, NSError *error) {
}]; }];
[[VKHTTPClient getClient] enqueueOperation:operation]; [[VKHTTPClient getClient] enqueueOperation:operation];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(deviceDidRotate:) name:UIDeviceOrientationDidChangeNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(deviceDidRotate:) name:UIDeviceOrientationDidChangeNotification object:nil];
[self deviceDidRotate:nil]; [self deviceDidRotate:nil];
@ -87,8 +91,8 @@ CGFloat kCaptchaViewHeight = 138;
- (void)deviceDidRotate:(NSNotification *)notification { - (void)deviceDidRotate:(NSNotification *)notification {
[UIView animateWithDuration:notification ? 0.3 : 0 animations:^{ [UIView animateWithDuration:notification ? 0.3 : 0 animations:^{
_captchaImage.frame = CGRectMake((self.bounds.size.width - kCaptchaImageWidth) / 2, 5, kCaptchaImageWidth, kCaptchaImageHeight); self->_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->_captchaTextField.frame = CGRectMake(self->_captchaImage.frame.origin.x, self->_captchaImage.frame.origin.y + kCaptchaImageHeight + 10, kCaptchaImageWidth, kCaptchaViewHeight - kCaptchaImageHeight - 10);
}]; }];
} }

View File

@ -68,17 +68,17 @@
return captchaFrame; return captchaFrame;
} }
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { - (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
[super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration]; [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
CGSize screenSize = [UIScreen mainScreen].bounds.size; [coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> _Nonnull context) {
if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation)) { CGSize screenSize = [UIScreen mainScreen].bounds.size;
screenSize = CGSizeMake(MAX(screenSize.width, screenSize.height), MIN(screenSize.width, screenSize.height)); if (UIInterfaceOrientationIsLandscape(UIApplication.sharedApplication.statusBarOrientation)) {
} else { screenSize = CGSizeMake(MAX(screenSize.width, screenSize.height), MIN(screenSize.width, screenSize.height));
screenSize = CGSizeMake(MIN(screenSize.width, screenSize.height), MAX(screenSize.width, screenSize.height)); } else {
} screenSize = CGSizeMake(MIN(screenSize.width, screenSize.height), MAX(screenSize.width, screenSize.height));
}
self.captchaView.frame = [self captchaFrameForScreenSize:screenSize];
self.captchaView.frame = [self captchaFrameForScreenSize:screenSize]; } completion:nil];
} }
- (void)presentIn:(UIViewController *)controller { - (void)presentIn:(UIViewController *)controller {

View File

@ -253,17 +253,13 @@ static const CGFloat ipadHeight = 500.f;
[self rotateToInterfaceOrientation:orientation appear:YES]; [self rotateToInterfaceOrientation:orientation appear:YES];
} }
#pragma clang diagnostic push - (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
#pragma clang diagnostic ignored "-Wdeprecated-declarations" [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
[coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> _Nonnull context) {
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { [self rotateToInterfaceOrientation:UIApplication.sharedApplication.statusBarOrientation appear:NO];
[super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration]; } completion:nil];
[self rotateToInterfaceOrientation:toInterfaceOrientation appear:NO];
} }
#pragma clang diagnostic pop
- (void)rotateToInterfaceOrientation:(UIInterfaceOrientation)orientation appear:(BOOL)onAppear { - (void)rotateToInterfaceOrientation:(UIInterfaceOrientation)orientation appear:(BOOL)onAppear {
if (VK_IS_DEVICE_IPAD) { if (VK_IS_DEVICE_IPAD) {
CGSize viewSize = self.view.frame.size; CGSize viewSize = self.view.frame.size;
@ -334,10 +330,6 @@ static const CGFloat ipadHeight = 500.f;
return YES; return YES;
} }
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
return YES;
}
- (UIStatusBarStyle)preferredStatusBarStyle { - (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleDefault; 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 { - (void)prepare {
self.postSettings = [VKPostSettings new]; 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]]; 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) { [req executeWithResultBlock:^(VKResponse *res) {
__strong typeof(self) self = wself;
VKPhotoArray *photos = res.parsedModel; VKPhotoArray *photos = res.parsedModel;
NSArray *requiredSizes = @[@"p", @"q", @"m"]; NSArray *requiredSizes = @[@"p", @"q", @"m"];
for (VKPhoto *photo in photos) { for (VKPhoto *photo in photos) {
@ -1153,7 +1138,7 @@ static const CGFloat kAttachmentsViewSize = 100.0f;
[self removeAttachIfExists:attach]; [self removeAttachIfExists:attach];
[self.attachmentsScrollView reloadData]; [self.attachmentsScrollView reloadData];
}]; }];
imageLoad.successCallbackQueue = imageProcessingQueue; imageLoad.successCallbackQueue = self->imageProcessingQueue;
[[VKHTTPClient getClient] enqueueOperation:imageLoad]; [[VKHTTPClient getClient] enqueueOperation:imageLoad];
} }
[self.attachmentsScrollView performBatchUpdates:^{ [self.attachmentsScrollView performBatchUpdates:^{