2017-03-06 2 views
0

나는 1 주일 만에 문제가 생겨도 내 마음을 잃고 있습니다 ... ReactNative 프로젝트가 있습니다.이 프로젝트는 안드로이드 시뮬레이터에서 잘 동작하지만 Xcode에서는 작동하지 않습니다.React-native-onesignal : 포드와 중복 된 오류

사실 내 코드, 내 package.json에 있습니다

Package.json

... 
"react": "15.4.2", 
"react-native": "^0.40.0", 
... 
"react-native-onesignal": "^3.0.3", 
... 

내가 어떤 오류없이 npm install 또는 npm update를 실행할 수 있습니다.

은 또한, 나는 아이폰 OS 폴더에 내 아이폰 OS 프로젝트, 내 Podfile에 있습니다

Podfile

# Uncomment the next line to define a global platform for your project 
# platform :ios, '9.0' 

target 'MyApp' do 
    pod 'OneSignal' 
end 

post_install do |installer| 
    installer.pods_project.targets.each do |target| 
     target.build_configurations.each do |config| 
      config.build_settings['SWIFT_VERSION'] = '3.0' 
     end 
    end 
end 

내가 pod install를 실행하면, 그것은 잘 작동하고 .xcworkspace 파일을 생성합니다. 내가 그것을 열 때, 나는 첫 번째 오류 볼 수 있습니다

Error in finding file

그래서 내가 검색 좀, 그리고 내 문제에 대한 개발자의 추천으로, GitHub의에 반응 - 네이티브 onesignal REPO을 발견 그는 iOS installation steps을 올바르게 따르라고 말합니다. $(SRCROOT)/../node_modules/react-native-onesignal/iosrecursive에서 : 나는이 Header Search Path에 추가하여, 그것을 짓을 지금 Add header properly

이 OneSignal.h가 발견,하지만 난 라이브러리가 중복되는 것을 말해 새로운 오류 얻을 : Error duplicate

Library in General

Library

: 자세한 내용은 여기 내 도서관, 내 파일, 내 빌드 단계입니다 16,

Files in Xcode

Files

Build Phases

Build phases


내가 시도 무엇
  • I h를

      • 메인을 삭제 : AVE는에 노력했다.그것은, 빌드 단계에서 일반 또는 라이브러리에서 모두 도서관에서,
        • 라이브러리의 사본을 삭제, 중복 것으로 보인다 때문에 m는
        • 수동 엑스 코드의 파일 시스템에서 하나 개의 사본,
        • 삭제 삭제 $(inherited) 내 깃발 안에 Other Files Flag의 깃발은 건축한다 : 구조는 성공했다, 그러나 나의 app은 더이상 일하고 있지 않다 ... 나는 다른 깃발, 그러나 결과를 제거하는 것을 시도했다.

      아니 솔루션과 나는 미친 얻고있다.

    답변

    1

    그래서, 나는 내 문제를 해결했다. 사실, 내 package.json은 3.0.2 버전에서 현재^3.0.2 버전에 react-native-onesignal을 설치하고있었습니다. 따라서 3.0.3은 프로세스에서 CocoaPod를 제거 했으므로 실행되지 않았습니다 ... package.json '3.0.2'에 넣었습니다. Cocoapods를 제거하고 3.0.3을 나중에 사용합니다.

    1

    버전 0.40부터 반응 네이티브는 코코아포드와 잘 어울리지 않습니다. 나는 며칠 동안 비슷한 싸움을했는데, 코코아포드를 완전히 떨어 뜨릴 때만 해결되었습니다. 그러나 포기하기 전에 Xcode > File > Project Settings에있는 파생 데이터 폴더도 삭제 해보십시오.