ããã«ã¡ã¯ã
React Native Environment Info:
System OS: macOS High Sierra 10.13.6
Binaries:
Node: 8.11.3 - /usr/local/bin/node
npm: 5.6.0 - /usr/local/bin/npm
IDEs:
Xcode: 10 Beta 3
npmPackages:
react: 16.4.1
react-native: 0.56.0
åçŽãªRN0.56ã¢ããªã±ãŒã·ã§ã³ããã«ãããããšãããšã次ã®ãšã©ãŒãçºçããŸããã
warning: Skipping duplicate build file in Compile Sources build phase: <PATH_TO_PROJECT>/node_modules/react-native/React/Modules/RCTRedBoxExtraDataViewController.m (in target 'React-tvOS')
...
warning: duplicate output file '<HOME>/Library/Developer/Xcode/DerivedData/ReactNativeSimple-dpupkkuvhsslwxgngxzqgwsrazap/Build/Intermediates.noindex/ArchiveIntermediates/ReactNativeSimple/BuildProductsPath/Release-iphoneos/include/React/RCTResizeMode.h' on task: PBXCp <PATH_TO_PROJECT>/node_modules/react-native/Libraries/Image/RCTResizeMode.h <HOME>/Library/Developer/Xcode/DerivedData/ReactNativeSimple-dpupkkuvhsslwxgngxzqgwsrazap/Build/Intermediates.noindex/ArchiveIntermediates/ReactNativeSimple/BuildProductsPath/Release-iphoneos/include/React/RCTResizeMode.h (in target 'React')
...
error: Multiple commands produce '<PbxCp <HOME>/Library/Developer/Xcode/DerivedData/ReactNativeSimple-dpupkkuvhsslwxgngxzqgwsrazap/Build/Intermediates.noindex/ArchiveIntermediates/ReactNativeSimple/BuildProductsPath/Release-iphoneos/include/React/RCTScrollableProtocol.h>':
1) Target 'React-tvOS' has copy command from '<PATH_TO_PROJECT>/node_modules/react-native/React/Views/ScrollView/RCTScrollableProtocol.h' to '<HOME>/Library/Developer/Xcode/DerivedData/ReactNativeSimple-dpupkkuvhsslwxgngxzqgwsrazap/Build/Intermediates.noindex/ArchiveIntermediates/ReactNativeSimple/BuildProductsPath/Release-iphoneos/include/React/RCTScrollableProtocol.h'
2) Target 'React' has copy command from '<PATH_TO_PROJECT>/node_modules/react-native/React/Views/ScrollView/RCTScrollableProtocol.h' to '<HOME>/Library/Developer/Xcode/DerivedData/ReactNativeSimple-dpupkkuvhsslwxgngxzqgwsrazap/Build/Intermediates.noindex/ArchiveIntermediates/ReactNativeSimple/BuildProductsPath/Release-iphoneos/include/React/RCTScrollableProtocol.h'
error: Multiple commands produce '<HOME>/Library/Developer/Xcode/DerivedData/ReactNativeSimple-dpupkkuvhsslwxgngxzqgwsrazap/Build/Intermediates.noindex/ArchiveIntermediates/ReactNativeSimple/BuildProductsPath/Release-iphoneos/include/double-conversion/fast-dtoa.h':
1) Target 'double-conversion-tvOS' has copy command from '<PATH_TO_PROJECT>/node_modules/react-native/third-party/double-conversion-1.1.5/src/fast-dtoa.h' to '<HOME>/Library/Developer/Xcode/DerivedData/ReactNativeSimple-dpupkkuvhsslwxgngxzqgwsrazap/Build/Intermediates.noindex/ArchiveIntermediates/ReactNativeSimple/BuildProductsPath/Release-iphoneos/include/double-conversion/fast-dtoa.h'
2) Target 'double-conversion' has copy command from '<PATH_TO_PROJECT>/node_modules/react-native/third-party/double-conversion-1.1.5/src/fast-dtoa.h' to '<HOME>/Library/Developer/Xcode/DerivedData/ReactNativeSimple-dpupkkuvhsslwxgngxzqgwsrazap/Build/Intermediates.noindex/ArchiveIntermediates/ReactNativeSimple/BuildProductsPath/Release-iphoneos/include/double-conversion/fast-dtoa.h'
...
xcodebuild -project <PATH_TO_PROJECT>/ios/ReactNativeSimple.xcodeproj -scheme ReactNativeSimple archive -sdk iphoneos -archivePath <PATH_TO_PROJECT>/output/build/archive/ReactNativeSimple CODE_SIGN_STYLE=Automatic
ã react-nativeinit ãã³ãã³ãã§äœæããåçŽãªRNã¢ããªã±ãŒã·ã§ã³ã§ãã¹ãããŸããã
Xcode 10 GUIã䜿çšããŠã¢ããªããã«ãããããšãããšãæ£åžžã«ãã«ããããŸãã
ããããxcodebuildã³ãã³ãã䜿çšããŠãã«ãããããšããŸãã-äžèšã®ãšã©ãŒã§å€±æããŸããã
Xcode 9.4.1ã®åãã¢ããªã±ãŒã·ã§ã³ïŒRN 0.56ïŒã§åãã³ãã³ãã䜿çšãããšãæ£åžžã«ãã«ããããŸã
xcodebuildã³ãã³ãã§-sdk
paramãæå®ããªããšãæ£åžžã«ãã«ããããŸãã
泚ïŒ_ãšã©ãŒã¯ãXcode10ããŒã¿ããŒãžã§ã³ããšã«ç°ãªãå ŽåããããŸãã_
RN0.56ã¯Xcode10 BetaããµããŒãããŠããŸããïŒ
ã©ãããã°ä¿®æ£ã§ããŸããïŒ
Xcode 10 Betaã䜿çšããŠãã«ãããããã®åé¿çã¯ãããŸããïŒ
ãã«ãã·ã¹ãã ãã¬ã¬ã·ãŒã«å€æŽããŠã¿ãŠãã ããã
[ãã¡ã€ã«]> [ã¯ãŒã¯ã¹ããŒã¹èšå®]> [ãã«ãã·ã¹ãã ]> [ã¬ã¬ã·ãŒãã«ãã·ã¹ãã ]ã
æ°ãããã«ãã·ã¹ãã ã䜿ãããã
æ°ãããã«ãã·ã¹ãã ããµããŒããããŠããå¿ èŠããããŸãã ãã®ã¿ã¹ã¯ã§ã¯ãXcode 10ãŸãã¯æ°ãããã«ãã·ã¹ãã ã§çºçããåé¡ã远跡ããŠããŸãïŒ https ïŒ
äžèŠãããšããã¹ã¿ãŒã§ãããŸã§ã«ä¿®æ£ããåé¡ã§åé¡ãã«ããŒãããŠããããã«ã¯èŠããŸããã ãªã¹ãã«è¿œå ããŸãã
ãŸãã libReact.a
ãšlibyoga.a
Multiple commands produce
ãšã©ãŒãçºçããŸããã
ç§ã䜿çšããŠãããã®ïŒ
0.57.0
ãããå
æããããã«ããããPodfile
è¿œå ããŸããïŒ
post_install do |installer|
installer.pods_project.targets.each do |target|
# The following is needed to ensure the "archive" step works in XCode.
# It removes React & Yoga from the Pods project, as it is already included in the main project.
# Without this, you'd see errors when you archive like:
# "Multiple commands produce ... libReact.a"
# "Multiple commands produce ... libyoga.a"
targets_to_ignore = %w(React yoga)
if targets_to_ignore.include? target.name
target.remove_from_project
end
end
end
次ã«ãããããããžã§ã¯ãã次ã®ããã«åæ§ç¯ããŸãã
$ pod install
å®å
šãªç°å¢ã®è©³çŽ°ïŒ
React Native Environment Info:
System:
OS: macOS High Sierra 10.13.6
CPU: x64 Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz
Memory: 4.10 GB / 32.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 10.9.0 - ~/.nvm/versions/node/v10.9.0/bin/node
Yarn: 1.9.4 - /usr/local/bin/yarn
npm: 6.4.1 - ~/.nvm/versions/node/v10.9.0/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.0, macOS 10.14, tvOS 12.0, watchOS 5.0
IDEs:
Xcode: 10.0/10A255 - /usr/bin/xcodebuild
npmPackages:
react: 16.5.0 => 16.5.0
react-native: 0.57.0 => 0.57.0
npmGlobalPackages:
create-react-native-app: 1.0.0
react-native-cli: 2.0.1
@PaulMestã®åé¿çãæ©èœããããšã確èªãPods
ãããžã§ã¯ãã®ã¿ãŒã²ããããæåã§åé€ããããšãæ©èœããã¯ãã§ããããã¯ãRN 0.57ããåã«éè€ã¿ãŒã²ãããã«ããšã©ãŒãåŒãèµ·ãããŠããReactã§è¡ã£ãŠããããã§ãã
xcodebuild
ã䜿çšããŠããå Žåã¯ããã®-UseModernBuildSystem=NO
ãè¿œå ããŠãå€ãã¬ã¬ã·ãŒãã«ãã·ã¹ãã ã«ãªããã€ã³ããŸãã
@PaulMestããããšããç§ã¯ç§ã®äžæ¥ãäœããŸãã
ããŸãããã°ãç§ã®ç¶æ³ãçãããåé¡ã解決ããã®ã«åœ¹ç«ã€ããšãé¡ã£ãŠããŸãïŒ
å®å šãªåºåã¯æ¬¡ã®ãšããã§ãã
:-1: Multiple commands produce '/Users/ntomallen/Library/Developer/Xcode/DerivedData/zonder-bkcoqubqbalyhffxhurxhkuivvms/Build/Products/Debug-iphonesimulator/zonder.app/Roboto.ttf':
1) Target 'zonder' (project 'zonder') has copy command from '/Users/ntomallen/source/zonder-mobile-app/node_modules/native-base/Fonts/Roboto.ttf' to '/Users/ntomallen/Library/Developer/Xcode/DerivedData/zonder-bkcoqubqbalyhffxhurxhkuivvms/Build/Products/Debug-iphonesimulator/zonder.app/Roboto.ttf'
2) Target 'zonder' (project 'zonder') has copy command from '/Users/ntomallen/source/zonder-mobile-app/src/Resources/Fonts/Roboto.ttf' to '/Users/ntomallen/Library/Developer/Xcode/DerivedData/zonder-bkcoqubqbalyhffxhurxhkuivvms/Build/Products/Debug-iphonesimulator/zonder.app/Roboto.ttf'
:-1: Multiple commands produce '/Users/ntomallen/Library/Developer/Xcode/DerivedData/zonder-bkcoqubqbalyhffxhurxhkuivvms/Build/Products/Debug-iphonesimulator/zonder.app/Zocial.ttf':
1) Target 'zonder' (project 'zonder') has copy command from '/Users/ntomallen/source/zonder-mobile-app/node_modules/native-base/Fonts/Zocial.ttf' to '/Users/ntomallen/Library/Developer/Xcode/DerivedData/zonder-bkcoqubqbalyhffxhurxhkuivvms/Build/Products/Debug-iphonesimulator/zonder.app/Zocial.ttf'
2) Target 'zonder' (project 'zonder') has copy command from '/Users/ntomallen/source/zonder-mobile-app/node_modules/react-native-vector-icons/Fonts/Zocial.ttf' to '/Users/ntomallen/Library/Developer/Xcode/DerivedData/zonder-bkcoqubqbalyhffxhurxhkuivvms/Build/Products/Debug-iphonesimulator/zonder.app/Zocial.ttf'
:-1: Multiple commands produce '/Users/ntomallen/Library/Developer/Xcode/DerivedData/zonder-bkcoqubqbalyhffxhurxhkuivvms/Build/Products/Debug-iphonesimulator/zonder.app/Ionicons.ttf':
1) Target 'zonder' (project 'zonder') has copy command from '/Users/ntomallen/source/zonder-mobile-app/node_modules/native-base/Fonts/Ionicons.ttf' to '/Users/ntomallen/Library/Developer/Xcode/DerivedData/zonder-bkcoqubqbalyhffxhurxhkuivvms/Build/Products/Debug-iphonesimulator/zonder.app/Ionicons.ttf'
2) Target 'zonder' (project 'zonder') has copy command from '/Users/ntomallen/source/zonder-mobile-app/node_modules/react-native-vector-icons/Fonts/Ionicons.ttf' to '/Users/ntomallen/Library/Developer/Xcode/DerivedData/zonder-bkcoqubqbalyhffxhurxhkuivvms/Build/Products/Debug-iphonesimulator/zonder.app/Ionicons.ttf'
åºæ¬çã«ã react-native-vector-icons
ãšnative-base
äž¡æ¹ãšãåããã©ã³ããã¡ã€ã«ããã³ãã«ããŸãã ïŒãããŠãäœããã®çç±ã§ããã®ãã¡ã®1ã€ããã³ãã«ãããŠããŸããå¿
ãåé€ããŸããïŒXcode 10 / Mojaveã«æŽæ°ããåã¯ãåé¡ã¯ãããŸããã§ããã å¯äžã®å€æŽã¯ãXcode9ããXcode10ã«æŽæ°ããããšã§ããã
@ntomallen react-native-vector-icons
ãšnative-base
éè€ãã©ã³ãã§ãŸã£ããåãåé¡ãçºçããæçµçã«ã¿ãŒã²ããã¢ããªã®Copy Resources To Bundle
ã»ã¯ã·ã§ã³ããéè€ãåé€ããŸããã ãã®åŸãç§ã®ãããžã§ã¯ãã¯åã³æ©èœããŸããïŒãŸããããã§èª¬æãããŠãã2ã€ã®ç°ãªããšã©ãŒã«ç§»åããŸããïŒ libfishhook.aãèŠã€ãããŸãã-ä¿®æ£ããè€æ°ã®ã³ãã³ããlibReact.aãšlibyoga.aã§ãšã©ãŒãçæããŸãã-ä¿®æ£
ãããŸã§ã®ãšãããç§ã®ã¢ããªã¯æ£åžžã«å®è¡ãããŠãããXCode10ã®æ°ãããã«ãã·ã¹ãã ã䜿çšããŠã³ã³ãã€ã«ã§ããŸãã
_å 責äºé ïŒç§ã¯çµéšè±å¯ãªiOSéçºè ã§ã¯ãªãããããã®ãœãªã¥ãŒã·ã§ã³ãäžç·ã«ãããã³ã°ããŸããã ããããªãããšãå°ç¡ãã«ãããã©ããã¯ããããŸããã_
ããã¯ãŸãã«ç§ã«ãšã£ãŠãããŸããã£ãããšã§ãïŒ ãªãä»ã¯çªç¶ãšã©ãŒã«ãªãã®ãã以åã¯ããã§ã¯ãªãã£ãã®ããç§ã¯ãŸã èå³ããããŸãã
2018幎9æ26æ¥ã14:49 -0400ã§ãããŒã«ã¹ã»Bokmans [email protected]ã¯ãæžããŸããïŒ
@ntomallen react-native-vector-iconsãšnative-baseããã®éè€ãã©ã³ãã§ãŸã£ããåãåé¡ãçºçããŸããã
ãããŸã§ã®ãšãããç§ã®ã¢ããªã¯æ£åžžã«å®è¡ãããŠãããXCode10ã®æ°ãããã«ãã·ã¹ãã ã䜿çšããŠã³ã³ãã€ã«ã§ããŸãã
å 責äºé ïŒç§ã¯çµéšè±å¯ãªiOSéçºè ã§ã¯ãªãããããã®ãœãªã¥ãŒã·ã§ã³ãäžç·ã«ãããã³ã°ããŸããã ããããªãããšãå°ç¡ãã«ãããã©ããã¯ããããŸããã
â
ããªããèšåãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGitHubã§è¡šç€ºããããã¹ã¬ããããã¥ãŒãããŠãã ããã
@ntomallenåºæ¬çã«ã¯ãæ°ãããããå³å¯ãªããã«ãã·ã¹ãã ããããXCode 10ã¯ããã©ã«ãã§ããã䜿çšããŸãããXCode 9ã§ã¯ããããŸã§äœ¿çšããŠãããã¬ã¬ã·ãŒããã«ãã·ã¹ãã ã§ã¯ãªããç©æ¥µçã«äœ¿çšããããšãéžæããå¿ èŠããããŸãããä»ãŸã§ã
OKã ããã¯è ¹ç«ãããã§ãã åŸæ¥ã®ãã«ãã·ã¹ãã ã«åãæ¿ããŸããã ä»ãç§ã¯å¥ã®ãšã©ãŒãåãåããŸãã
/Users/michaelstelly/Documents/projects/mobile_gtm/node_modules/react-native/React/../third-party/glog-0.3.4/src/base/mutex.h:105:10: fatal error: 'config.h' file not found
#include "config.h" // to figure out pthreads support
æãããªããšãé€ããŠããããäœãæå³ããã®ãããããŸãã-ãã¡ã€ã«ããããŸããã ããããXcode 10以åã¯ããã«ãã®åé¡ã¯ãŸã£ãããããŸããã§ããã
@mjstellyã¯0.57ã§ããïŒ ãšã©ãŒã¡ãã»ãŒãžã«ã¯glog-0.3.4
èšèŒãããŠããŸããã 0.57ã§ã¯glog-0.3.5
ãŸãã ææ°ãªãªãŒã¹ã®åé¡ã远跡ããŠããããšã確èªãããã ãã§ãã
@PaulMestç§ã®ããŒããŒïŒ ããããšãããããŸããïŒ
ããã«ã¡ã¯@mjstelly
ãµãŒãããŒãã£ãšåæ§ã®åé¡ã«çŽé¢ããŠããŸãã.....
xcode10ã䜿çšããŠããŸã
Xcode 10.1ã¯äž¡æ¹ã®ã·ã¹ãã ã§æ£åžžã«ãã«ããããŠããããã§ãããã©ã¡ããã¢ãŒã«ã€ãã§ãããå€ãã®ãã«ããšã©ãŒãçºçããŸãã ä»äœãããïŒ
ããå ·äœçã«ããå¿ èŠããããŸãã Xcode 10ã¯ãMacOS10.12.6ããã³RN0.57.0ã§ãïŒä»ã¯èŠããŠããªãããã€ãã®ãšã©ãŒã解決ããåŸïŒåé¡ãªããã«ãããã³ã¢ãŒã«ã€ãããŸãã
ç§ã®Podfilepost_installã¯æ¬¡ã®ããã«ãªããŸããïŒ
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == 'react-native-google-maps'
target.build_configurations.each do |config|
config.build_settings['CLANG_ENABLE_MODULES'] = 'No'
end
end
if target.name == "React"
target.remove_from_project
end
if target.name == 'yoga'
target.remove_from_project
target.build_configurations.each do |config|
config.build_settings['GCC_TREAT_WARNINGS_AS_ERRORS'] = 'NO'
config.build_settings['GCC_WARN_64_TO_32_BIT_CONVERSION'] = 'NO'
end
end
end
end
@PaulMestããã®ææ¡ã«åŸã£ãŠç§ã®ããã«åããã
@njbmartinããããšãïŒ
ããªãã®ä¿®æ£ã ããç§ã®ããã«åãã
-UseModernBuildSystem = NO
ããã¯ç§ã«ãšã£ãŠã¯ããŸããããŸãã ç·ãããèŠã€ããã®ã«æéãããããããã ããããšãã
åŸæ¥ã®ãã«ãã·ã¹ãã ã«åãæ¿ãããšãå€ãã®ãã«ããšã©ãŒãä¿®æ£ãããŸãããå°æ¥çã«ã¯ææ°ã®ã·ã¹ãã ã䜿çšã§ããããã«ããå¿ èŠããããŸãïŒp
ãŸãããç¥ãã®çæ§ãããããšãããããŸããïŒ
ã¯ãããã¡ããæ°ããããŒãžã§ã³ã¯çŽ æŽãããã§ãããããã»ã©ã¹ã ãŒãºã§ã¯ãããŸããã
ãªã¹ã¯ã䌎ãã¢ããã°ã¬ãŒãã
@PaulMestããããšãããããŸãã ããªãã®ããã¯ã¯ããŸããããŸã:)
@PaulMestã®åé¿çãæ©èœããããšã確èªã
Pods
ãããžã§ã¯ãã®ã¿ãŒã²ããããæåã§åé€ããããšãæ©èœããã¯ãã§ããããã¯ãRN 0.57ããåã«éè€ã¿ãŒã²ãããã«ããšã©ãŒãåŒãèµ·ãããŠããReactã§è¡ã£ãŠããããã§ãã
ãããæ£ç¢ºã«@fungilationããæ¹æ³ã¯ïŒ
ããã¯ãïŒ19573ã«æ®ã£ãŠããå¯äžã®æ¢ç¥ã®ãããã«ãŒã§ãã 人ã ã¯ãŸã 0.57.8ã§ãã®åé¡ã«ééããŠããŸããïŒ
0.57.8以éãXcodeã§äžè¬çã«åé¡ã¯ãããŸãã
@hramosæ®å¿µãªããããã§ã¯ãããŸããã ç§ã«ãšã£ãŠãXcodeã®ã¬ã¬ã·ãŒãã«ããªãã·ã§ã³ã¯ã0.57.8ããã³æ°ãã0.58.0-rc.3ã§ãå¿ èŠã§ãïŒç·šéïŒ0.58.3ã§ãïŒã
ãããåçŸå¯èœã«ããããã«ãæ°ãããããžã§ã¯ããäœæããããŒã«ã«ã§travisCIã䜿çšããŠãã¹ãããŸãã 以äžã®å ã®ãããžã§ã¯ãïŒãã ããreact-native initã§äœæãããã°ããïŒãšãtravisã§ã®æåãããã«ããšå£ãããã«ãããªã³ã¯ããŸããã å€åããã¯åœ¹ç«ã¡ãŸããïŒ å°ãªããšããæ°ããããŒãžã§ã³ãå©çšå¯èœã«ãªã£ããšãã«ããã®å®éšãåå®è¡ããããšãã§ããŸããã
ãããã Xcode 10ã§ã¯ããã«ãã¯å€±æããŸãã
travis.ymldiffã衚瀺ããPR
ãè€æ°ã®ã³ãã³ããçæããããšã©ãŒã§ãã«ããã
Xcode 10ãã¬ã¬ã·ãŒãã«ãã·ã¹ãã ã§äœ¿çšãã
travis.ymldiffã衚瀺ããPR
æåããtravisãã«ã
@hramos yarn ios
ã§ã¯ãªãããããã¯ã¹ã䜿çšããŠãã«ããå®è¡ãããšãããã«ééããŸãã iOSã·ãã¥ã¬ãŒã¿ãŒã®æ§æã¯æ¬¡ã®ãšããã§ãã
{
"configurations": {
"ios.sim.debug": {
"binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/reactipay.app",
"build": "xcodebuild -project ios/reactipay.xcodeproj -scheme reactipay -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build",
"type": "ios.simulator",
"name": "iPhone 6"
},
"android.emu.debug": {
"binaryPath": "android/app/build/outputs/apk/debug/app-debug.apk",
"build": "cd android && ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug && cd ..",
"type": "android.emulator",
"name": "emulator-5554"
}
},
"test-runner": "jest"
}
å
·äœçã«ã¯ã xcodebuild -project ios/reactipay.xcodeproj -scheme reactipay -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build
ãå®è¡ãããšãå
ã®ãšã©ãŒã§å€±æããŸãã
ãŸãã
libReact.a
ãšlibyoga.a
Multiple commands produce
ãšã©ãŒãçºçããŸããã
ç§ã䜿çšããŠãããã®ïŒ
- Xcode 10
- åå¿ãã€ãã£ã
0.57.0
- CocoaPods
ãããå æããããã«ãããã
Podfile
è¿œå ããŸããïŒpost_install do |installer| installer.pods_project.targets.each do |target| # The following is needed to ensure the "archive" step works in XCode. # It removes React & Yoga from the Pods project, as it is already included in the main project. # Without this, you'd see errors when you archive like: # "Multiple commands produce ... libReact.a" # "Multiple commands produce ... libyoga.a" targets_to_ignore = %w(React yoga) if targets_to_ignore.include? target.name target.remove_from_project end end end
次ã«ãããããããžã§ã¯ãã次ã®ããã«åæ§ç¯ããŸãã
$ pod install
å®å šãªç°å¢ã®è©³çŽ°ïŒ
thnxç·ïŒ
äžè²«æ§ããªãããã«èŠããã®ã§ãç§ã¯ãã®ãšã©ãŒãšéåžžã«æ··ä¹±ããŸããã ãã«ãã³ãã³ãã10åå®è¡ãããšãæçµçã«ã¯æ©èœãå§ããå¯èœæ§ããããŸã
ããã¯mue2eã¹ã¯ãªããã®å€èŠ³ã§ã
detox build -c ios.sim.releas ||
detox build -c ios.sim.release ||
detox build -c ios.sim.release ||
detox build -c ios.sim.release ||
detox build -c ios.sim.release ||
detox build -c ios.sim.release ||
detox build -c ios.sim.release ||
detox build -c ios.sim.release ||
detox build -c ios.sim.release ||
detox build -c ios.sim.release ||
detox build -c ios.sim.release ||
detox build -c ios.sim.release ||
detox build -c ios.sim.release ||
detox build -c ios.sim.release ||
detox build -c ios.sim.release ||
detox build -c ios.sim.release ||
detox build -c ios.sim.release ||
detox build -c ios.sim.release ||
detox build -c ios.sim.release ||
detox build -c ios.sim.release ||
detox build -c ios.sim.release ||
detox build -c ios.sim.release ||
detox build -c ios.sim.release
ãããã¯ã¹ãã«ãã¯ã©ãã«ãããŸãã
xcodebuild -project ios/deliverypoc.xcodeproj -scheme deliverypoc -configuration Release -sdk iphonesimulator -derivedDataPath ios/build
ã¬ã¬ã·ãŒãã«ãã·ã¹ãã ã¯reactãã«ãã§ãã³ã°ãããã䜿çšã§ããŸããããŸããCocoaãããã䜿çšããŠããŸããã
ä»ã«ã©ã®ãããªè§£æ±ºçããããŸããïŒ
iOSãCocoaã«ç§»è¡ããŸããïŒ ããããããã圱é¿ã¯äœã§ããïŒ
@ pavlof01ããŒãžã§ã³0.57.8以éã§ããããŸã çºçããŠãããšããã¬ããŒããç¹ã«æ¢ããŠããŸãã
@hramosããã¯Xcode10.1ã®0.57.8ãš0.58.3ã«ãŸã ãããŸãã ã¬ã¬ã·ãŒãã«ãã·ã¹ãã ã䜿çšããŠå®è¡ããããšã¯ããŠããŸããïŒããã¯ä»ã®ãšããå
¬åŒã®ä¿®æ£ã§ããïŒïŒ-代ããã«ã name == "React"
ãŸãã¯name == "yoga"
ãšãã«Podfileãtarget.remove_from_project
ã«äœ¿çšããŠããŸãname == "yoga"
ã @jerolimovãäžèšã®ããã«ã
ããã¯ç§ãã¡ã«ãšã£ãŠããããã³ã°ã®åé¡ã§ã¯ãããŸããããç§ããã£ã€ã ã鳎ããããšããŠãïŒ ãã£ãšåœ¹ç«ã€æ å ±ãæäŸã§ããã°Lmkã
RN 0.57.8ã§åé¡ããªããªã£ããšèšã£ããšãã¯ãPodfileã§ããã®åé¿çã䜿çšããŠããããšã«æ³šæããŠãã ããã
post_install do |installer|
installer.pods_project.targets.each do |target|
targets_to_ignore = %w(React yoga)
if targets_to_ignore.include? target.name
target.remove_from_project
end
end
end
ãããå¿ããð
@hramos 0.57.8ã䜿çšããŠããŸãïŒåããšã©ãŒïŒ-è¿œå æ å ±ãå¿ èŠãªå Žåã¯ãç¥ãããã ããã
ç§ããããã¯ã¹ã§ããã«ééããŸããã SDKã®ä»£ããã«xcodebuildã§å®å
ãæå®ããããšã§ä¿®æ£ããŸããïŒ -destination 'platform=iOS Simulator,name=iPhone 7'
ã¢ãŒã«ã€ãã¹ãããäžã«0.58.3ã§çºçããããšã確èªã§ããŸãã remove_from_project
åé¿çãããããã¡ã€ã«ã«è¿œå ãããšãåé¡ã解決ããŸãã react-native info
åºåïŒ
$ $(npm bin)/react-native info
React Native Environment Info:
System:
OS: macOS 10.14
CPU: (4) x64 Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz
Memory: 1.13 GB / 8.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 11.0.0 - /usr/local/bin/node
Yarn: 1.10.1 - /usr/local/bin/yarn
npm: 6.4.1 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.1, macOS 10.14, tvOS 12.1, watchOS 5.1
Android SDK:
API Levels: 19, 21, 22, 23, 24, 25, 26, 27, 28
Build Tools: 23.0.1, 25.0.0, 25.0.2, 26.0.1, 26.0.3, 27.0.3, 28.0.1, 28.0.2, 28.0.3
System Images: android-19 | Google APIs Intel x86 Atom, android-21 | Google APIs Intel x86 Atom_64, android-22 | Google APIs Intel x86 Atom_64, android-23 | Google APIs Intel x86 Atom_64, android-24 | Google APIs Intel x86 Atom_64, android-24 | Google Play Intel x86 Atom, android-25 | Google APIs Intel x86 Atom, android-25 | Google APIs Intel x86 Atom_64, android-25 | Google Play Intel x86 Atom, android-26 | Google APIs Intel x86 Atom_64, android-27 | Google APIs Intel x86 Atom, android-27 | Google Play Intel x86 Atom, android-28 | Google APIs Intel x86 Atom_64, android-28 | Google Play Intel x86 Atom_64
IDEs:
Android Studio: 3.2 AI-181.5540.7.32.5056338
Xcode: 10.1/10B61 - /usr/bin/xcodebuild
npmGlobalPackages:
react-native-cli: 2.0.1
ããããšã@aaronjensenã¯ããã§äœæéãèŠåŽããŸãã...
ç§ã¯58幎以æ¥ãåé¡ãªãæ°ãããã«ãã·ã¹ãã ã䜿çšããŠããŸãã
äžèšã®ãããªMultiple commands produce *
åé¡ããããŸããããããã¯ãããã«åãæ¿ããåã®æ®ãç©ïŒãªã³ã¯ïŒãåå ã§ããã çŸåšãããã䜿çšããŠããå Žåã¯ãXcodeãããžã§ã¯ãïŒçæãããã¯ãŒã¯ã¹ããŒã¹ã§ã¯ãªãïŒãããã¹ãŠã®React Nativeé¢é£ã®Linked Frameworks and Libraries
ãåé€ããŠãã ããã
ã¯ãªãŒã³ã¢ããããŠãããçµç±ã§RNã䜿çšããããã«åãæ¿ãããšã次ã®ããã«ãªããŸãã
ãããŠãããã¯å¥œãã§ã¯ãããŸããïŒ
å€ããã«ãã·ã¹ãã ã¯ããªã³ã¯ãšããããäžç·ã«äœ¿çšããŠRNã䜿çšããããšããããšã«ãããããã®éè€ãç¡èŠããŠããããšã«æ³šæããŠãã ããã æ°ãããã«ãã·ã¹ãã ã¯ããã§ã¯ãããŸããã ã ããããªãã¯ãã°ããã®éããããæã£ãŠãããããããŸããã
xcodebuild
ã䜿çšããŠãã«ãããŠããå Žåãããšãã°Detoxã®å Žåã¯ããã«ãã³ãã³ãã«@aaronjensenã®ææ¡ãäžããé©çšããŠãã ããã
@salakarç§ã¯åé¡ãªãåãããšãããŠããŸãã 泚æãã¹ãç¹ã®1ã€ã¯ãããããªãã§ãµãŒãããŒãã£ã®Librayãæåã§ãªã³ã¯ããå ŽåãReactNativeãèŠã€ããã®ã«åé¡ãçºçããå¯èœæ§ãããããšã§ãã åºæ¬çã«ããã¹ãŠããããã«åãæ¿ããŠã¿ãŠãã ããã
@Salakarã®ã³ã¡ã³ãã«åŸã£ãŠ
@cpojer IMHO react-native init
ã䜿çšããŠåçŽãªãããžã§ã¯ããäœæããåŸããœãªã¥ãŒã·ã§ã³ã«æåã®æé ãå¿
èŠãªå Žåãããã¯è§£æ±ºãããŸããã ããã¯ãæ°ãããŠãŒã¶ãŒãæåŸ
ãããã®ã§ã¯ãããŸããã ããã©ã«ãã¯ãXcodeãå€æŽããã«CocoaPodsãªãã§æ©èœããã¯ãã§ãã ïŒCocoaPodsã¯çŽ æŽããããRNã§æ£åžžã«åäœããŸããðïŒ
åã«èª¬æããããã«ã react-native init
ã䜿çšããŠãµã³ãã«ã¢ããªãäœæãããããTravisCIã§å®è¡ããŸããã ããã¯ããã«ããXcode9ããã³Xcode10ãšã¬ã¬ã·ãŒãã«ãã·ã¹ãã ã§æ£åžžã«æ©èœããããšããã瀺ããŠããŸãã ãŸããXcode10ã®æ°ãããã«ãã·ã¹ãã ã§ã¯æ©èœããŸããã
ããGitHubã§ãã«ãå±¥æŽã確èªã§ããŸãããã¹ã¿ãŒã¯ãã§ã«0.59.0-rc.1ã§ããããŸã åãåé¡ããããŸãã
ããŸããŸãªãã©ã³ãã®ãã«ãå±¥æŽã¯ã Travis CI ïŒãã¹ã¿ãŒã¯Xcode 9ã§ãXcode 10ã«ã¯2ã€ã®ãã©ã³ãããããŸãïŒããã³GitHubãã«ãªã¯ãšã¹ããšããŠå©çšã§ããŸãã
èšãããããã«ã ç§èŠã§ã¯ã ð
@jerolimovãã«ãã¯å®å ãæå®ããŠããŸãããããã¯ãtvOSãšiOSã®äž¡æ¹ã®ã¢ãŒãã£ãã¡ã¯ãããã«ãããããšãããããå¿ é ã®ããã§ããããã«ãããåé¡ãçºçããŸãã
æ確ã§ã¯ãªãã®ã¯ãRNãå®è¡ã§ããããšããããããã«ãã£ãŠæ°ãããã«ãã·ã¹ãã ãæé»çã«å¿ èŠãªãã®ãèªèã§ããã®ãããããšãå®éã«ã¯xcodeã®ãã°ã§ããã®ãïŒãã®å Žåãããã¯åé¡ã®ééã£ããªããžããªã§ãïŒã§ãã ã
@Salakarã®ã³ã¡ã³ããèãããš
ãããã®äœ¿çšãéå§ããããã«åãæ¿ãããšãã«ããªã³ã¯ããããã¬ãŒã ã¯ãŒã¯ãšã©ã€ãã©ãªãæ£ããã¯ãªãŒã³ã¢ããããªãã£ãããã§ãã 誰ãããããã®ãªã³ã¯ãåé€ããããã®æ£ããããã»ã¹ã«ã€ããŠã®è©³çŽ°ãæäŸã§ããŸããïŒ
Xcodeã§ãReact Nativeãåç §ãããã¹ãŠã®ãã®ïŒéåžžã¯ãµã€ãããŒã®ãã¬ãŒã ã¯ãŒã¯ãŸãã¯ã©ã€ãã©ãªã®äžïŒãå³ã¯ãªãã¯ãããåç §ã®åé€ããéžæããŸãã ããã»ã¹ã®æåŸã«ããªã³ã¯ãããã©ã€ãã©ãªãšãã¬ãŒã ã¯ãŒã¯ã®ã»ã¯ã·ã§ã³ã«ReactNativeãžã®åç §ããªãããšã確èªããŠãã ããã ãããè¡ããšããReactNativeã«äŸåããä»ã®ãµãŒãããŒãã£ã©ã€ãã©ãªãããããä»ããŠãªã³ã¯ããå¿ èŠãããããšã«æ³šæããŠãã ããã ïŒäž»èŠãªãã®ã®ã»ãšãã©ã¯ããããµããŒãããŠããŸããããã¯çŽ æŽãããã§ããïŒ
ç§ããããã¯ã¹ã§ããã«ééããŸããã SDKã®ä»£ããã«xcodebuildã§å®å ãæå®ããããšã§ä¿®æ£ããŸããïŒ
-destination 'platform=iOS Simulator,name=iPhone 7'
@aaronjensenãµã³ãã«ãšããŠå®å šãªã³ãŒããæäŸããŠããã ããŸããïŒ
"xcodebuild -project ios/AppName.xcodeproj -scheme AppName -configuration Debug -derivedDataPath ios/build -destination 'platform=iOS Simulator, name=iPhone 7'"
ïŒ
確ãã«ãããªããæã£ãŠãããã®ã¯ç§ãã¡ã䜿ã£ãŠãããã®ãšã»ãšãã©åãããã«èŠããŸãã
xcodebuild -project ios/AppName.xcodeproj -scheme AppName -configuration Debug -destination 'platform=iOS Simulator,name=iPhone 7' -derivedDataPath ios/build
ãŸãã
libReact.a
ãšlibyoga.a
Multiple commands produce
ãšã©ãŒãçºçããŸããã
ç§ã䜿çšããŠãããã®ïŒ
- Xcode 10
- åå¿ãã€ãã£ã
0.57.0
- CocoaPods
ãããå æããããã«ãããã
Podfile
è¿œå ããŸããïŒpost_install do |installer| installer.pods_project.targets.each do |target| # The following is needed to ensure the "archive" step works in XCode. # It removes React & Yoga from the Pods project, as it is already included in the main project. # Without this, you'd see errors when you archive like: # "Multiple commands produce ... libReact.a" # "Multiple commands produce ... libyoga.a" targets_to_ignore = %w(React yoga) if targets_to_ignore.include? target.name target.remove_from_project end end end
次ã«ãããããããžã§ã¯ãã次ã®ããã«åæ§ç¯ããŸãã
$ pod install
å®å šãªç°å¢ã®è©³çŽ°ïŒ
React Native Environment Info: System: OS: macOS High Sierra 10.13.6 CPU: x64 Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz Memory: 4.10 GB / 32.00 GB Shell: 3.2.57 - /bin/bash Binaries: Node: 10.9.0 - ~/.nvm/versions/node/v10.9.0/bin/node Yarn: 1.9.4 - /usr/local/bin/yarn npm: 6.4.1 - ~/.nvm/versions/node/v10.9.0/bin/npm Watchman: 4.9.0 - /usr/local/bin/watchman SDKs: iOS SDK: Platforms: iOS 12.0, macOS 10.14, tvOS 12.0, watchOS 5.0 IDEs: Xcode: 10.0/10A255 - /usr/bin/xcodebuild npmPackages: react: 16.5.0 => 16.5.0 react-native: 0.57.0 => 0.57.0 npmGlobalPackages: create-react-native-app: 1.0.0 react-native-cli: 2.0.1
ãããä»äº
rm -rf Pods; pod install
ã¯ç§ã®ããã«åãã
@SalakarXcodeãããžã§ã¯ãã®Linked Frameworks and Libraries
ãããã¹ãŠã®RCT *ã©ã€ãã©ãªãåé€ãããšãiOSã§æ£åžžã«ãã«ããããŸããã Native module cannot be null
ãšã©ãŒãçºçããŸãã ãããŠã libReact.a
ãšä»ã®libRCT*.a
ã©ã€ãã©ãªãè¿œå ããåŸã§ã®ã¿ããã«ããæ©èœããŸãã Pods
ã䜿çšããŠä»ã®äŸåé¢ä¿ã管çããŠããŸãã
以äžã¯ãPodfileã®å€èŠ³ã§ãã
`` `source ' https://github.com/CocoaPods/Specs.git '
ãã©ãããã©ãŒã ïŒiosãã9.0ã
çŠæ¢_all_warningsïŒ
ãã©ã°ã€ã³ 'cocoapods-fix-react-native'
ã¿ãŒã²ãããRNMobileã
ïŒSwiftã䜿çšããŠããå ŽåããŸãã¯åçãã¬ãŒã ã¯ãŒã¯ã䜿çšãããå Žåã¯ã次ã®è¡ã®ã³ã¡ã³ãã解é€ããŸã
ïŒuse_frameworksïŒ
ïŒRNMobileã®åºæ¬ããã
pod'React 'ãïŒpath =>' ../ node_modules / react-native 'ãïŒsubspecs => [
'è¯'ã
'CxxBridge'ã
ãDevSupportãã
ïŒæ¬¡ã®ãã®ã¯ãXcodeã®ãã©ã€ãã©ãªãããååŸãããã®ã§ãã
ãRCTAnimationãã
'RCTActionSheet'ã
ãRCTBlobãã
ãRCTGeolocationãã
'RCTImage'ã
ãRCTLinkingIOSãã
ãRCTNetworkãã
'RCTSettings'ã
'RCTText'ã
ãRCTVibrationãã
ãRCTWebSocketã
]
ïŒä»¥äžã®äŸåé¢ä¿ã¯ãReactNativeèªäœã®äŸåé¢ä¿ã§ãã
pod'yoga 'ãïŒpath =>' ../ node_modules / react-native / ReactCommon / yoga / Yoga.podspec '
pod'DoubleConversion 'ãïŒpodspec =>' ../ node_modules / react-native / third-party-podspecs / DoubleConversion.podspec '
pod'Folly 'ãïŒpodspec =>' ../ node_modules / react-native / third-party-podspecs / Folly.podspec '
pod'glog 'ãïŒpodspec =>' ../ node_modules / react-native / third-party-podspecs / GLog.podspec '
ïŒWahedMobileçšã®è¿œå ããã
ããã 'AppCenter / Crashes'ã 'ã> 1.13.0'
ããã 'AppCenter / Analytics'ã 'ã> 1.13.0'
ããã 'AppCenterReactNativeShared'ã 'ã> 1.12.0'
ããã 'RNVectorIcons'ãïŒpath => '../ node_modules / react-native-vector-icons'
pod'lottie-react-native 'ãïŒpath =>' ../ node_modules / lottie-react-native '
pod'lottie-ios 'ãïŒpath =>' ../ node_modules / lottie-ios '
ããã 'RNAWSCognito'ãïŒpath => '../ node_modules / amazon-cognito-identity-js'
ããã 'TouchID'ãïŒpath => '../ node_modules / react-native-touch-id'
ããã 'BVLinearGradient'ãïŒpath => '../ node_modules / react-native-linear-gradient'
ããã 'RNGestureHandler'ãïŒpath => '../ node_modules / react-native-gesture-handler'
ããã 'RNSVG'ãïŒpath => '../ node_modules / react-native-svg'
pod'react-native-camera 'ãïŒpath =>' ../ node_modules / react-native-camera '
ããã 'CodePush'ãïŒpath => '../ node_modules / react-native-code-push'
ããã 'RNAnalytics'ãïŒpath => '../ node_modules / @ segment / analytics-react-native'
ïŒFirebase Libs
ããã 'Firebase / Core'ã 'ã> 5.15.0'
ããã 'Firebase / Messaging'ã 'ã> 5.15.0'
ïŒOnfido Libs
ããã 'Onfido'ã'10 .3.0 'ãïŒconfigurations => [' Debug ']
pod'Onfido-Release 'ã'10 .3.0'ãïŒconfigurations => ['Release']
ããã 'RNKeychain'ãïŒpath => '../ node_modules / react-native-keychain'
çµãã
`` `
ãŸãã Linked Frameworks and Libraries
ã©ã€ãã©ãªãè¿œå ãããšãAppCenterã§éè€ã·ã³ãã«ãšã©ãŒãçºçããŸãã
59ã«ã¢ããã°ã¬ãŒãããŠããããæã£ãŠããreactNativeãŠãŒã¶ãŒã®ãªãã¡ã¬ã³ã¹ïŒ
äžèšã®@anandwahedã®ãœãªã¥ãŒã·ã§ã³ã«å ããŠã1-XCodeã§ãããžã§ã¯ããåæãã2- tvOSãå«ãŸããŠãããã¹ãŠã®ã¿ãŒã²ãããæåã§åé€ããããšã«ãªããŸããã
ç§ã®Podfilepost_installã¯æ¬¡ã®ããã«ãªããŸããïŒ
post_install do |installer| installer.pods_project.targets.each do |target| if target.name == 'react-native-google-maps' target.build_configurations.each do |config| config.build_settings['CLANG_ENABLE_MODULES'] = 'No' end end if target.name == "React" target.remove_from_project end if target.name == 'yoga' target.remove_from_project target.build_configurations.each do |config| config.build_settings['GCC_TREAT_WARNINGS_AS_ERRORS'] = 'NO' config.build_settings['GCC_WARN_64_TO_32_BIT_CONVERSION'] = 'NO' end end end end
@PaulMestããã®ææ¡ã«åŸã£ãŠç§ã®ããã«åããã
ããªãã®è§£æ±ºçã¯ç§ã®ããã«åãããæŠè»ã
https://github.com/facebook/react-native/issues/20492#issuecomment -464343895
ãããšã¡ããããã±ãŒãžã£ãŒã®å€ãã€ã³ã¹ã¿ã³ã¹ã殺ãããšã¯ç§ãå©ããŸããã
ç§ã¯ãã®åé¡ãæ±ããŠãããã³ã³ã¢ãããã䜿çšããŠããŸããã ç§ã¯react-native-navigationã䜿çšããŠãããããã³ã³ã¢ãããã䜿çšã§ããŸããã
@MakhouTã¯react-native-navigationã䜿çšããŠããcocoapodsã®äœ¿çšãå¶éããŸãã
@AngefloMusic React-native-navigationã¯ããã䜿çšããŠããããã»ããã¢ããã®ããã«ããã€ãã®ãã€ãã£ãiOSãã¡ã€ã«ãå€æŽããå¿ èŠããããŸãã cocoapodsã䜿çšããå Žåããããã®äŸåé¢ä¿ãã€ã³ã¹ããŒã«ãããšãã«ããããäºãã«ç«¶åãããšæ³å®ããŠããŸãã ããããç§ã¯ããŸãã³ã³ã¢ããããæã£ãŠããªãã®ã§ããããŸããã ã§ããããç§ãééã£ãŠããå Žåã¯èšæ£ããŠãã ããã
@MakhouTãããã¯ç«¶åããŸããã å®éã react-native-navigation
ãªããžããªãèŠããšãpodspecãã¡ã€ã«ãããããšãããããŸãã çŸåšããããžã§ã¯ãã§ã³ã³ã¢ããããšãšãã«RNNã䜿çšããŠããŸãã
ç³ãèš³ãããŸãããããããå床éãå¿ èŠããããŸãããæãæšå¥šããã解決çïŒä»¥äžã®Podfileãåç §ïŒã䜿çšãããšãã¢ãŒã«ã€ããäœæããããšãããšãã«ãã®åä»ãªãšã©ãŒãçºçããŸãã
ããã¯ç§ã®ããããã¡ã€ã«ã§ã
# Uncomment the next line to define a global platform for your project
platform :ios, '10.1'
target 'TVTips' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
#use_frameworks!
# Pods for TVTips
pod 'Firebase/Core', '~> 5.20.1'
pod 'Firebase/Analytics', '~> 5.20.1'
pod 'Firebase/Auth'
pod 'GoogleSignIn', '~> 4.4.0'
pod 'TwitterKit', '~> 3.3.0'
pod 'React', :path => '../node_modules/react-native', :modular_headers => true
pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga'
pod 'react-native-twitter-signin', :path => '../node_modules/react-native-twitter-signin'
target 'TVTips-tvOSTests' do
inherit! :search_paths
# Pods for testing
pod 'YouTubeSdk', :path => '../node_modules/react-native-youtube-sdk'
pod 'ReactNativeLocalization', :path => '../node_modules/react-native-localization'
pod 'RNShare', :path => '../node_modules/react-native-share'
end
target 'TVTipsTests' do
inherit! :search_paths
# Pods for testing
end
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == "React"
target.remove_from_project
end
targets_to_ignore = %w(React yoga)
if targets_to_ignore.include? target.name
target.remove_from_project
end
end
end
end
ç§ã¯Reactãã©ã€ãã©ãªä»ãã®ãªã³ã¯ãã€ããªãšãªã³ã¯ããããã¬ãŒã ã¯ãŒã¯ãšã©ã€ãã©ãªã®äž¡æ¹ã«ã€ã³ããŒãããŸããã
å©ã㊠ïŒïŒ
ç§ã«ãšã£ãŠã¯ãå éšã®éè€ãããªãœãŒã¹ãåé€ããäœæ¥ã§ã
ãã«ããã§ãŒãº
以äžã®äŸãšããŠãFontsã¯ãšã©ãŒãèµ·ãããŠããŸãã
ããã¯ãRNããããã«ç§»åãã人ãRN> 0.60.xã䜿çšããŠãã人ã«ãšã£ãŠã¯è§£æ±ºãããåé¡ã§ããããŸã æºåãã§ããŠããªããã移è¡ããå Žåã¯ããããäžæçãªè§£æ±ºçã§ãïŒåºæ¬çã«ãReact Nativepbxprojãã¡ã€ã«ããtvOSconfigãåé€ããŸãããããã¯è€æ°ã®ã¿ãŒã²ãããåŒãèµ·ãããŠããããã§ãïŒã
ã€ã³ã¹ããŒã«åŸã®ã¹ã¯ãªããã§äœ¿çšããŸã
const xcode = require('xcode');
const fs = require('fs');
const path = require('path');
const reactNativeProjectPath = path.resolve(__dirname, '../node_modules/react-native/React/React.xcodeproj/project.pbxproj');
const myProj = xcode.project(reactNativeProjectPath);
myProj.parse(err => {
if (err) {
throw err;
}
const nativeTargets = myProj.hash.project.objects.PBXNativeTarget;
Object.keys(nativeTargets).forEach(nativeTargetKey => {
const target = nativeTargets[nativeTargetKey];
if (target.name && target.name.indexOf('-tvOS') !== -1) {
console.log(`Removing ${target.name}:${nativeTargetKey} in React pbxproj`);
delete nativeTargets[nativeTargetKey];
}
});
fs.writeFileSync(reactNativeProjectPath, myProj.writeSync());
console.log(`All mentioned of tvOS removed in React pbxproj`);
});
Fastlaneã䜿çšããŠããŠãã®åé¡ã«çŽé¢ããŠããå Žåã¯ã rm -rf ios/Pods && pod install
ãå®è¡ããŸãã
ç§ã«ãšã£ãŠã¯ãå éšã®éè€ãããªãœãŒã¹ãåé€ããäœæ¥ã§ã
ãã«ããã§ãŒãº
以äžã®äŸãšããŠãFontsã¯ãšã©ãŒãèµ·ãããŠããŸãã
@aerdaã®åçã«å ããŠãreact-native-vector-iconsã§äœ¿çšãããŠãããã¹ãŠã®ãã©ã³ãïŒ.tffãã¡ã€ã«ïŒã[ãã«ããã§ãŒãº]> [ãã³ãã«ãªãœãŒã¹ã®ã³ããŒ]ããåé€ãããããžã§ã¯ãããã«ãããŠããŸãã
ç§ã®å Žåããã®ãšã©ãŒã¯XCode 11ãžã®æŽæ°ã«é¢é£ããŠãããšæããŸããããã®æåŸã®éšåã«ã€ããŠã¯è¯å®çã§ã¯ãããŸããã
ä»æ¥å®å®ããXcode11ïŒMac 10.14.6ïŒã«ã¢ããã°ã¬ãŒãããåŸã§ã®ã¿ããã©ã³ããéè€ããŠããããšã確èªããŸãã Xcodeã®ãã«ããã§ãŒãºã®[CP] Copy Pods Resources
ã»ã¯ã·ã§ã³ã®äžã«ãããã©ã³ããåé€ãããšããã«ããåã³æ©èœããŸãã
æ°ãããã«ãã·ã¹ãã ã䜿çšããŠããŸããã RN0.60.5ã§ã
@fungilationã¯ç§ãšåãã§ãïŒXcode 11-ä»æ¥ã¢ããã°ã¬ãŒããããæ°ãããã«ãã·ã¹ãã ãšRN0.60.5ïŒã Copy Bundle Resources
äžã«ãããã¹ãŠã®ãã©ã³ããåé€ããå¿
èŠããããæ©èœããŸãã
ãããã次åpod install
ã³ãã³ããå®è¡ãããšããã®ãšã³ããªãåã³è¡šç€ºãããŸãðïž
ããã§ã¯0.61.0-rc.3ãšxcode11 11A420a mojave10.14.6ã§åãã§ã
ç§ã¯react-native-vector-iconstffãåé€ããã ãã§ãæ©èœããŸãã ãã¹ãŠã®tffãåé€ããå¿ èŠã¯ãããŸãã
以åã®ããããåé€ããããããã€ã³ã¹ããŒã«ããŠãããæŽæ°ããããå®è¡ããŸãã
ããã¯ç§ãããããã¡ã€ã«ã«è¿œå ãããã®ã§ãïŒ
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == "React"
target.remove_from_project
end
if target.name == "yoga"
target.remove_from_project
end
end
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['DEBUG_INFORMATION_FORMAT'] = 'dwarf'
end
end
end
ããã¯ç§ãããããã¡ã€ã«ã«è¿œå ãããã®ã§ãïŒ
post_install do |installer| installer.pods_project.targets.each do |target| if target.name == "React" target.remove_from_project end if target.name == "yoga" target.remove_from_project end end installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['DEBUG_INFORMATION_FORMAT'] = 'dwarf' end end end
ãã®ã³ãã³ããïŒfastlaneã䜿çšããŠïŒè©ŠããŸããããããã§ããšã©ãŒã解決ããŸããã ð¢
error: Multiple commands produce '.../UninstalledProducts/iphoneos/libRNGestureHandler.a':
ã€ã³ã¹ããŒã«ããä»ã®4ã€ã®ã©ã€ãã©ãªã§ãåæ§ã®ãšã©ãŒãçºçããŸã-
RNKeyChainãRNAsyncStorageãRNDeviceInfoããã³BVLinearGradient
ãããç§ã®ç°å¢ã§ã-
System:
OS: macOS 10.15.1
CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
Memory: 1.54 GB / 16.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 12.10.0 - /usr/local/bin/node
Yarn: 1.17.3 - /usr/local/bin/yarn
npm: 6.11.3 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 13.2, DriverKit 19.0, macOS 10.15, tvOS 13.2, watchOS 6.1
Android SDK:
API Levels: 23, 26, 27, 28, 29
Build Tools: 27.0.3, 28.0.3, 29.0.1
System Images: android-19 | Google APIs Intel x86 Atom, android-22 | Google APIs Intel x86 Atom, android-22 | Google APIs Intel x86 Atom_64, android-23 | Google APIs Intel x86 Atom, android-26 | Google APIs Intel x86 Atom, android-27 | Google Play Intel x86 Atom, android-28 | Google APIs Intel x86 Atom, android-28 | Google Play Intel x86 Atom, android-29 | Google Play Intel x86 Atom
IDEs:
Android Studio: 3.5 AI-191.8026.42.35.5977832
Xcode: 11.2/11B52 - /usr/bin/xcodebuild
npmPackages:
react: 16.8.6 => 16.8.6
react-native: ^0.60.5 => 0.60.5
npmGlobalPackages:
react-native-cli: 2.0.1
æãã解決çãèŠã€ããããšããŠããŸããããä»ã®ãšããäœãæ©èœããŠããŸããã ð
ãšãã¥ã¬ãŒã¿ãŒã§å®è¡ãããšãåé¡ãªãåäœããŸãã
ä»æ¥å®å®ããXcode11ïŒMac 10.14.6ïŒã«ã¢ããã°ã¬ãŒãããåŸã§ã®ã¿ããã©ã³ããéè€ããŠããããšã確èªããŸãã Xcodeã®ãã«ããã§ãŒãºã®
[CP] Copy Pods Resources
ã»ã¯ã·ã§ã³ã®äžã«ãããã©ã³ããåé€ãããšããã«ããåã³æ©èœããŸããæ°ãããã«ãã·ã¹ãã ã䜿çšããŠããŸããã RN0.60.5ã§ã
ç§ã®ãããªåå¿è
ã®å ŽåïŒãã¡ã€ã«ãç·šéããå¿
èŠããããŸã<PROJECT_FOLDER>/ios/<PROJECT_NAME>.xcodeproj/project.pbxproj
次ã«ã次ã®ããã«ãã©ã³ãè¡ïŒ.ttfã§çµãããã¡ã€ã«ïŒãã³ã¡ã³ãã¢ãŠãããŸãã
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-drawer2/Pods-drawer2-resources.sh",
// "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/AntDesign.ttf",
// "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Entypo.ttf",
// "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/EvilIcons.ttf",
// "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Feather.ttf",
// "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome.ttf",
// "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Brands.ttf",
// "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Regular.ttf",
// "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/FontAwesome5_Solid.ttf",
// "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Fontisto.ttf",
// "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Foundation.ttf",
// "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Ionicons.ttf",
// "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf",
// "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/MaterialIcons.ttf",
// "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Octicons.ttf",
// "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/SimpleLineIcons.ttf",
// "${PODS_ROOT}/../../node_modules/react-native-vector-icons/Fonts/Zocial.ttf",
);
name = "[CP] Copy Pods Resources";
outputPaths = (
// "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AntDesign.ttf",
// "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Entypo.ttf",
// "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/EvilIcons.ttf",
// "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Feather.ttf",
// "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome.ttf",
// "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Brands.ttf",
// "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Regular.ttf",
// "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FontAwesome5_Solid.ttf",
// "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Fontisto.ttf",
// "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Foundation.ttf",
// "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Ionicons.ttf",
// "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MaterialCommunityIcons.ttf",
// "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MaterialIcons.ttf",
// "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Octicons.ttf",
// "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/SimpleLineIcons.ttf",
// "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Zocial.ttf",
);
ãããŠã pod install
ãå®è¡ãããã³ã«ããã®ããã»ã¹ãããçŽãå¿
èŠããããŸããã
æãåèã«ãªãã³ã¡ã³ã
ãã«ãã·ã¹ãã ãã¬ã¬ã·ãŒã«å€æŽããŠã¿ãŠãã ããã
[ãã¡ã€ã«]> [ã¯ãŒã¯ã¹ããŒã¹èšå®]> [ãã«ãã·ã¹ãã ]> [ã¬ã¬ã·ãŒãã«ãã·ã¹ãã ]ã