# 注意

1.在工程中搜索 feature.plist 文件(位于PandoraApi.bundle中),在 Push 节点下,确保和下图所示一样

可直接复制下面对应的值替换,避免手动输入错误

<key>Push</key>
	<dict>
		<key>autostart</key>
		<true/>
		<key>baseclass</key>
		<string>PGPush</string>
		<key>class</key>
		<string>PGPushActualize</string>
		<key>global</key>
		<true/>
		<key>server</key>
		<dict>
			<key>class</key>
			<string>PGPushServerAct</string>
			<key>identifier</key>
			<string>com.pushserver</string>
		</dict>
	</dict>

注意:uniPush 1.0 和 uniPush2.0的是不同的服务 具体请查看 uniPush

# uniPush

# 将uniPush模块依赖库及资源添加到工程

依赖库 系统库 依赖资源
liblibPush.a、libUniPush.a、GTSDK.xcframework libc++.tbd、libsqlite3.tbd、libz.tbd、libresolv.tbd、UserNotifications.framework、Security.framework、MobileCoreServices.framework、SystemConfiguration.framework、CoreLocation.framework、AVFoundation.framework、CoreTelephony.framework、

**注意: UserNotifications.framework 需要设置为Optional **

# 帐号配置

  1. 开发者后台 找到对应App,获取appid 等信息
  2. 在工程的 info.plist 中添加 "getui" 字段,并填写如下信息

# 个推推送

# 将个推推送模块依赖库及资源添加到工程

依赖库 系统库 依赖资源
liblibPush.a、libGeTuiPush.a、GTSDK.xcframework libc++.tbd、libsqlite3.tbd、libz.tbd、libresolv.tbd、UserNotifications.framework、Security.framework、MobileCoreServices.framework、SystemConfiguration.framework、CoreLocation.framework、AVFoundation.framework、CoreTelephony.framework、

**注意: UserNotifications.framework 需要设置为Optional **

# 帐号配置

  1. 个推官网 申请App,获取appid 等信息
  2. 在工程的 info.plist 中添加 "getui" 字段,并填写如下信息

# Google Cloud Message (3.3.7+ 新增)

# 将FCM模块依赖库及资源添加到工程

依赖库 系统库 依赖资源
liblibPush.a
libFCMPush.a
FirebaseCore.xcframework,
FirebaseCoreInternal.xcframework
FirebaseInstallations.xcframework,
GoogleDataTransport.xcframework
GoogleUtilities.xcframework
FBLPromises.xcframework
nanopb.xcframework
FirebaseMessaging.xcframework
UserNotifications.framework GoogleService-Info.plist

# 帐号配置

  1. Firebase官网 创建新项目或找到已创建项目
  2. 下载Firebase生成的 GoogleService-Info.plist 加到工程中

# 申请带APNS功能的profile文件(缺少该项将导致后台收不到推送)

1.创建应用程序ID 登陆iOS Dev Center选择进入iOS Provisioning Portal。 在Certificates,Identifiers &Profiles中,点iOS Apps的任何一项进入 在iOS Provisioning Portal中,点击App IDs进入App ID列表。 创建App ID,如果ID已经存在可以直接跳过此步骤

为App开启Push Notification功能。如果是已经创建的App ID也可以通过设置开启Push Notification功能。

根据实际情况完善App ID信息并提交,注意此处需要指定具体的Bundle ID不要使用通配符。

  1. 重新生成新的profile,下载到本地双击导入,并在Code signing 配置中选择该profile文件

# 生成APNS证书并上传到uniPush或个推平台(缺少该项将导致后台收不到推送)

如果你之前没有创建过Push证书或者是要重新创建一个新的,请在证书列表下面新建。 新建证书需要注意选择证书种类(开发证书用于开发和调试使用,生产证书用于App Store发布)

点击Continue后选择证书对应的应用ID,然后继续会出现“About Creating a Certificate Signing Request (CSR)”

根据它的说明创建Certificate Signing Request。

然后点击Continue ,上传刚刚生成的 .certSigningRequest文件 点”generate”生成APNs Push Certificate。

下载并双击打开证书,证书打开时会启动“钥匙串访问”工具。 在“钥匙串访问”中你的证书会显示在“我的证书”中,注意选择“My Certificates” 和”login” 导出 .p12证书文件 在“钥匙串访问”中,选择刚刚加进来的证书,选择右键菜单中的“导出“...””。

将文件保存为Personal Information Exchange (.p12)格式。 注意:务必选择证书然后再导出。

保存p12文件时,需为其设置密码,上传到uniPush或个推平台

# Xcode配置

在 “Signing&Capabilities” 配置项中,点击左上角的“Capability”按钮,添加“Push Notifications”项

# 常见问题排查步骤

  1. feature.plist 里的 Push结点 是否与 离线SDK文档一致
  2. 确认自己的是push 1.0 还是2.0 的工程
  3. 推送证书 最近有没有变动过
  4. 联系管理员排查