Iphone bundle что это такое

What Are App IDs and Bundle Identifiers

by Bart Jacobs in Fundamentals

Swift 5 Xcode 12 ios 14

Every developer new to Cocoa and Swift development needs to become familiar with Apple’s lingo and processes. In today’s tutorial, I’d like to talk about App IDs and bundle identifiers. What is an App ID? What is a bundle ID? And what’s the link between App IDs and bundle IDs?

Bundle Identifier

A bundle ID or bundle identifier uniquely identifies an application in Apple’s ecosystem. This means that no two applications can have the same bundle identifier. To avoid conflicts, Apple encourages developers to use reverse domain name notation for choosing an application’s bundle identifier.

Let’s take Cocoacasts as an example. Every application I build for Cocoacasts has a bundle identifier that starts with com.cocoacasts , that is, the reverse of the Cocoacasts website. For my company, Code Foundry, I use bundle identifiers that start with be.codefoundry .

You don’t need to own the domain you use for your application’s bundle identifier. The domain is only used to ensure the bundle identifier is unique. For example, I could also use blog.cocoacasts for the applications I build for Cocoacasts even though I don’t own cocoacasts.blog .

To create a unique bundle identifier, you append the name of the application to the reversed domain, for example, com.cocoacasts.scribbles . Remember that you choose the bundle identifier. Reverse domain name notation is what Apple recommends and it’s a pattern most developers use.

The only requirement is that the bundle identifier is unique. Xcode warns you if you choose a bundle identifier that’s already in use by another application. I strongly recommended that you use a bundle identifier that makes sense and that’s why most developers stick to reverse domain name notation.

If you’re building a suite of applications, then you can use the same approach. Take a look at the following example. The first bundle ID is used for the iOS client of Scribbles whereas the second bundle ID is used for the macOS client of Scribbles.

App ID

Developers often confuse App IDs with bundle IDs or, even worse, they think they’re the same thing. An App ID represents one or more applications in Apple’s system. It consists of two components, a Team ID and a bundle ID search string.

In this example, ABCDE12345 is the Team ID and com.cocoacasts.scribbles is the bundle ID search string. The Team ID and the bundle ID search string are separated by a period.

The Team ID is the component you don’t need to worry about is. It’s generated by Apple and prepended to the bundle ID search string.

What is a bundle ID search string? This question takes us back to bundle identifiers. It’s possible to use one App ID for several applications. That’s where explicit and wildcard App IDs come into play.

The bundle ID search string of an App ID can match a single application or, by including a wildcard, it can match multiple applications of the same development team. Let me show you an example of each App ID type.

Explicit App ID

As the name implies, an explicit App ID doesn’t contain a wildcard. The bundle ID search string matches the bundle identifier of one application.

Читайте также:  Айфон эмодзи с лицом для андроид

The Team ID, ABCDE12345 , is generated by Apple for your development team. This isn’t something you can or should change. The bundle ID search string, com.cocoacasts.scribbles , doesn’t contain an asterisk. In other words, the bundle ID search string matches the bundle identifier of one application, the application with a bundle identifier of com.cocoacasts.scribbles . An explicit App ID can only be used for one application.

Wildcard App ID

A wildcard App ID is a bit different in that it can be used for one or more applications. The App ID can be used for every application with a bundle identifier that matches the App ID’s bundle ID search string.

The above App ID can be used for several bundle identifiers. The asterisk or wildcard indicates that anything following com.cocoacasts. can be variable.

What Are App IDs For

You already know that a bundle identifier uniquely identifies an application in Apple’s ecosystem. What is the purpose of an App ID? An App ID links one or more applications from a development team in Apple’s system. Why is this important?

Whenever you want to enable a capability or application service for your application, you enable that capability for the App ID your application is linked to. This used to be tedious, requiring a visit to Apple’s developer website. Xcode has evolved quite a bit over the years and it takes care of the details most of the time. Let me show you how this works.

App IDs and Capabilities

Setting Up the Project

Fire up Xcode and create a new project based on the Single View App template.

Name the project and set the Organization Identifier using reverse domain name notation. The organization identifier is used to create the first component of the application’s bundle identifier. Project’s name is appended to the organization identifier to create the bundle identifier. Don’t worry. You can change this after setting up the project. For example, I prefer to keep the bundle identifier lowercased.

Once you’ve created the project, you can see the details of your application in the General tab of the target.

Keep in mind that you can’t modify the bundle ID whenever you feel like. Once your application is pushed to Apple’s App Store, it’s no longer possible to change your application’s bundle ID. Choose your bundle ID carefully.

Xcode also shows us the Team ID I mentioned earlier. Notice that you’re unable to modify the Team ID. You shouldn’t need to worry about this.

Enabling Capabilities

Let’s say we want to enable iCloud for our application. For that to work, we need to inform Apple that our application needs the iCloud capability.

Years ago, this meant a visit to Apple’s developer website, creating an App ID, and flipping a switch. This is no longer necessary. Open the Capabilities tab in Xcode and flip the switch of the iCloud section.

Xcode jumps into action, talks to Apple’s developer portal on your behalf, and takes care of the necessary steps.

Xcode shows us what tasks it performed on your behalf. Take a look at the bottom of the iCloud section in the Capabilities tab.

Visiting Apple’s Developer Website

Let’s make sure everything is set up correctly on Apple’s servers. Open a browser and visit Apple’s developer website. Click Account and sign in with the Apple ID that’s linked to your developer account.

