Как получить идентификатор пакета?

Я работаю над тем, чтобы API для Facebook работал на iOS, и страница регистрации FB требует Bundle ID проекта. Как я могу получить эту информацию? Я читал кое-что о получении во время выполнения, но есть ли способ заставить XCode сообщить мне эту информацию, или это где-то хранится в списке. Я не использую идентификатор пакета по умолчанию, я помню, как настраивал его при создании проекта.

5 ответов

Если вы пытаетесь получить его программно, вы можете использовать следующую строку кода:

цель C

NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];

Swift 3.0:

let bundleIdentifier =  Bundle.main.bundleIdentifier

Это будет работать как для iOS, так и для Mac. Удачи..

Для тех, кто использует Xcode >=7: выберите цель и нажмите вкладку General. Идентификатор пакета находится под Идентификацией.

Детали

  • Xcode 11.2.1 (11B500), Swift 5.1

Программно

Решение 1

let bundleId = Bundle.main.bundleIdentifier

Решение 2

let bundleId = Bundle.main.infoDictionary?["CFBundleIdentifier"] as? String

Из Xcode

Решение 1

Решение 2

В Xcode 4 выберите ваш проект, затем цель (у вас должна быть только одна) и затем вкладку "Информация". Вы должны быть в состоянии увидеть идентификатор пакета там.

А bundle IDили идентификатор пакета идентифицирует приложение в экосистеме Apple. Apple советует использовать обратное доменное имя (обратную нотацию DNS) для его создания.

Например:

com.companyname

Идентификатор пакета - это строка в Info.plist [О], который требуется для любогоBundle

Чтобы установить его с помощью Xcode

//Info.plist
Bundle identifier
//by default it points on `$(PRODUCT_BUNDLE_IDENTIFIER)` which is you can setup in Build Settings

//Build Settings the mirror of Target Settings
Build Settings -> Product Bundle Identifier

//Target Settings the mirror of Build Settings
General -> Bundle Identifier

Чтобы получить это программно

//Objective-C
[[NSBundle mainBundle] bundleIdentifier];

//Swift
Bundle.main.bundleIdentifier

[Запас слов]

Вы можете узнать и изменить из вспомогательного файла => info.plist => Идентификатор пакета

Обычно это форма DNS ex. com.companyname.appname

введите описание изображения здесь

Если вы создаете библиотеку, это может быть проблематично - это приложения, которые имеют идентификатор пакета. Тем не менее, вы можете запросить это программно, используя [NSBundle mainBundle] а потом [NSBundle bundleIdentifier]

Другие вопросы по тегам