Получение ошибки от push-уведомления -- iphone поле с участием objective-c поле с участием apple-push-notifications пол Связанный проблема

Getting an error from push notification


47
vote

проблема

русский

В моем приложении мне нужны push-уведомления. Я реализую все инструкции от Docs push-уведомления. Но я получил ошибку от push-уведомления:

 <код> Fail To Register For Remote Notifications With Error:   Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment'   entitlement string found for application" UserInfo=0x2340a0   {NSLocalizedDescription=no valid 'aps-environment' entitlement string   found for application}   

Что я делаю не так?

Английский оригинал

In my app, I need push notifications. I am implementing all the instructions from the push notifications docs. But I got an error from Push Notification:

Fail To Register For Remote Notifications With Error:   Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment'   entitlement string found for application" UserInfo=0x2340a0   {NSLocalizedDescription=no valid 'aps-environment' entitlement string   found for application} 

What I am doing wrong?

</div
        
   
   

Список ответов

44
 
vote

Создайте новый профиль предоставления, после включения нажатия, и он будет работать!

 

Generate a new provisioning profile, after you enable Push, and it will work!

</div
 
 
25
 
vote

Я использую XCode 6.1.1

Вам не нужно удалять или воссоздать что угодно. Вам просто нужно сделать XCode обновлять свои активные сертификаты (включая новый сертификат уведомления Push).

Просто перейдите к xcode & gt; Предпочтения и GT; Счета и GT; Выберите свой аккаунт и GT; Выберите свою команду и GT; Подробнее

Там нажмите кнопку «Сильные> Обновить» в левом нижнем углу. (Также проверьте свой код подписания в настройках сборки)

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

 

I am using Xcode 6.1.1

You don't have to delete or recreate anything. You just have to make Xcode update your active certificates (including the new push notification certificate).

Simply go to Xcode > Preferences > Accounts > pick your Account > pick your Team > View Details

There click the refresh button in the lower left corner. (Also check your code signing in build settings)

enter image description here

</div
 
 
 
 
19
 
vote

У меня была такая же проблема,

я решил, что он уверен, что в построил настройки , подписание кода идентичность для debug > Установлено на правильное профиль предоставления



вы включали push-уведомления.

 

I had same problem,

I solved it making sure in Built Settings, Code Signing Identity for debug is set to proper Provisioning Profile

in which you enabled push notifications.

</div
 
 
18
 
vote

Во-первых, вам нужно убедиться, что вы используете идентификатор приложения без подстановочного знака. Затем вам нужно включить это приложение для push-уведомлений для разработки.

check Это руководство , для пример.

Даже после того, как вы включили свой идентификатор приложения для Push, это может занять пару часов для работы.

 

First, you need to make sure you use an app ID without a wildcard. Then you need to enable that app for push notifications for development.

Check this tutorial, for example.

Even after you've enabled your app id for push, it might take a couple of hours for it to work.

</div
 
 
8
 
vote

Это делало меня с ума. Я перекрестно проверял все, но все же получил ту же ошибку. Пробовал все другое решение, приведенное в Интернете. Тем не менее, это сделала трюк для меня. Я создаю файл .mobileprovision перед включением APN. Это была настоящая ошибка. Разрешение этой проблемы:

  1. Создать идентификатор приложения
  2. Включить APNS
  3. Тогда создайте файл положения

Если вы создали профиль Provisioning ранее, и то вы включили APN, вы должны удалить файл Provisioning из повсюду в вашей системе (Xcode, keychain, ITUneconnect). А затем снова создать файл обеспечения.

 

That was making me crazy. I cross-checked everything but still was getting the same error. Tried all the other solution given on the web as well. However, this did the trick for me. I create .mobileprovision file before enable APNS. This was the real mistake. Resolution of this problem :

  1. Create App ID
  2. Enable APNS
  3. Then create Provision File

If you have created provisioning profile earlier and the you have enabled APNS , you should delete provisioning file from everywhere in your system(XCode,keychain,iTuneConnect). And then create provisioning file again.

</div
 
 
   
   
2
 
vote

Я просто имел дело с этим вопросом. Хотя наверное, происходит много вещей, вот что я узнал.

Когда вы вносите изменения в идентификатор приложения, например, позволяющие Push-уведомления, вам необходимо создать новый профиль предоставления. Должно быть, я создал свой идентификатор приложения, сделал профиль обеспечения, используя его, а затем включил уведомления в ID приложений.

