質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.82%

Podファイルで'AFHTTPRequestOperationManager.h' file not foundのエラー

受付中

回答 0

投稿

  • 評価
  • クリップ 0
  • VIEW 538

Shichi7

score 22

環境はSwift4 Xcode Version 10.2.1です。

新バージョンリリース時に、アプリのアップデートを促すために、こちらのPodファイルを利用しました。
https://github.com/kazu0620/SRGVersionUpdater

イメージ説明

'AFHTTPRequestOperationManager.h' file not foundとエラーが出ます。
どうしたらよいでしょうか?

SRGVersionUpdater.m

#import "SRGVersionUpdater.h"
#import "UIAlertView+BlocksKit.h"
#import "AFHTTPRequestOperationManager.h"

@implementation SRGVersionUpdater {
    NSDictionary *versionInfo;
}

#ifndef SRGVersionUpdaterLocalizedStrings
#define SRGVersionUpdaterLocalizedStrings(key) \
NSLocalizedStringFromTableInBundle(key, @"SRGVersionUpdater", [NSBundle bundleWithPath:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"SRGVersionUpdater.bundle"]], nil)
#endif

- (void) executeVersionCheck {
   NSAssert(_endPointUrl, @"Set EndPointUrl Before Execute Check");

   AFHTTPRequestOperationManager* manager = [AFHTTPRequestOperationManager manager];
   manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/plain",@"application/json",nil];
   [manager GET:_endPointUrl parameters:nil
       success:^(AFHTTPRequestOperation *operation, id responseObject) {
           versionInfo = responseObject;
           [self showUpdateAnnounceIfNeeded];
       } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
           NSLog(@"Request Operation Error! %@", error);
       }
   ];
}

- (void) showUpdateAnnounceIfNeeded {
    if( ![self isVersionUpNeeded] ) {
        return;
    }
    [self showUpdateAnnounce];
}

- (BOOL) isVersionUpNeeded {
    NSString *currentVersion  = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
    NSString *requiredVersion = versionInfo[@"required_version"];
    return ( [requiredVersion compare:currentVersion options:NSNumericSearch] == NSOrderedDescending );
}

- (void) showUpdateAnnounce {
    UIAlertView *alert = [UIAlertView
        bk_alertViewWithTitle:[self alertTitle]
        message:[self alertBody]
    ];

    [alert bk_addButtonWithTitle:[self updateButtonText]
                         handler:^(void) {
        NSURL *updateUrl = [NSURL URLWithString:versionInfo[@"update_url"]];
        [[UIApplication sharedApplication] openURL:updateUrl];
    }];

    if([versionInfo[@"type"] isEqualToString:@"optional"]){
        [alert addButtonWithTitle: [self cancelButtonText]];
    }

    [alert show];
}

- (NSString *) alertTitle {
    return _customAlertTitle ? _customAlertTitle : [self localizedStringWithFormat:@"SRGVersionUpdater.alert.title"];
}

- (NSString *) alertBody {
    return _customAlertBody ? _customAlertBody : [self localizedStringWithFormat:@"SRGVersionUpdater.alert.body"];
}

- (NSString *) updateButtonText {
    return [self localizedStringWithFormat:@"SRGVersionUpdater.alert.updateButton"];
}

- (NSString *) cancelButtonText {
    return [self localizedStringWithFormat:@"SRGVersionUpdater.alert.calcelButton"];
}

- (NSInteger) versionNumberFromString:(NSString *)versionString{
    return [[versionString stringByReplacingOccurrencesOfString:@"." withString:@""] intValue];
}

- (NSString *) localizedStringWithFormat:(NSString *)format {
    return SRGVersionUpdaterLocalizedStrings(format);
}

@end
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • 退会済みユーザー

    2019/05/13 21:16

    複数のユーザーから「やってほしいことだけを記載した丸投げの質問」という意見がありました
    「質問を編集する」ボタンから編集を行い、調査したこと・試したことを記入していただくと、回答が得られやすくなります。

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.82%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る