Ключ не является «идентификатором пакета» - это дружественное представление ключа.
Фактический ключ - «CFBundleIdentifier», и для него есть константа CFStringRef
, которую можно преобразовать в NSString
:
(NSString *)kCFBundleIdentifierKey
<Ч />
Редактировать: Больше проблем с вашим кодом:
NSString *infoPlist = [bundle pathForResource:@"Info" ofType:@"plist"];
[infoPlist setValue:randomIdentifier forKey:@"Bundle identifier"];
infoPlist
- это строка, содержащая этот путь к файлу Info.plist внутри пакета приложения. Это не сам список. Вам нужно прочитать Info.plist в словарь, изменить его содержимое, а затем написать его снова. Например:
NSString *infoPlistPath = [bundle pathForResource:@"Info" ofType:@"plist"];
NSMutableDictionary *infoPlist = [NSDictionary dictionaryWithContentsOfFile:infoPlistPath];
[infoPlist setObject:randomIdentifier forKey:(NSString *)kCFBundleIdentifierKey];
[infoPlist writeToFile:infoPlistPath atomically:YES];