Как только я удалил профиль предоставления из портала, а устройство, я сделал новый, используя модифицированный идентификатор приложения. Скачал его, бросил его на моем устройстве, что BAM спасибо, мэм он работал. Надеюсь, это помогает людям в будущем!

 

I just dealt with this issue. While there are probably a lot of things going on, here is what I learned.

When you make changes to an app ID, such as enabling push notifications, you need to create a new provisioning profile. I must have created my app ID, made a provisioning profile using it and then enabled notifications on the app ID.

Once I removed the provisioning profile from the portal, and device, I made a new one using the modified app ID. Downloaded it, tossed it on my device, wham bam thank you ma'am it worked. Hope this helps people in the future!

</div
 
 
2
 
vote

Это просто решило это для меня, поэтому я поделюсь. Если вы обновите свой идентификатор приложения, вы должны удалить профиль с вашего устройства, Xcode и developer.apple.com. Затем создайте новый профиль подходящего предоставления, который обновляется с новыми настройками идентификатора приложений. Лучше всего назвать его немного другое, чтобы вы знали, что вы выбираете правильный.

 

This just solved it for me so I will share. If you update your app id you then must delete the profile from your device, xcode, and developer.apple.com. Then create a new matching provisioning profile that is updated with the new app id settings. Its best to name it something slightly different so you know you are selecting the correct one.

</div
 
 
1
 
vote

Первое, что вам нужно запустить applcaiton в устройстве.

Это произойдет в Xcode 3.2.6. Потому что, когда вы становитесь все идеально. Но ваше приложение не регистрируется на вашем iPhone, iPad или iPod. Вам нужно создать файл EntiteLent.plst.

    .
  • Шаг: Сначала выберите свой проект в Xcode создать файл. Выберите файл CodeSign с именем IT Entertention.plist (имя по умолчанию).
  • положить его на папку ресурсов.
  • Щелкните правой кнопкой мыши открыть как редактор XML.
  • затем откройте ваше положение, как your_apllicnamename.mobileProvision (который вы создали для APNS-сервера) в режиме TextEdit.

Теперь скопируйте некоторые строки, такие как следующее из вашего профиля Provisioning в файл ваших правовых объектов:

 <код> <key>application-identifier</key> <string>xyz.com.company_name.app_name</string>   <key>aps-environment</key>                     <string>development</string>     <key>get-task-allow</key>    <true/>     <key>keychain-access-groups</key>    <array>         <string>xyx.*</string>           </array>   
    .
  • Сохранить файл EntiteLent.plist.
  • Запустите аппликацию, вы будете уведомить на APNS Server.
 

First thing you have to run applcaiton in device.

This is will happen in xcode 3.2.6. Because when you are getting everything perfect. But your application is not registering in your iphone, ipad or ipod. You need to generate a Entitlement.plst file.

  • Step: First select your project in xcode create a file. Select codesign file named it entitlement.plist(default name).
  • Put it on resource folder.
  • Right click open as xml editor.
  • Then open your provisionfile like your_apllicationName.mobileprovision (which you have created for Apns server ) in textedit mode.

Now copy some lines like the following from your provisioning profile into your entitlements file:

<key>application-identifier</key> <string>xyz.com.company_name.app_name</string>   <key>aps-environment</key>                     <string>development</string>     <key>get-task-allow</key>    <true/>     <key>keychain-access-groups</key>    <array>         <string>xyx.*</string>           </array> 
  • Save the entitlement.plist file.
  • Run your applcation you will notify by Apns server.
</div
 
 
       
       
1
 
vote

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

Сделайте профиль вправо. Майбе, вы не устанавливаете профиль.

 

enter image description here

Make the Profile right.Maybe you do not set the profile.

</div
 
 
1
 
vote

для меня - & gt; Перейти к настройкам проекта - & GT; Цель приложения - & GT; Возможности

Включить push-уведомления!

 

For me -> go to project settings -> app target -> Capabilities

enable Push Notifications!

</div
 
 
0
 
vote

Просто убедитесь, что вы используете конкретный сертификат положения

Перейти к: https://developer.apple.com/ios/Manage /provisioningProfiles/index.action . Проверьте статус вашего сертификата предоставления, в худшем случае просто создайте новый, загрузите его и снова назначите его в свой проект.

Убедитесь, какой тип предоставления вы используете, «Development» или «Распределение»

 

Just make sure that you are using the specific provision certificate

