2012-03-07 41 views
2

我在從我的plist抓住App Store的ID,並使用它與Appirater的問題。 I NSLog ged當用戶按下「Rate Now」時正在使用的URL,並且App Store ID與我在Info.plist中設置的App Store ID有所不同。不知道它從哪裏得到這些數字 - 每次都是9個不同的數字。這真的很奇怪。App Store的ID通過Appirater比plist中ID不同,明顯的隨機

與抓在App Store ID和鏈接使用它涉及在Appirater.m的代碼看起來是這樣的: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]]]; 
    //... 
} 

我添加了名爲「AppStoreId」 plist中的字段,並進入9位數字代碼。我做了一個字符串類型。現在,代碼完美運行時,我將「APP_ID」在上面的iTunes鏈接實際的9位數代碼,但是當我把它作爲APP_ID,我得到錯誤「無法連接到iTunes Store」,並且NSLog輸出在鏈接中有9個隨機數,並且每次都是不同的。

這可能是一個簡單的辦法,但我似乎無法弄清楚。

+1

好的老應用Pirater。每次看到這個名字我都會笑。 – 2012-03-07 19:29:19

回答

6

隨機數?您正在使用:

[NSString stringWithFormat:@"%d", [self appStoreAppID]] 

其中appStoreAppIDNSString

因此,您將指向NSString的指針替換爲「APP_ID」,而不是NSString的內容。

只需使用%@而不是%d

+0

非常感謝,這工作! – John 2012-03-07 19:37:07