كيف يمكنني تشغيل تطبيق AppStore مباشرة من طلبي

StackOverflow https://stackoverflow.com/questions/226986

  •  03-07-2019
  •  | 
  •  

سؤال

لقد استخدمت العديد من التطبيقات التي تطلق متجر iTunes مباشرة من التطبيق. حتى أنني أستخدم بعضًا على IPOD 2G 2.1.

أعلم أن هناك خطأ في 2.1 يمنع روابط AppStore من العمل في Safari ، ولكن بطريقة ما يطلق الأشخاص Appstore مباشرة ، ولا حتى من خلال Safari.

كيف تفعل هذا؟ هل هي ميزة OpenUrl غير موثقة؟

هل كانت مفيدة؟

المحلول

من iTunes ، اسحب أيقونة تطبيقك إلى سطح المكتب ، وهذا سيعطيك رابطًا يمكنك استخدامه مباشرة (على سبيل المثال ، http://phobos.apple.com/webobjects/mzstore.woa/wa/viewsoftware؟id=284036524&mt=8 قم بتشغيل AppStore إلى الكلمات المتقاطعة ، سواء على سطح المكتب أو iPhone).

انطلق هذا في nsurl واستدعاء OpenUrl عليه.

نصائح أخرى

لتكون موجزة للغاية:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms://itunes.com/apps/appname"]];

إذا كنت ترغب في إرسال إلى جميع التطبيقات للمطور ، فاستخدم

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms://itunes.com/apps/developername"]];

هذه العمل لنظام التشغيل iOS 4.1

أنظر أيضاكيفية الارتباط بالتطبيقات في متجر التطبيقات

لقد اكتشفت كيفية الدخول مباشرة إلى صفحة المراجعة لتطبيق في AppStore.

في الأساس يتم ذلك كما هو موضح أدناه ، لا تتردد في قراءة مدونتي بريد حوله.

- (IBAction)gotoReviews:(id)sender
{
    NSString *str = @"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa";
    str = [NSString stringWithFormat:@"%@/wa/viewContentsUserReviews?", str]; 
    str = [NSString stringWithFormat:@"%@type=Purple+Software&id=", str];

    // Here is the app id from itunesconnect
    str = [NSString stringWithFormat:@"%@289382458", str]; 

    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];
}

إذا كنت ترغب في إظهار تفاصيل التطبيق بدلاً من المراجعات ، فيمكنك استخدام عنوان URL مثل هذا:

NSString *appId    = @"app id";
NSString *endPoint = [NSString stringWithFormat:@"phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=%@&mt=8", appId];
NSString *link     = [NSString stringWithFormat:@"itms-apps://%@", endPoint];

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:link]];

لقد اختبرت هذا على جهاز iPhone الخاص بي مع iOS 6.1 وستعيد توجيهك إلى تطبيق متجر التطبيقات على الفور.

Ben Gottlieb على حق ، ولكن هناك طريقة أسرع للحصول على عنوان URL: يمكنك النقر بزر الماوس الأيمن على أي رمز تطبيق في iTunes وتحديد "Copy Itunes orl url".

ثم اتصل UIApplication openURL عليه.

تأكد من أنها تقول "phobos.apple.com" وليس "iTunes.apple.com"

السابق يفتح متجر التطبيقات مباشرة ، في حين أن الأخير سيفتح mopilesafari أولاً ، ثم متجر التطبيقات.

يمكنك الحصول على appid الخاص بك من itunesconnect.apple.com "إدارة تطبيقاتك"

إذا كنت لا ترغب في الحصول على الرابط لـ iTunes ، فيمكنك القيام بذلك.

  1. حدد تطبيقك في AppStore
  2. انقر فوق الزر "أخبر صديق" في الجزء العلوي الأيمن.
  3. أرسل الرابط إلى نفسك بالبريد الإلكتروني

لقد كان لدي هذا العمل في الوقت الذي لن يفعله رابط iTunes.

إذا كان لديك رابط تابع وتود أن تفتح تطبيق متجر التطبيقات مباشرة بدون Safari في الوسط ، فيمكنك استخدام Uiwebview المخفي أو NsurlConnection. للاطلاع على هذا المنشور http://gamesfromwithin.com/handling-app-store-and-linkshare-links

فيما يلي الرمز الذي أستخدمه واختبرته مقابل إصدارات iOS المختلفة المذكورة. من الواضح تغيير معرف العميل ليكون الخاص بك:

- (void)showOurAppsInAppStore
{        
    NSString *searchUrl = nil;
    // iPad
    if ([DeviceController isDeviceAnIpad]) {
        searchUrl = @"itms-apps://itunes.apple.com/us/artist/seligman-ventures-ltd/id326161338";
    }
    // iPhone / iPod Touch
    else {
        // iOS 7+
        if ([DeviceController isDeviceOperatingSystemAtleast:@"7.0"]) {
            searchUrl = @"itms-apps://itunes.apple.com/artist/seligman-ventures-ltd/id326161338";
        }
        // iOS 6
        else if ([DeviceController isDeviceOperatingSystemAtleast:@"6.0"]) {
            searchUrl = @"itms-apps://ax.itunes.apple.com/artist/seligman-ventures-ltd/id326161338";
        }
        // Pre iOS 6
        else {
            NSString *companyName = @"Seligman Ventures";
            searchUrl = [NSString stringWithFormat:@"http://phobos.apple.com/WebObjects/MZSearch.woa/wa/search?WOURLEncoding=ISO8859_1&lang=1&output=lm&country=US&term=%@&media=software", [companyName stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
        }
    }

    [[UIApplication sharedApplication] openURL: [NSURL URLWithString:searchUrl]];
}

إذا كنت تقوم فقط بإصدار تطبيقك ... فلن يكون لديك "معرف التطبيق #" حتى الآن ... لذلك لن يعمل أي من هذه الطرق.

اضطررت إلى إدراج "رابط غير يعمل" في V1.0 ... ثم لاحقًا في تحديث V1.1 ... أضاف الرابط الفعلي ومعرف التطبيق #.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top