go to: https://developer.apple.com/ios/manage/provisioningprofiles/index.action check the status of your provision certificate, in worst cases just create new one, download it and assigne it to your project again.

Make sure which type of provision you are using, "development" or "distribution"

</div
 
 
0
 
vote

У меня тоже то же самое. Вот как я решил.

1) Удаленные профили предоставления в <Код> ~/Library/MobileDevice/Provisioning Profiles

2) Удаленные профили от учетной записи разработчика

3) Создано и установлены новые профили

Обратите внимание, что <сильные> регенерация профилей не решили.

 

I got same too. Here is how I solved.

1) Deleted provisioning profiles at ~/Library/MobileDevice/Provisioning Profiles

2) Deleted profiles from Developer Account

3) Created and installed new profiles

Note that regenarating of profiles didn't solve.

</div
 
 
0
 
vote

Хорошо, немного неловко, но иногда вы проводите часы на самых идиотических ошибках -

Итак, я запускаю приложение на Debug Mode вместо ad-hoc .

Чтобы изменить это, сделать:

Схема - & gt; Схема редактирования ...

Выберите прогон влево, и измените на AD-HOC DIST под <Сильно> Создать конфигурацию .

* Конечно, вам необходимо иметь подходящий профиль Adhoc Provisioning в соответствии с настройкой сборки кода, подписавшись, а также подходящий сертификат APNS, прикрепленный к нему, когда вы создаете профиль предоставления.

** Как только вы запустите его, он раздавит, приведет к этому не в режиме отладки, но вы все еще можете работать с устройства.

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

 

ok, a little embarrassing, but sometimes you spend hours on the most idiotic bugs -

so, I run the application on DEBUG mode instead of AD-HOC.

to change that, do:

scheme -> Edit Scheme...

select Run on the left, and change to Ad-Hoc dist under Build Configuration.

*of course you need to have the suitable adhoc provisioning profile under build-settingcode signing as well as the suitable APNS certificate attached to it when you create the provisioning profile.

** once you run it, it'll crush cause its not on DEBUG mode, but you can still run in from the device.

enter image description here

</div
 
 
0
 
vote

Если вы управляете несколькими приложениями на одном сервере на одном сервере рассмотрим следующие факты.

Вам нужно обрабатывать отдельный ключ в качестве файла p12 файл для подготовки pem файл, и этот закрытый ключ генерируется в приложении Keychain, когда Вы создаете .certsigningRequest файл. Итак, этот csr может быть повторно использован для того же приложения по истечении истечения срока действия, но для любого другого приложения требуется отдельный .

 

If you're managing more than one apps pushes on one server then consider the following facts.

You need to process a separate private key as a p12 file to prepare pem file and this private key is generated in keychain app when you create a .certSigningRequest file. So, this CSR can be reused for same app upon expiration but a separate is needed for any other app.

</div
 
 
0
 
vote

У меня такая же ошибка в Xcode 4.6.1, он работал для меня, то я удаляю предыдущие профили APNS из Mac и Redownload Provisio Profieling APNS из Центра участника. В настройках сборки в целевом режиме идентичность подписания кода должна только в режиме отладки в качестве разработчика iPhone для выпуска помещается в виде NIL или удаления разработчика или распространения.

 

I got same error in XCode 4.6.1, It worked for me then I delete the previous APNS profiles from the Mac and redownload the APNS provisioing profile from member center. In Build Settings at target mode, Code Signing Identity should only in Debug Mode as iphone Developer for Release put as nil or delete the developer or distribution.

</div
 
 

Связанный проблема

15  Как получить все записи NSFetchedResultScontroller / NsmanageObjectContext?  ( How to get all entries of a nsfetchedresultscontroller nsmanagedobjectcontext ) 
У меня есть хорошее рабочее приложение для iPhone, которое работает с основными данными. Я использую NSFetchedResultScontroller / NSManageObjectContext, как о...

1  Как изменить XIB в приложении вкладывателя?  ( How to change xib in a tab bar application ) 
Мое приложение для iPhone основано на панели вкладка, но я хотел бы выстрелить действие, которое полностью выключает View Controller Tab Bar полностью и замен...

8  Как обрезать изображение в частях программно  ( How to crop image in to pieces programmatically ) 
Мне нужно разделить изображение на 9 штук программно. Любые предложения о том, как это сделать? ...

0  Получение неправильной аннотации от метода делегата MapView  ( Getting wrong annotation from mapview delegate method ) 
Я объявил следующее в своем файле .h: <Код> Annotation *annoForMoreDetails . Однако, когда я пытаюсь установить его в текущую аннотацию в методе <Код> -...

