标签: appirater

在将其提交给Apple之前,如何获取iPhone应用程序的应用程序ID?

我正在为我的iPhone应用程序使用Appirater,它要求我输入描述为的APPIRATER_APP_ID Apple generated software id.在我的应用仍处于开发阶段时,如何获取此ID?

iphone ipad appirater

10
推荐指数
1
解决办法
1万
查看次数

语义问题 - 函数的隐式声明

我正在使用Appirater(https://github.com/arashpayan/appirater)在我的xcode项目中启用应用程序评级.使用"iOS模拟器"时,一切都建立正常,但当我使用"iOS设备"目标存档我的项目时,我得到2个构建错误:

语义问题:函数'SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO'的隐式声明在C99中无效

语义问题:函数'SYSTEM_VERSION_LESS_THAN'的隐式声明在C99中无效

相关的代码行位于Appirater.m文件中:

    if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0") && SYSTEM_VERSION_LESS_THAN(@"7.1")) {
        reviewURL = [templateReviewURLiOS7 stringByReplacingOccurrencesOfString:@"APP_ID" withString:[NSString stringWithFormat:@"%@", _appId]];
    }
Run Code Online (Sandbox Code Playgroud)

我找到了一组与如何检查iOS版本非常类似的宏

任何援助将不胜感激.

ios appirater

4
推荐指数
1
解决办法
2919
查看次数

Appirater用法

我已将Appirater添加到我的一个项目中.据我所知,Appirater开箱即用ARC,但我遇到了代表的问题,我必须自己合成它.但这不是问题.

这是我添加到我的app委托中的代码:

[Appirater setAppId:@"0101010101"];
    [Appirater setDaysUntilPrompt:-1];
    [Appirater setUsesUntilPrompt:-1];
    [Appirater setTimeBeforeReminding:2];
    [Appirater setDebug:YES];
    [Appirater appLaunched:YES];
Run Code Online (Sandbox Code Playgroud)

对于我所看到的,在我按下应用程序评级后,Appirater不应再要求对应用程序进行评级,其中没有设置该用户按"评价"的功能.按下提醒我稍后按钮应禁用Appirater警报2天(请参阅setTimeBeforeReminding :)但这两者都不起作用.每次我重新打开应用程序时,无论我点击什么,它都会提示我评价我的应用程序.关于如何使用本课程或演练的任何想法?

注意:使用当前版本的appirater,它是23天前更新的,也有一个AppiraterDelegate类,我还没有使用过.

iphone objective-c ios appirater

3
推荐指数
1
解决办法
4406
查看次数

Appirater对我不起作用?虽然我按照说明进行了双重检查

我希望我的应用程序要求用户在应用程序商店中评价/写评论,这就是我尝试从Arash Payan实施Appirater的原因.但它根本不起作用 - 没有显示警告,无论我多久都尝试一次.

我做了什么:

  • https://github.com/arashpayan/appirater/下载Appirater
  • 遵循自述文件中提供的步骤:

    1. 将Appirater代码添加到项目中
    2. 将CFNetwork和SystemConfiguration框架添加到项目中
    3. 在app委托的应用程序结束时调用[Appirater appLaunched:YES]:didFinishLaunchingWithOptions:method.
    4. 在app delegate的applicationWillEnterForeground:方法中调用[Appirater appEnteredForeground:YES].
    5. (可选)当用户在应用程序中执行"重要"操作时,调用[Appirater userDidSignificantEvent:YES].
    6. 最后,将Appirater.h中的APPIRATER_APP_ID设置为Apple提供的软件ID.

我也改变了提醒信息,因为我的语言不是英语.我把使用次数改为5次......

我做错了什么/如何解决?非常感谢!

iphone rate ios appirater

2
推荐指数
1
解决办法
2291
查看次数

通过Appirater的App Store ID与plist的ID不同,显然是随机的

我遇到了从我的plist中获取App Store ID并将其与Appirater一起使用的问题.我记录NSLog了当用户按"立即评分"时使用的URL,并且App Store ID与我在Info.plist中设置的App Store ID不同.不知道从哪里得到这些数字 - 它们每次都是一组不同的9个数字.这真的很奇怪.

Appirater.m中处理App Store ID并在链接中使用它的代码如下所示: NSString *const kAppiraterAppIdBundleKey = @"AppStoreId";

NSString *templateReviewURL = @"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=APP_ID";

....

+ (NSString*)appStoreAppID {

    NSString* value = [[[NSBundle mainBundle] infoDictionary] objectForKey:kAppiraterAppIdBundleKey];

    NSAssert1(value, @"Error - you have not specified %@ property in your info.plist", kAppiraterAppIdBundleKey);

    return value;

}
//...

+ (void)rateApp {
    //...
    NSString *reviewURL = [templateReviewURL stringByReplacingOccurrencesOfString:@"APP_ID" withString:[NSString stringWithFormat:@"%d", [self appStoreAppID]]];
    //...
}
Run Code Online (Sandbox Code Playgroud)

我在plist中添加了一个名为"AppStoreId"的字段,并输入了9位数的代码.我把它变成了一个字符串类型.现在,当我将"APP_ID"替换为上面iTunes链接中的实际9位数代码时,代码运行完美,但当我将其保留为APP_ID时,我收到错误"无法连接到iTunes Store.",并且NSLog输出具有链接中有9个随机数,而且每次都是不同的.

这可能是一个简单的解决方案,但我似乎无法弄明白.

cocoa objective-c ios mac-app-store appirater

2
推荐指数
1
解决办法
894
查看次数

`[NSUserDefaults standardUserDefaults]`返回nil

我想保存一些用户首选项,但是

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
Run Code Online (Sandbox Code Playgroud)

回来nil.

iOS-Developper Library说,这应该返回现有的共享默认对象,如果不存在则创建一个...我缺少什么?

我也使用Appirater,所有这些东西似乎也不起作用......

当用户按下按钮时会调用此代码...

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
int index = ([defaults integerForKey:@"BackgroundColorSpecifier"]+ 1)%self.backgroundColors.count;
[defaults setInteger:index forKey:@"BackgroundColorSpecifier"];
[defaults synchronize];
Run Code Online (Sandbox Code Playgroud)

这被调用了 application: didFinishLaunchingWithOptions:

NSUserDefaults *standardDefaults = [NSUserDefaults standardUserDefaults];
[standardDefaults registerDefaults:@{@"BackgroundColorSpecifier": @0}];
[standardDefaults synchronize];
Run Code Online (Sandbox Code Playgroud)

当我调试此代码片段时,绿色的"位置指示器"以非常奇怪的方式跳转...

我没有任何线索,最新情况......请帮忙!

objective-c nsuserdefaults ios appirater ios7

0
推荐指数
1
解决办法
3374
查看次数