On the left, select Certificates, IDs & Profiles.

Читайте также:  Твик для айфона что это

From the menu on the left, choose App IDs and look for the App ID Xcode created for us. App IDs generated by Xcode start with the letters XC to indicate that Xcode created those on your behalf.

Click the App ID and inspect its configuration. It gives you an overview of the capabilities and applications services of the App ID in the development and production environments.

Notice that iCloud is enabled because we enabled this capability from within Xcode. Some capabilities and application services are enabled by default, such as Game Center and In-App Purchase.

Manual Configuration

You can manually configure an App ID through Apple’s developer website, and that may be necessary from time to time. For example, you can only link SSL certificates to an App ID for push notifications through the developer website. This isn’t possible from within Xcode at the time of writing.

Choose Wisely

It’s important that you take a few moments when you choose the bundle ID of your application. Once your application is in the hands of users, you’re unable to make changes to the bundle ID. While this isn’t something users pay attention to, you don’t want to have a bundle ID that makes no sense. Stick with Apple’s guidelines and you should be fine.

Most companies include the company’s name in the bundle identifier and that makes sense. But remember that the bundle identifier cannot be modified even if the application changes hands, for example, in the event of an acquisition.

If you’re a freelance developer or you run an agency, make sure you don’t include your name or that of your company in the bundle identifier. Discuss this with the client and make sure you choose a bundle identifier that makes sense for the project and the owner.

Источник

Offering App Bundles

App bundles make it easy for customers to buy up to 10 of your apps or games in a single purchase. You can create app bundles for paid apps or free apps that offer an auto-renewable subscription to access all apps in the bundle. Learn how to set up app bundles and effectively market them on your product page.

Preparing for App Bundles

You can have a total of up to 10 app bundles available at any given time. An app may be included in up to three app bundles at any given time, and must also be available for individual download.

Availability. An app bundle is available in all territories where every individual app in the bundle is available. If an app contained in a bundle is removed from sale in a particular market, the app bundle will also be removed from sale in that market.

Pricing. Paid app bundles must offer a discount compared to the separate purchase price of the individual apps in the bundle. Paid apps and free apps with subscriptions cannot be bundled together.

Subscriptions. For free apps with subscriptions, each app in the bundle must have an approved auto-renewable subscription. If a user subscribes in one app, they must be able to access all other apps in the bundle at no additional cost. Learn about offering subscriptions across multiple apps.

Age Ratings and Bands. An app bundle is assigned the highest age rating of its component apps. For app bundles in the Kids category, if all apps within the bundle belong to the same age band, the that age band will be displayed on the bundle product page. If the apps have varying age bands, the bundle will not be assigned an age band.

Читайте также:  Как сфоткать с экрана айфона

Universal Purchase. Apps that are part of a universal purchase, which lets customers easily enjoy your app and in‑app purchases across platforms, count as just one app in the bundle. Learn about universal purchase.

Complete My Bundle. Paid app bundles support Complete My Bundle, which credits customers for apps they’ve already purchased within a bundle. They only pay the balance for the remaining apps.

App Store Connect

Find details and step-by-step instructions on how to create and submit app bundles in App Store Connect .

Marketing Your App Bundles

Make the most of your app bundle product page through thoughtfully crafted metadata. Each app bundle includes the opportunity to provide a unique icon, name, and description.

Default Icon. The default bundle icon consists of the icons of the first four apps included in the bundle. Consider placing your most popular apps first to highlight those most likely to spark a user’s interest. Ensure each app icon in the bundle is unique and focused on a single compelling image.

Custom Icon. You also have the option of creating a custom icon to replace the default icon. Your custom bundle icon should represent your brand and the theme of the collection. Ensure your design is visually distinctive from any icon within the bundle so that users do not confuse the two.

Your bundle name plays a critical role in how users discover your app bundle on the App Store. Choose a name that accurately reflects the contents of the bundle (e.g., Music Maker Bundle or Winter Sports Pack). Avoid using the terms “Editor’s Choice”, “Essentials”, or “Collection.” Pay particular attention to how the name appears across the App Store for iPad, iPhone, and iPod touch . Longer names may be truncated, which means users will not see all the characters. We recommend keeping your bundle name to around 23 characters for the best presentation on every device.

Description

The description of your app bundle should be concise and engaging. The first few sentences are the most important — this is what a user sees without having to tap to read more. The ideal description is a brief, attention-grabbing paragraph followed by a short bullet list of key features.

Focus on the aspects of your app bundle that will motivate users to download it (e.g., the quality of the apps included, why they make sense as a bundle, the discount you’re offering).

Screenshots

The first screenshot from each bundled app is displayed on the app bundle product page. Ideally, each screenshot clearly conveys the essence of the app.

Keywords

App Store Connect compiles the keywords you enter for each of the bundled apps and uses them in your app bundle metadata.

Custom bundle icons have the same dimension requirements as app icons. We add a transparent overlay to let users know that the icon represents a bundle. Avoid putting any key elements in the lower right corner, as the overlay covers this area.

Submit

Prepare your apps and metadata for submission to the App Store.

Manage

Manage apps, analytics, sales reports, agreements, tax and banking information, and more.

Promote

Get marketing guidance and tools to help you promote your app on the App Store.

Contact us

Have a question or request? We can help by phone or email.

Источник

Оцените статью