3  Как создать универсальные приложения на iPhone / iPad?  ( How to create universal apps in iphone ipad ) 
Я хочу создать универсальные приложения. Я уже сделал несколько приложений для iPhone. Теперь я хочу начать универсальные приложения, что означает, что прилож...

0  Не можете получить панель поиска для отображения в приложении iPhone  ( Cant get search bar to display in iphone application ) 
Я пытаюсь получить панель поиска для отображения в моем приложении. Я следую в примере Show в приложении TableSearch Sample. Я более или менее реализован ...

1  Обновите и вставьте объемные данные XML в мою базу данных SQLite  ( Update and insert bulk xml data into my sqlite database ) 
Я хочу загрузить хостованный XML документ в базу данных My приложения SQLite, обновляя существующие строки или вставляя новые строки данных по мере необходимо...

1  Не удается изменить размер кадра UiscrollView  ( Cannot resize uiscrollviews frame ) 
У меня есть UiscrollView с его рамой и содержимым с таким же размером. Я хочу изменить высоту кадра ScrollView, когда появится клавиатура, но она не работает....

0  Могу ли я использовать зону памяти, чтобы убить утечки iPhone?  ( Can i use a memory zone to kill iphone leaks ) 
У меня есть класс C ++, который я использую с моим контроллером Objective-C ++ в моем приложении iPhone. Класс C ++ делает некоторые расчеты на некоторых данн...

4  Основные данные Nsfetchrequest также выбирают детей объектов объекта  ( Core data nsfetchrequest also fetches children objects of the entity ) 
Я новичок в iOS Dev и основные данные. У меня есть родительский NsmanageObject <код> @class Units; @interface Properties : NSManagedObject @property (nonat...

0  вебсервис В Iphone SDK?  ( Webservice in iphone sdk ) 
<Р> я скачал WSDLObjC-0,6 от Google, чтобы включить SOAP веб-сервис в IPhone SDK.But это является, как App файл, как я могу интегрировать этот файл в iPhone SD...

57  Как динамически разместить высоту UiableViewCell  ( How to dynamically resize uitableviewcell height ) 
У меня есть классический сгруппированный UiableView с редактируемым UIrextViews внутри каждой ячейки. Этот текстовые представления могут быть одиночными или м...

1  Нужно, чтобы получить доступ к URL в моем одном представлении ИОС приложения с помощью веб-просмотра  ( Need to access the url in my single view ios application using web view ) 
<Р> У меня есть один вопрос относительно WebView. У меня есть URL-адрес, и нужно, чтобы запустить этот URL в WebView. и мой код здесь идет .. <код> NSLog(@"R...

0  Призматическое соединение вызывает сбой коробки2D (Cocos2D)  ( Prismatic joint causes a crash box2dcocos2d ) 
Я пытался настроить призматический сустав, но я получаю эту ошибку при выполнении времени: Ошибка утверждения: (заблокировано () == false), функциональная нас...

2  IPhone UiableView подавляет кнопку раскрытия, когда кнопка «Удаление» отображается  ( Iphone uitableview suppress disclosure button when delete button is displayed ) 
У меня есть <код> UITableView , который имеет кнопку раскрытия на каждой строке. Когда таблица введена в режим редактирования, и управление удалением нажата (...

Связанный проблема

15  Как получить все записи NSFetchedResultScontroller / NsmanageObjectContext? 
1  Как изменить XIB в приложении вкладывателя? 
8  Как обрезать изображение в частях программно 
0  Получение неправильной аннотации от метода делегата MapView 
3  Как создать универсальные приложения на iPhone / iPad? 
0  Не можете получить панель поиска для отображения в приложении iPhone 
1  Обновите и вставьте объемные данные XML в мою базу данных SQLite 
1  Не удается изменить размер кадра UiscrollView 
0  Могу ли я использовать зону памяти, чтобы убить утечки iPhone? 
4  Основные данные Nsfetchrequest также выбирают детей объектов объекта 
0  вебсервис В Iphone SDK? 
57  Как динамически разместить высоту UiableViewCell 
1  Нужно, чтобы получить доступ к URL в моем одном представлении ИОС приложения с помощью веб-просмотра 
0  Призматическое соединение вызывает сбой коробки2D (Cocos2D) 
2  IPhone UiableView подавляет кнопку раскрытия, когда кнопка «Удаление» отображается