wonday / react-native-aliyun-push

A react native wrapper for aliyun push SDK
MIT License
218 stars 64 forks source link

react native link后build ios就报错 #7

Closed tangweikun closed 6 years ago

tangweikun commented 7 years ago

Showing All Errors Only ld: framework not found CloudPushSDK for architecture arm64

image

wonday commented 7 years ago

拖拽node_modules/react-native-aliyun-push/ios/libs下列目录到xcode工程,将copy items if needed打勾。 注意:从阿里云下载的SDK中UTDID.framework有问题,编译会报错,请使用react-native-aliyun-push中内置的版本。

AlicloudUtils.framework CloudPushSDK.framework UTDID.framework

你应该是用了你自己从阿里云下载的吧, 请使用我模块下面的

dongyuekai commented 7 years ago

你好,我按照文档步骤集成的,用的是你模块下的三个SDK拖拽过去的,自己并没有从阿里云下载SDK,但是还是会报错“Framework not found CloudPushSDK for architecture arm64”,而不是报UTDID.framework的问题。

wonday commented 7 years ago

百度了一下, 说是要拖到Xcode工程的frameworks目录下。 我自己的工程确实是拖到这下面的,如果你不是,拖到这个下面再试一下。

dongyuekai commented 7 years ago

是的 我确实是拖拽到frameworks目录下的 但还是报错 我想看一下你的demo什么的 image 我这个.a文件一开始也没有 是我自己从左侧拖拽过去的 image

wonday commented 7 years ago

拖过来的时候copy items if needed打勾了吗?这个要打勾。 这样最终在你的项目的目录下会copy一份过来。 我的是放在了ios工程的根目录下的libs里面。

libRCTAliyunPush.a默认应该执行react-native link的时候添加上来, 如果没有手工加也可以。

wonday commented 7 years ago

另外, 在你的下面的图中右边部分, 应该也要添加这几个frameworks的

点击项目根节点,在targets app的属性BuildPhase的Link Binary With Libraries中添加公共包依赖
libz.tbd
libresolv.tbd
libsqlite3.tbd
CoreTelephony.framework
SystemConfiguration.framework
UserNotifications.framework
dongyuekai commented 6 years ago

我这边完全是按照这个步骤做的,但是现在还是有这个错误,唯一不同的是我在下面这一步拖拽过来的时候没有提示我打钩 “copy items if needed” 的选项。 image

wonday commented 6 years ago

拖拽 CoreTelephony.framework SystemConfiguration.framework UserNotifications.framework 需要打勾,

添加RCTAliyunPush.xcodeproj不需要打勾。 如果你已经这样做了,暂时不知道是什么原因... 或者你打包一下工程发生来看看

dongyuekai commented 6 years ago

你有运行成功的小demo么 你的这个框架我在安卓上试过了可以的 在苹果上编译报错所以就没法开展下一步

wonday commented 6 years ago

我正式app就是用这个的,android和ios都是可以正常动作的。 这个没办法公开。也没有单多做demo app。 看其他人回答应该也有成功的,真不知道你的是哪里有问题。 或者单独把Xcode的工程配置文件发上来看看

dongyuekai commented 6 years ago

你现有应用里安卓上在app杀死后还可以收到推送么?

wonday commented 6 years ago

@dongyuekai 请参见#3 的讨论, 杀死app后,接收目前还没有成功过。