johnno1962 / injectionforxcode

Runtime Code Injection for Objective-C & Swift
MIT License
6.55k stars 565 forks source link

swift cannot work #53

Closed greyspot09 closed 8 years ago

greyspot09 commented 9 years ago

m file work right , swift file has error.

2015-08-11 22:31:08.454 xcodebuild[40088:1067540] Reveal plugin DidLoaded
Use of uninitialized value in concatenation (.) or string at /Users/liucien/Library/Application Support/Developer/Shared/Xcode/Plug-ins/InjectionPlugin.xcplugin/Contents/Resources/injectSource.pl line 105.
sh: -c: line 0: syntax error near unexpected token (‘
sh: -c: line 0:ls -t (null)/../Logs/Build/.xcactivitylog’
Could not locate compile command for /Users/liucien/Desktop/MedicalTester/fitness/TestSetViewController.swift at /Users/liucien/Library/Application Support/Developer/Shared/Xcode/Plug-ins/InjectionPlugin.xcplugin/Contents/Resources/common.pm line 51.

main::error(‘Could not locate compile command for /Users/liucien/Desktop/M…’) called at /Users/liucien/Library/Application Support/Developer/Shared/Xcode/Plug-ins/InjectionPlugin.xcplugin/Contents/Resources/injectSource.pl line 190

\ Bundle build failed ***
Check Bundle project.

johnno1962 commented 9 years ago

Hi, this is normally related to issue https://github.com/johnno1962/injectionforxcode/issues/36 where it can not find your project’s root (hence the (null)) in the log. Can see if this resolves your problem?

greyspot09 commented 9 years ago

Hi,John.I have adding main.m and reseting the Derived Data location to "Unique". but receive the following error .


real 0m0.086s
user 0m0.013s
sys  0m0.042s

Learnt compile failed at /Users/liucien/Library/Application Support/Developer/Shared/Xcode/Plug-ins/InjectionPlugin.xcplugin/Contents/Resources/common.pm line 51.
    main::error(‘Learnt compile failed’) called at /Users/liucien/Library/Application Support/Developer/Shared/Xcode/Plug-ins/InjectionPlugin.xcplugin/Contents/Resources/injectSource.pl line 287
*** Bundle build failed ***
Check Bundle project.

can you take a look?

johnno1962 commented 9 years ago

I think I’m missing a bit of the log where it tells you why the “learnt compile” failed. Can you try again and paste the full log? Which Xcode versoi nis this?

greyspot09 commented 9 years ago

ok . full log at http://cl.ly/cDVU

johnno1962 commented 9 years ago

Thanks, that’s certainly giving injection a run for it’s money! I’ve pushed a minor change to injection script to try to fix the problem I’m seeing where the compile command is truncated. Can you download the plugin project, build and try again please?

greyspot09 commented 9 years ago

I have downloaded the new project and builded . but ,when trying to inject crash .

I have followed the #11

,added following Linker Flags in InjectionBundle.xcodeproj,but still crash

-Wall -fprofile-arcs -ftest-coverage

xcode log

dyld: lazy symbol binding failed: Symbol not found: __TF7fitness15LocalizedStringFSSSS
  Referenced from: /Users/liucien/Desktop/MedicalTester/iOSInjectionProject/build/Debug-iphonesimulator/InjectionBundle3.bundle/InjectionBundle
  Expected in: flat namespace

dyld: Symbol not found: __TF7fitness15LocalizedStringFSSSS
  Referenced from: /Users/liucien/Desktop/MedicalTester/iOSInjectionProject/build/Debug-iphonesimulator/InjectionBundle3.bundle/InjectionBundle
  Expected in: flat namespace

injection console log

Learnt compile:     /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c /Users/liucien/Desktop/MedicalTester/Chart/Data/BubbleChartData.swift /Users/liucien/Desktop/MedicalTester/fitness/PNChartSwift/PNChartConfig.swift /Users/liucien/Desktop/MedicalTester/fitness/StoreViewModel.swift /Users/liucien/Desktop/MedicalTester/fitness/NotificationConstant.swift /Users/liucien/Desktop/MedicalTester/Chart/Data/PieChartData.swift -primary-file /Users/liucien/Desktop/MedicalTester/fitness/TestSetViewController.swift /Users/liucien/Desktop/MedicalTester/Chart/Renderers/LineChartRenderer.swift /Users/liucien/Desktop/MedicalTester/fitness/PNChartSwift/PNValue.swift /Users/liucien/Desktop/MedicalTester/fitness/LoginViewController.swift /Users/liucien/Desktop/MedicalTester/Chart/Charts/CandleStickChartView.swift /Users/liucien/Desktop/MedicalTester/fitness/TestImageTableViewCell.swift /Users/liucien/Desktop/MedicalTester/Chart/Renderers/ChartXAxisRendererRadarChart.swift /Users/liucien/Desktop/MedicalTester/fitness/TestResultView.swift /Users/liucien/Desktop/MedicalTester/Chart/Renderers/ChartXAxisRendererBarChart.swift /Users/liucien/Desktop/MedicalTester/Chart/Animation/ChartAnimator.swift /Users/liucien/Desktop/MedicalTester/Chart/Data/BubbleChartDataSet.swift /Users/liucien/Desktop/MedicalTester/Chart/Renderers/ChartXAxisRenderer.swift /Users/liucien/Desktop/MedicalTester/Chart/Components/ChartComponentBase.swift /Users/liucien/Desktop/MedicalTester/Chart/Charts/PieRadarChartViewBase.swift /Users/liucien/Desktop/MedicalTester/Chart/Charts/BarChartView.swift /Users/liucien/Desktop/MedicalTester/fitness/TestPrepareViewModel.swift /Users/liucien/Desktop/MedicalTester/fitness/TestsetTableViewCell.swift /Users/liucien/Desktop/MedicalTester/Chart/Charts/RadarChartView.swift /Users/liucien/Desktop/MedicalTester/fitness/FillInfomationViewModel.swift /Users/liucien/Desktop/MedicalTester/fitness/TestSetTableViewController.swift /Users/liucien/Desktop/MedicalTester/Chart/Data/LineRadarChartDataSet.swift /Users/liucien/Desktop/MedicalTester/Chart/Renderers/CandleStickChartRenderer.swift /Users/liucien/Desktop/MedicalTester/fitness/PNChartSwift/PNLineChart/PNLineChart.swift /Users/liucien/Desktop/MedicalTester/Chart/Components/ChartAxisBase.swift /Users/liucien/Desktop/MedicalTester/Chart/Components/ChartMarker.swift /Users/liucien/Desktop/MedicalTester/fitness/TestResultViewController.swift /Users/liucien/Desktop/MedicalTester/Chart/Data/ScatterChartData.swift /Users/liucien/Desktop/MedicalTester/fitness/AddAddressTableViewCell.swift /Users/liucien/Desktop/MedicalTester/fitness/PNChartSwift/PNLineChart/PNLineChartData.swift /Users/liucien/Desktop/MedicalTester/fitness/DevicesTableViewController.swift /Users/liucien/Desktop/MedicalTester/fitness/TestPrepareViewController.swift /Users/liucien/Desktop/MedicalTester/fitness/OrderConfirmViewController.swift /Users/liucien/Desktop/MedicalTester/fitness/StoreTableViewCell.swift /Users/liucien/Desktop/MedicalTester/Chart/Charts/LineChartView.swift /Users/liucien/Desktop/MedicalTester/fitness/TextViewController.swift /Users/liucien/Desktop/MedicalTester/Chart/Data/CandleChartDataEntry.swift /Users/liucien/Desktop/MedicalTester/Chart/Data/CandleChartData.swift /Users/liucien/Desktop/MedicalTester/Chart/Renderers/ChartXAxisRendererHorizontalBarChart.swift /Users/liucien/Desktop/MedicalTester/fitness/LoginViewModel.swift /Users/liucien/Desktop/MedicalTester/Chart/Animation/ChartAnimationEasing.swift /Users/liucien/Desktop/MedicalTester/Chart/Charts/ScatterChartView.swift /Users/liucien/Desktop/MedicalTester/Chart/Highlight/ChartHighlight.swift /Users/liucien/Desktop/MedicalTester/Chart/Charts/PieChartView.swift /Users/liucien/Desktop/MedicalTester/Chart/Renderers/BubbleChartRenderer.swift /Users/liucien/Desktop/MedicalTester/Chart/Filters/ChartDataApproximatorFilter.swift /Users/liucien/Desktop/MedicalTester/fitness/TestSetViewModel.swift /Users/liucien/Desktop/MedicalTester/fitness/StoreViewController.swift /Users/liucien/Desktop/MedicalTester/fitness/PNChartSwift/PNBarChart/PNBar.swift /Users/liucien/Desktop/MedicalTester/Chart/Charts/BubbleChartView.swift /Users/liucien/Desktop/MedicalTester/Chart/Renderers/ChartYAxisRendererRadarChart.swift /Users/liucien/Desktop/MedicalTester/Chart/Utils/ChartColorTemplates.swift /Users/liucien/Desktop/MedicalTester/fitness/TestSetTableViewModel.swift /Users/liucien/Desktop/MedicalTester/Chart/Data/ChartDataEntry.swift /Users/liucien/Desktop/MedicalTester/Chart/Data/LineScatterCandleChartDataSet.swift /Users/liucien/Desktop/MedicalTester/fitness/SelectDateView.swift /Users/liucien/Desktop/MedicalTester/Chart/Filters/ChartDataBaseFilter.swift /Users/liucien/Desktop/MedicalTester/fitness/helper.swift /Users/liucien/Desktop/MedicalTester/Chart/Renderers/RadarChartRenderer.swift /Users/liucien/Desktop/MedicalTester/Chart/Data/RadarChartDataSet.swift /Users/liucien/Desktop/MedicalTester/fitness/RegisterViewController.swift /Users/liucien/Desktop/MedicalTester/Chart/Charts/HorizontalBarChartView.swift /Users/liucien/Desktop/MedicalTester/Chart/Data/ChartDataSet.swift /Users/liucien/Desktop/MedicalTester/fitness/FillInfomationViewController.swift /Users/liucien/Desktop/MedicalTester/Chart/Utils/ChartFillFormatter.swift /Users/liucien/Desktop/MedicalTester/Chart/Renderers/ChartYAxisRenderer.swift /Users/liucien/Desktop/MedicalTester/fitness/ForgetPasswrodViewModel.swift /Users/liucien/Desktop/MedicalTester/fitness/TesterManager.swift /Users/liucien/Desktop/MedicalTester/Chart/Renderers/ChartLegendRenderer.swift /Users/liucien/Desktop/MedicalTester/fitness/CassetteViewModel.swift /Users/liucien/Desktop/MedicalTester/Chart/Charts/BarLineChartViewBase.swift /Users/liucien/Desktop/MedicalTester/Chart/Data/LineChartDataSet.swift /Users/liucien/Desktop/MedicalTester/fitness/ScanGoodHelper.swift /Users/liucien/Desktop/MedicalTester/Chart/Data/BarLineScatterCandleChartData.swift /Users/liucien/Desktop/MedicalTester/fitness/SwfitAlert.swift /Users/liucien/Desktop/MedicalTester/fitness/DeviceTableTableViewCell.swift /Users/liucien/Desktop/MedicalTester/Chart/Components/ChartYAxis.swift /Users/liucien/Desktop/MedicalTester/fitness/OrderTableViewCell.swift /Users/liucien/Desktop/MedicalTester/fitness/AddTestSetViewModel.swift /Users/liucien/Desktop/MedicalTester/Chart/Renderers/CombinedChartRenderer.swift /Users/liucien/Desktop/MedicalTester/Chart/Renderers/ChartYAxisRendererHorizontalBarChart.swift /Users/liucien/Desktop/MedicalTester/fitness/TestViewController.swift /Users/liucien/Desktop/MedicalTester/fitness/UsercenterViewController.swift /Users/liucien/Desktop/MedicalTester/Chart/Utils/ChartSelectionDetail.swift /Users/liucien/Desktop/MedicalTester/fitness/ShopDetailViewController.swift /Users/liucien/Desktop/MedicalTester/Chart/Data/RadarChartData.swift /Users/liucien/Desktop/MedicalTester/Chart/Renderers/ChartDataRendererBase.swift /Users/liucien/Desktop/MedicalTester/fitness/AddTestSetViewController.swift /Users/liucien/Desktop/MedicalTester/Chart/Data/BarChartData.swift /Users/liucien/Desktop/MedicalTester/Chart/Renderers/ScatterChartRenderer.swift /Users/liucien/Desktop/MedicalTester/Chart/Data/CandleChartDataSet.swift /Users/liucien/Desktop/MedicalTester/fitness/RegisterViewModel.swift /Users/liucien/Desktop/MedicalTester/fitness/PNChartSwift/PNLineChart/PNChartLabel.swift /Users/liucien/Desktop/MedicalTester/Chart/Renderers/ChartAxisRendererBase.swift /Users/liucien/Desktop/MedicalTester/fitness/GodDetailViewController.swift /Users/liucien/Desktop/MedicalTester/fitness/ForgetPasswordViewController.swift /Users/liucien/Desktop/MedicalTester/Chart/Charts/CombinedChartView.swift /Users/liucien/Desktop/MedicalTester/Chart/Components/ChartXAxis.swift /Users/liucien/Desktop/MedicalTester/Chart/Data/PieChartDataSet.swift /Users/liucien/Desktop/MedicalTester/Chart/Highlight/ChartRange.swift /Users/liucien/Desktop/MedicalTester/Chart/Data/CombinedChartData.swift /Users/liucien/Desktop/MedicalTester/fitness/AddressTableViewCell.swift /Users/liucien/Desktop/MedicalTester/fitness/DevicesTableViewModel.swift /Users/liucien/Desktop/MedicalTester/Chart/Data/BarChartDataSet.swift /Users/liucien/Desktop/MedicalTester/Chart/Components/ChartLegend.swift /Users/liucien/Desktop/MedicalTester/Chart/Renderers/LineScatterCandleRadarChartRenderer.swift /Users/liucien/Desktop/MedicalTester/fitness/OrderConfirmViewModel.swift /Users/liucien/Desktop/MedicalTester/Chart/Renderers/BarChartRenderer.swift /Users/liucien/Desktop/MedicalTester/Chart/Utils/ChartTransformerHorizontalBarChart.swift /Users/liucien/Desktop/MedicalTester/Chart/Data/BarChartDataEntry.swift /Users/liucien/Desktop/MedicalTester/Chart/Highlight/BarChartHighlighter.swift /Users/liucien/Desktop/MedicalTester/fitness/AppDelegate.swift /Users/liucien/Desktop/MedicalTester/fitness/PNChartSwift/PNBarChart/PNBarChart.swift /Users/liucien/Desktop/MedicalTester/Chart/Utils/ChartViewPortHandler.swift /Users/liucien/Desktop/MedicalTester/Chart/Renderers/PieChartRenderer.swift /Users/liucien/Desktop/MedicalTester/fitness/GoodDetailViewModel.swift /Users/liucien/Desktop/MedicalTester/Chart/Highlight/HorizontalBarChartHighlighter.swift /Users/liucien/Desktop/MedicalTester/Chart/Charts/ChartViewBase.swift /Users/liucien/Desktop/MedicalTester/Chart/Utils/ChartUtils.swift /Users/liucien/Desktop/MedicalTester/fitness/GoodTableViewCell.swift /Users/liucien/Desktop/MedicalTester/fitness/TestTableViewCell.swift /Users/liucien/Desktop/MedicalTester/fitness/AddAddressViewController.swift /Users/liucien/Desktop/MedicalTester/Chart/Data/ChartData.swift /Users/liucien/Desktop/MedicalTester/Chart/Renderers/HorizontalBarChartRenderer.swift /Users/liucien/Desktop/MedicalTester/Chart/Components/ChartLimitLine.swift /Users/liucien/Desktop/MedicalTester/fitness/PNChartSwift/PNChartDelegate.swift /Users/liucien/Desktop/MedicalTester/Chart/Renderers/ChartRendererBase.swift /Users/liucien/Desktop/MedicalTester/Chart/Data/BarLineScatterCandleChartDataSet.swift /Users/liucien/Desktop/MedicalTester/Chart/Utils/ChartTransformer.swift /Users/liucien/Desktop/MedicalTester/fitness/FTTestInputParam.swift /Users/liucien/Desktop/MedicalTester/Chart/Data/LineChartData.swift /Users/liucien/Desktop/MedicalTester/fitness/MainViewController.swift /Users/liucien/Desktop/MedicalTester/Chart/Data/BubbleChartDataEntry.swift /Users/liucien/Desktop/MedicalTester/fitness/Constant.swift /Users/liucien/Desktop/MedicalTester/Chart/Highlight/ChartHighlighter.swift /Users/liucien/Desktop/MedicalTester/fitness/CassetteViewController.swift /Users/liucien/Desktop/MedicalTester/Chart/Data/ScatterChartDataSet.swift /Users/liucien/Desktop/MedicalTester/fitness/UsercenterViewModel.swift -target x86_64-apple-ios7.0 -enable-objc-interop -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.4.sdk -I /Users/liucien/Library/Developer/Xcode/DerivedData/fitness-exekrwaqequjpufueljhxezbszin/Build/Products/Debug-iphonesimulator -F /Users/liucien/Library/Developer/Xcode/DerivedData/fitness-exekrwaqequjpufueljhxezbszin/Build/Products/Debug-iphonesimulator -F /Users/liucien/Desktop/MedicalTester/fitness -F . -F Chart -F fitness -F fitness.xcworkspace -F fitnessTests -F Pods -F Chart/Animation -F Chart/Charts -F Chart/Components -F Chart/Data -F Chart/Filters -F Chart/Highlight -F Chart/Renderers -F Chart/Utils -F fitness/Images.xcassets -F fitness/PNChartSwift -F fitness/PNLineChart -F fitness.xcworkspace/xcshareddata -F fitness.xcworkspace/xcuserdata -F Pods/AFNetworking -F Pods/BMXSwipableCell -F Pods/Charts -F Pods/DACircularProgress -F Pods/Headers -F “Pods/Local Podspecs” -F Pods/Mantle -F Pods/Masonry -F Pods/MBProgressHUD -F Pods/MBProgressHUDExtensions -F Pods/MJRefresh -F Pods/MWPhotoBrowser -F Pods/PSTCollectionView -F Pods/SDWebImage -F “Pods/Target Support Files” -F Pods/TPKeyboardAvoiding -F Pods/TTTAttributedLabel -F Pods/TTTRegexAttributedLabel -F Pods/XLForm -F fitness/Images.xcassets/AppIcon.appiconset -F fitness/Images.xcassets/avartar.imageset -F fitness/Images.xcassets/first.imageset -F fitness/Images.xcassets/iconfont-fanhui.imageset -F fitness/Images.xcassets/iconfont-houdongfangiconfont09.imageset -F fitness/Images.xcassets/iconfont-wofill.imageset -F “fitness/Images.xcassets/New Folder” -F fitness/Images.xcassets/NoDataPlaceHolder.imageset -F fitness/Images.xcassets/placehodler.imageset -F fitness/Images.xcassets/second.imageset -F fitness/Images.xcassets/test1.imageset -F fitness/Images.xcassets/test2.imageset -F fitness/Images.xcassets/usercenter_backgroud.imageset -F fitness/Images.xcassets/ï›Ú.imageset -F fitness/Images.xcassets/ðÉ«ðÏÏ.imageset -F fitness/Images.xcassets/ðÔ¬ï…Â.imageset -F fitness/Images.xcassets/ð¦ËŁflÕ.imageset -F fitness/Images.xcassets/ñ‹ÑŁÃ‚.imageset -F fitness/PNChartSwift/PNBarChart -F fitness/PNChartSwift/PNLineChart -F fitness.xcworkspace/xcuserdata/liucien.xcuserdatad -F Pods/AFNetworking/AFNetworking -F Pods/AFNetworking/UIKit+AFNetworking -F Pods/BMXSwipableCell/BMXSwipableCell -F Pods/Charts/Charts -F Pods/DACircularProgress/DACircularProgress -F Pods/Headers/Private -F Pods/Headers/Public -F Pods/Mantle/Mantle -F Pods/Masonry/Masonry -F Pods/MJRefresh/MJRefresh -F Pods/MWPhotoBrowser/MWPhotoBrowser -F Pods/PSTCollectionView/PSTCollectionView -F Pods/SDWebImage/SDWebImage -F “Pods/Target Support Files/Pods” -F “Pods/Target Support Files/Pods-AFNetworking” -F “Pods/Target Support Files/Pods-BMXSwipableCell” -F “Pods/Target Support Files/Pods-DACircularProgress” -F “Pods/Target Support Files/Pods-Mantle” -F “Pods/Target Support Files/Pods-Masonry” -F “Pods/Target Support Files/Pods-MBProgressHUD” -F “Pods/Target Support Files/Pods-MBProgressHUDExtensions” -F “Pods/Target Support Files/Pods-MJRefresh” -F “Pods/Target Support Files/Pods-MWPhotoBrowser” -F “Pods/Target Support Files/Pods-PSTCollectionView” -F “Pods/Target Support Files/Pods-SDWebImage” -F “Pods/Target Support Files/Pods-TPKeyboardAvoiding” -F “Pods/Target Support Files/Pods-TTTAttributedLabel” -F “Pods/Target Support Files/Pods-TTTRegexAttributedLabel” -F “Pods/Target Support Files/Pods-XLForm” -F Pods/TPKeyboardAvoiding/TPKeyboardAvoiding -F Pods/TTTAttributedLabel/TTTAttributedLabel -F Pods/TTTRegexAttributedLabel/TTTRegexAttributedLabel -F Pods/XLForm/XLForm -F “fitness/Images.xcassets/New Folder/icon-test.imageset” -F “fitness/Images.xcassets/New Folder/icon-ï¿Â.imageset” -F “fitness/Images.xcassets/New Folder/icon-ïÕÅï”Ù.imageset” -F “fitness/Images.xcassets/New Folder/icon-Łfi®ï‰Õ.imageset” -F “fitness/Images.xcassets/New Folder/.imageset” -F “fitness/Images.xcassets/New Folder/ïfiÜ.imageset” -F “fitness/Images.xcassets/New Folder/ï„·.imageset” -F “fitness/Images.xcassets/New Folder/ðÞÈ.imageset” -F fitness.xcworkspace/xcuserdata/liucien.xcuserdatad/xcdebugger -F Pods/Charts/Charts/Classes -F Pods/Headers/Private/AFNetworking -F Pods/Headers/Private/BMXSwipableCell -F Pods/Headers/Private/DACircularProgress -F Pods/Headers/Private/Mantle -F Pods/Headers/Private/Masonry -F Pods/Headers/Private/MBProgressHUD -F Pods/Headers/Private/MBProgressHUDExtensions -F Pods/Headers/Private/MJRefresh -F Pods/Headers/Private/MWPhotoBrowser -F Pods/Headers/Private/PSTCollectionView -F Pods/Headers/Private/SDWebImage -F Pods/Headers/Private/TPKeyboardAvoiding -F Pods/Headers/Private/TTTAttributedLabel -F Pods/Headers/Private/TTTRegexAttributedLabel -F Pods/Headers/Private/XLForm -F Pods/Headers/Public/AFNetworking -F Pods/Headers/Public/BMXSwipableCell -F Pods/Headers/Public/DACircularProgress -F Pods/Headers/Public/Mantle -F Pods/Headers/Public/Masonry -F Pods/Headers/Public/MBProgressHUD -F Pods/Headers/Public/MBProgressHUDExtensions -F Pods/Headers/Public/MJRefresh -F Pods/Headers/Public/MWPhotoBrowser -F Pods/Headers/Public/PSTCollectionView -F Pods/Headers/Public/SDWebImage -F Pods/Headers/Public/TPKeyboardAvoiding -F Pods/Headers/Public/TTTAttributedLabel -F Pods/Headers/Public/TTTRegexAttributedLabel -F Pods/Headers/Public/XLForm -F Pods/Mantle/Mantle/extobjc -F Pods/MJRefresh/MJRefresh/Base -F Pods/MJRefresh/MJRefresh/Custom -F Pods/MJRefresh/MJRefresh/MJRefresh.bundle -F Pods/MWPhotoBrowser/MWPhotoBrowser/Classes -F Pods/MWPhotoBrowser/MWPhotoBrowser/MWPhotoBrowser.bundle -F Pods/XLForm/XLForm/XL -F Pods/XLForm/XLForm/XLForm.bundle -F Pods/Charts/Charts/Classes/Animation -F Pods/Charts/Charts/Classes/Charts -F Pods/Charts/Charts/Classes/Components -F Pods/Charts/Charts/Classes/Data -F Pods/Charts/Charts/Classes/Filters -F Pods/Charts/Charts/Classes/Renderers -F Pods/Charts/Charts/Classes/Utils -F Pods/MJRefresh/MJRefresh/Custom/Footer -F Pods/MJRefresh/MJRefresh/Custom/Header -F Pods/MWPhotoBrowser/MWPhotoBrowser/MWPhotoBrowser.bundle/images -F Pods/XLForm/XLForm/XL/Cell -F Pods/XLForm/XLForm/XL/Controllers -F Pods/XLForm/XLForm/XL/Descriptors -F Pods/XLForm/XLForm/XL/Helpers -F Pods/XLForm/XLForm/XL/Validation -F Pods/MJRefresh/MJRefresh/Custom/Footer/Auto -F Pods/MJRefresh/MJRefresh/Custom/Footer/Back -F Pods/XLForm/XLForm/XL/Helpers/Views -g -import-objc-header /Users/liucien/Desktop/MedicalTester/fitness/Fitness-Bridging-Header.h -module-cache-path /Users/liucien/Library/Developer/Xcode/DerivedData/ModuleCache -serialize-debugging-options -Xcc -I/Users/liucien/Library/Developer/Xcode/DerivedData/fitness-exekrwaqequjpufueljhxezbszin/Build/Intermediates/fitness.build/Debug-iphonesimulator/fitness.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/liucien/Library/Developer/Xcode/DerivedData/fitness-exekrwaqequjpufueljhxezbszin/Build/Intermediates/fitness.build/Debug-iphonesimulator/fitness.build/fitness-generated-files.hmap -Xcc -I/Users/liucien/Library/Developer/Xcode/DerivedData/fitness-exekrwaqequjpufueljhxezbszin/Build/Intermediates/fitness.build/Debug-iphonesimulator/fitness.build/fitness-own-target-headers.hmap -Xcc -I/Users/liucien/Library/Developer/Xcode/DerivedData/fitness-exekrwaqequjpufueljhxezbszin/Build/Intermediates/fitness.build/Debug-iphonesimulator/fitness.build/fitness-all-target-headers.hmap -Xcc -iquote -Xcc /Users/liucien/Library/Developer/Xcode/DerivedData/fitness-exekrwaqequjpufueljhxezbszin/Build/Intermediates/fitness.build/Debug-iphonesimulator/fitness.build/fitness-project-headers.hmap -Xcc -I/Users/liucien/Library/Developer/Xcode/DerivedData/fitness-exekrwaqequjpufueljhxezbszin/Build/Products/Debug-iphonesimulator/include -Xcc -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -Xcc -I/Users/liucien/Desktop/MedicalTester/Pods/Headers/Public -Xcc -I/Users/liucien/Desktop/MedicalTester/Pods/Headers/Public/AFNetworking -Xcc -I/Users/liucien/Desktop/MedicalTester/Pods/Headers/Public/BMXSwipableCell -Xcc -I/Users/liucien/Desktop/MedicalTester/Pods/Headers/Public/DACircularProgress -Xcc -I/Users/liucien/Desktop/MedicalTester/Pods/Headers/Public/MBProgressHUD -Xcc -I/Users/liucien/Desktop/MedicalTester/Pods/Headers/Public/MBProgressHUDExtensions -Xcc -I/Users/liucien/Desktop/MedicalTester/Pods/Headers/Public/MJRefresh -Xcc -I/Users/liucien/Desktop/MedicalTester/Pods/Headers/Public/MWPhotoBrowser -Xcc -I/Users/liucien/Desktop/MedicalTester/Pods/Headers/Public/Mantle -Xcc -I/Users/liucien/Desktop/MedicalTester/Pods/Headers/Public/Masonry -Xcc -I/Users/liucien/Desktop/MedicalTester/Pods/Headers/Public/PSTCollectionView -Xcc -I/Users/liucien/Desktop/MedicalTester/Pods/Headers/Public/SDWebImage -Xcc -I/Users/liucien/Desktop/MedicalTester/Pods/Headers/Public/TPKeyboardAvoiding -Xcc -I/Users/liucien/Desktop/MedicalTester/Pods/Headers/Public/TTTAttributedLabel -Xcc -I/Users/liucien/Desktop/MedicalTester/Pods/Headers/Public/TTTRegexAttributedLabel -Xcc -I/Users/liucien/Desktop/MedicalTester/Pods/Headers/Public/XLForm -Xcc -I/Users/liucien/Library/Developer/Xcode/DerivedData/fitness-exekrwaqequjpufueljhxezbszin/Build/Intermediates/fitness.build/Debug-iphonesimulator/fitness.build/DerivedSources/x86_64 -Xcc -I/Users/liucien/Library/Developer/Xcode/DerivedData/fitness-exekrwaqequjpufueljhxezbszin/Build/Intermediates/fitness.build/Debug-iphonesimulator/fitness.build/DerivedSources -Xcc -DDEBUG=1 -DINJECTION_BUNDLE -Xcc -DCOCOAPODS=1 -Xcc -working-directory/Users/liucien/Desktop/MedicalTester -emit-module-doc-path /Users/liucien/Library/Developer/Xcode/DerivedData/fitness-exekrwaqequjpufueljhxezbszin/Build/Intermediates/fitness.build/Debug-iphonesimulator/fitness.build/Objects-normal/x86_64/TestSetViewController~partial.swiftdoc -Onone -module-name fitness -emit-module-path /Users/liucien/Library/Developer/Xcode/DerivedData/fitness-exekrwaqequjpufueljhxezbszin/Build/Intermediates/fitness.build/Debug-iphonesimulator/fitness.build/Objects-normal/x86_64/TestSetViewController~partial.swiftmodule -serialize-diagnostics-path /Users/liucien/Library/Developer/Xcode/DerivedData/fitness-exekrwaqequjpufueljhxezbszin/Build/Intermediates/fitness.build/Debug-iphonessys    0m0.628s
ls: *.framework: No such file or directory

Building iOSInjectionProject/InjectionBundle.xcodeproj
bash ../iOSInjectionProject/x86_64/compile_commands.sh # xcodebuild  -configuration Debug -arch x86_64 -sdk iphonesimulator

   /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu99 -fobjc-arc -fmodules -fmodules-prune-interval=86400 -fmodules-prune-after=345600 -fbuild-session-file=/var/folders/fd/3d8z88_d3n3_sv_0c9t4xt4h0000gn/C/org.llvm.clang/ModuleCache/Session.modulevalidation -fmodules-validate-once-per-build-session -Wnon-modular-include-in-framework-module -Werror=non-modular-include-in-framework-module -Wno-trigraphs -fpascal-strings -O0 -Wno-missing-field-initializers -Wmissing-prototypes -Wno-implicit-atomic-properties -Wno-receiver-is-weak -Wno-arc-repeated-use-of-weak -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wno-empty-body -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wno-constant-conversion -Wno-int-conversion -Wno-bool-conversion -Wno-enum-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wno-undeclared-selector -Wno-deprecated-implementations -DDEBUG=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.4.sdk -fexceptions -fasm-blocks -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -g -Wno-sign-conversion -fobjc-abi-version=2 -fobjc-legacy-dispatch -mios-simulator-version-min=8.3 -iquote /Users/liucien/Desktop/MedicalTester/iOSInjectionProject/build/InjectionBundle.build/Debug-iphonesimulator/InjectionBundle.build/InjectionBundle-generated-files.hmap -I/Users/liucien/Desktop/MedicalTester/iOSInjectionProject/build/InjectionBundle.build/Debug-iphonesimulator/InjectionBundle.build/InjectionBundle-own-target-headers.hmap -I/Users/liucien/Desktop/MedicalTester/iOSInjectionProject/build/InjectionBundle.build/Debug-iphonesimulator/InjectionBundle.build/InjectionBundle-all-target-headers.hmap -iquote /Users/liucien/Desktop/MedicalTester/iOSInjectionProject/build/InjectionBundle.build/Debug-iphonesimulator/InjectionBundle.build/InjectionBundle-project-headers.hmap -iquote.. -I/Users/liucien/Desktop/MedicalTester/iOSInjectionProject/build/Debug-iphonesimulator/include -I../Pods/AFNetworking/AFNetworking -I../Pods/AFNetworking/UIKit+AFNetworking -I../Pods/BMXSwipableCell/BMXSwipableCell -I../Pods/DACircularProgress/DACircularProgress -I../Pods/Headers/Private/AFNetworking -I../Pods/Headers/Private/BMXSwipableCell -I../Pods/Headers/Private/DACircularProgress -I../Pods/Headers/Private/MBProgressHUD -I../Pods/Headers/Private/MBProgressHUDExtensions -I../Pods/Headers/Private/MJRefresh -I../Pods/Headers/Private/MWPhotoBrowser -I../Pods/Headers/Private/Mantle -I../Pods/Headers/Private/Masonry -I../Pods/Headers/Private/PSTCollectionView -I../Pods/Headers/Private/SDWebImage -I../Pods/Headers/Private/TPKeyboardAvoiding -I../Pods/Headers/Private/TTTAttributedLabel -I../Pods/Headers/Private/TTTRegexAttributedLabel -I../Pods/Headers/Private/XLForm -I../Pods/Headers/Public/AFNetworking -I../Pods/Headers/Public/BMXSwipableCell -I../Pods/Headers/Public/DACircularProgress -I../Pods/Headers/Public/MBProgressHUD -I../Pods/Headers/Public/MBProgressHUDExtensions -I../Pods/Headers/Public/MJRefresh -I../Pods/Headers/Public/MWPhotoBrowser -I../Pods/Headers/Public/Mantle -I../Pods/Headers/Public/Masonry -I../Pods/Headers/Public/PSTCollectionView -I../Pods/Headers/Public/SDWebImage -I../Pods/Headers/Public/TPKeyboardAvoiding -I../Pods/Headers/Public/TTTAttributedLabel -I../Pods/Headers/Public/TTTRegexAttributedLabel -I../Pods/Headers/Public/XLForm -I../Pods/MBProgressHUD -I../Pods/MBProgressHUDExtensions -I../Pods/MJRefresh/MJRefresh -I../Pods/MJRefresh/MJRefresh/Base -I../Pods/MJRefresh/MJRefresh/Custom/Footer/Auto -I../Pods/MJRefresh/MJRefresh/Custom/Footer/Back -I../Pods/MJRefresh/MJRefresh/Custom/Header -I../Pods/MWPhotoBrowser/MWPhotoBrowser/Classes -I../Pods/Mantle/Mantle -I../Pods/Mantle/Mantle/extobjc -I../Pods/Masonry/Masonry -I../Pods/PSTCollectionView/PSTCollectionView -I../Pods/SDWebImage/SDWebImage -I../Pods/TPKeyboardAvoiding/TPKeyboardAvoiding -I../Pods/TTTAttributedLabel/TTTAttributedLabel -I../Pods/TTTRegexAttributedLabel/TTTRegexAttributedLabel -I../Pods/Target\ Support\ Files/Pods -I../Pods/XLForm/XLForm/XL -I../Pods/XLForm/XLForm/XL/Cell -I../Pods/XLForm/XLForm/XL/Controllers -I../Pods/XLForm/XLForm/XL/Descriptors -I../Pods/XLForm/XLForm/XL/Helpers -I../Pods/XLForm/XLForm/XL/Helpers/Views -I../Pods/XLForm/XLForm/XL/Validation -I../fitness -I../fitness/PNChartSwift -I../fitness/Reveal.framework/Versions/A/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.4.sdk/usr/include/libxml2 -I/Users/liucien/Desktop/MedicalTester/iOSInjectionProject/build/InjectionBundle.build/Debug-iphonesimulator/InjectionBundle.build/DerivedSources/x86_64 -I/Users/liucien/Desktop/MedicalTester/iOSInjectionProject/build/InjectionBundle.build/Debug-iphonesimulator/InjectionBundle.build/DerivedSources -F/Users/liucien/Desktop/MedicalTester/iOSInjectionProject/build/Debug-iphonesimulator -include /var/folders/fd/3d8z88_d3n3_sv_0c9t4xt4h0000gn/C/com.apple.DeveloperTools/6.4-6E35b/Xcode/SharedPrecompiledHeaders/InjectionBundle-Prefix-atcngxodeasmqngazincrwcukeot/InjectionBundle-Prefix.pch -MMD -MT dependencies -M
real    0m0.431s
user 0m0.042s
sys  0m0.271s
   /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -bundle -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.4.sdk -L/Users/liucien/Desktop/MedicalTester/iOSInjectionProject/build/Debug-iphonesimulator -F/Users/liucien/Desktop/MedicalTester/iOSInjectionProject/build/Debug-iphonesimulator -filelist /Users/liucien/Desktop/MedicalTester/iOSInjectionProject/build/InjectionBundle.build/Debug-iphonesimulator/InjectionBundle.build/Objects-normal/x86_64/InjectionBundle.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 x86_64/injecting_class.o -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator -F/Users/liucien/Library/Developer/Xcode/DerivedData/fitness-exekrwaqequjpufueljhxezbszin/Build/Products/Debug-iphonesimulator -undefined dynamic_lookup -Wall -fprofile-arcs -ftest-coverage -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=8.3 -framework UIKit -framework QuartzCore -framework OpenGLES -framework Foundation -framework CoreGraphics -Xlinker -dependency_info -Xlinker /Users/liucien/Desktop/MedicalTester/iOSInjectionProject/build/InjectionBundle.build/Debug-iphonesimulator/InjectionBundle.build/Objects-normal/x86_64/InjectionBundle_dependency_info.dat -o /Users/liucien/Desktop/MedicalTester/iOSInjectionProject/build/Debug-iphonesimulator/InjectionBundle.bundle/InjectionBundle

real   0m0.149s
user 0m0.051s
sys  0m0.106s

/usr/bin/touch -c “/Users/liucien/Desktop/MedicalTester/iOSInjectionProject/build/Debug-iphonesimulator/InjectionBundle.bundle”



** RECORDED BUILD SUCCEEDED **



Renaming bundle so it reloads..

rm -rf “/Users/liucien/Desktop/MedicalTester/iOSInjectionProject/build/Debug-iphonesimulator/InjectionBundle3.bundle” && cp -r “/Users/liucien/Desktop/MedicalTester/iOSInjectionProject/build/Debug-iphonesimulator/InjectionBundle.bundle” “/Users/liucien/Desktop/MedicalTester/iOSInjectionProject/build/Debug-iphonesimulator/InjectionBundle3.bundle”


Loading Bundle…


Bundle loaded successfully.


F /Users/liucien/Desktop/MedicalTester/iOSInjectionProject/build/InjectionBundle.build/Debug-iphonesimulator/InjectionBundle.build/Objects-normal/x86_64/BundleContents.d —serialize-diagnostics /Users/liucien/Desktop/MedicalTester/iOSInjectionProject/build/InjectionBundle.build/Debug-iphonesimulator/InjectionBundle.build/Objects-normal/x86_64/BundleContents.dia -c /Users/liucien/Desktop/MedicalTester/iOSInjectionProject/BundleContents.m -o /Users/liucien/Desktop/MedicalTester/iOSInjectionProject/build/InjectionBundle.build/Debug-iphonesimulator/InjectionBundle.build/Objects-normal/x86_64/BundleContents.o
ctionProject/x86_64/injecting_class.o

greyspot09 commented 9 years ago

HI,john,how to pay for injection . Before, when I press ctrl + =, you will come out a payment interface. But not now,and I don’t pay In addition, I found that if call a global function, when trying to inject crash,such as

func getUrlFromHost(path:String) -> String{

//    let host = "http://192.168.1.102:9000"
    if path.hasPrefix("/"){
        return "\(host)\(path)"
    }
    return "\(host)/\(path)"
}

But I do not know how to solve

johnno1962 commented 9 years ago

Hi, this problem referencing global functions and variables has been with us since Swift 1.2. The only solution is to modify your project’s build to “unhide” internal symbols using this project: https://github.com/johnno1962/unhide. If you are linking with frameworks you’ll need to copy the link command out of the script mentioned and add the frameworks required. Let me know how you get on. I’ll also look at the licensing code though that shouldn’t have changed...

greyspot09 commented 9 years ago

thanks , have solved the problem of crash.

I clone the code from github ,then build " InjectionPluginLite/InjectionPlugin.xcodeproj".

johnno1962 commented 9 years ago

Happy you’re up and running though I think you may still need the help of “unhide” to avoid crashes when your code path inside an injected class touches an “internal” function to a package. I’ll leave this issue open as it contains a lot of useful information about how to get up and running with Swift thesedays.