From 4d032d5ec7c1d00bc3f8b739c0ae2d651376b9aa Mon Sep 17 00:00:00 2001 From: Joseph Henry Date: Sun, 17 Jul 2016 16:14:09 -0700 Subject: [PATCH] adjusted OSX example app dir structure and search paths --- .../apple/ZeroTierSDK_Apple/.DS_Store | Bin 0 -> 6148 bytes integrations/apple/example_app/.DS_Store | Bin 0 -> 6148 bytes .../UserInterfaceState.xcuserstate | Bin 45214 -> 0 bytes integrations/apple/example_app/OSX/.DS_Store | Bin 0 -> 6148 bytes .../Example_OSX_App.xcodeproj/project.pbxproj | 37 +++++++++--------- .../contents.xcworkspacedata | 0 .../UserInterfaceState.xcuserstate | Bin 0 -> 49974 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 0 .../xcschemes/Example_OSX_App.xcscheme | 0 .../xcschemes/xcschememanagement.plist | 0 .../Example_OSX_App/AppDelegate.swift | 0 .../AppIcon.appiconset/Contents.json | 0 .../Base.lproj/Main.storyboard | 0 .../Example_OSX_App-Bridging-Header.h | 0 .../{ => OSX}/Example_OSX_App/Info.plist | 0 .../Example_OSX_App/ViewController.swift | 0 integrations/apple/example_app/iOS/.DS_Store | Bin 0 -> 6148 bytes .../Example_iOS_App.xcodeproj/project.pbxproj | 0 .../contents.xcworkspacedata | 0 .../UserInterfaceState.xcuserstate | Bin .../xcschemes/Example_iOS_App.xcscheme | 0 .../xcschemes/xcschememanagement.plist | 0 .../Example_iOS_App/AppDelegate.swift | 0 .../AppIcon.appiconset/Contents.json | 0 .../Base.lproj/LaunchScreen.storyboard | 0 .../Base.lproj/Main.storyboard | 0 .../Example_iOS_App/Info.plist | 0 .../Example_iOS_App/ViewController.swift | 0 src/SDK_XcodeWrapper.cpp | 4 +- src/SDK_XcodeWrapper.hpp | 2 +- 30 files changed, 21 insertions(+), 22 deletions(-) create mode 100644 integrations/apple/ZeroTierSDK_Apple/.DS_Store create mode 100644 integrations/apple/example_app/.DS_Store delete mode 100644 integrations/apple/example_app/Example_OSX_App.xcodeproj/project.xcworkspace/xcuserdata/Joseph.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 integrations/apple/example_app/OSX/.DS_Store rename integrations/apple/example_app/{ => OSX}/Example_OSX_App.xcodeproj/project.pbxproj (83%) rename integrations/apple/example_app/{ => OSX}/Example_OSX_App.xcodeproj/project.xcworkspace/contents.xcworkspacedata (100%) create mode 100644 integrations/apple/example_app/OSX/Example_OSX_App.xcodeproj/project.xcworkspace/xcuserdata/Joseph.xcuserdatad/UserInterfaceState.xcuserstate rename integrations/apple/example_app/{ => OSX}/Example_OSX_App.xcodeproj/xcuserdata/Joseph.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist (100%) rename integrations/apple/example_app/{ => OSX}/Example_OSX_App.xcodeproj/xcuserdata/Joseph.xcuserdatad/xcschemes/Example_OSX_App.xcscheme (100%) rename integrations/apple/example_app/{ => OSX}/Example_OSX_App.xcodeproj/xcuserdata/Joseph.xcuserdatad/xcschemes/xcschememanagement.plist (100%) rename integrations/apple/example_app/{ => OSX}/Example_OSX_App/AppDelegate.swift (100%) rename integrations/apple/example_app/{ => OSX}/Example_OSX_App/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename integrations/apple/example_app/{ => OSX}/Example_OSX_App/Base.lproj/Main.storyboard (100%) rename integrations/apple/example_app/{ => OSX}/Example_OSX_App/Example_OSX_App-Bridging-Header.h (100%) rename integrations/apple/example_app/{ => OSX}/Example_OSX_App/Info.plist (100%) rename integrations/apple/example_app/{ => OSX}/Example_OSX_App/ViewController.swift (100%) create mode 100644 integrations/apple/example_app/iOS/.DS_Store rename integrations/apple/example_app/{Example_iOS_App => iOS}/Example_iOS_App.xcodeproj/project.pbxproj (100%) rename integrations/apple/example_app/{Example_iOS_App => iOS}/Example_iOS_App.xcodeproj/project.xcworkspace/contents.xcworkspacedata (100%) rename integrations/apple/example_app/{Example_iOS_App => iOS}/Example_iOS_App.xcodeproj/project.xcworkspace/xcuserdata/Joseph.xcuserdatad/UserInterfaceState.xcuserstate (100%) rename integrations/apple/example_app/{Example_iOS_App => iOS}/Example_iOS_App.xcodeproj/xcuserdata/Joseph.xcuserdatad/xcschemes/Example_iOS_App.xcscheme (100%) rename integrations/apple/example_app/{Example_iOS_App => iOS}/Example_iOS_App.xcodeproj/xcuserdata/Joseph.xcuserdatad/xcschemes/xcschememanagement.plist (100%) rename integrations/apple/example_app/{Example_iOS_App => iOS}/Example_iOS_App/AppDelegate.swift (100%) rename integrations/apple/example_app/{Example_iOS_App => iOS}/Example_iOS_App/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename integrations/apple/example_app/{Example_iOS_App => iOS}/Example_iOS_App/Base.lproj/LaunchScreen.storyboard (100%) rename integrations/apple/example_app/{Example_iOS_App => iOS}/Example_iOS_App/Base.lproj/Main.storyboard (100%) rename integrations/apple/example_app/{Example_iOS_App => iOS}/Example_iOS_App/Info.plist (100%) rename integrations/apple/example_app/{Example_iOS_App => iOS}/Example_iOS_App/ViewController.swift (100%) diff --git a/integrations/apple/ZeroTierSDK_Apple/.DS_Store b/integrations/apple/ZeroTierSDK_Apple/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..045293cca238eb6ebe2f1acc5534056fa5612739 GIT binary patch literal 6148 zcmeHK%}T>S5dOB!q2i@S!AqV%>>I=qPd&zy7llOpAz_19@R&#PU3>%YzJuS)ETtuS zDI!v4!pygso!Ml+g-ixOSgxA|Fb6QB3Qmq_z7d%h9mynlGGfp*uJDLEJflK6igw3; zWI)dD6xVuc5!>gt!VNCa^J+PJhF8>xXgKb9!VypH{i3R4*Xy>XAD{cL)Wx!F)-N^i z{?@K^y*=Nli_I^s)IV(PE<4wka^nm*1J1yKFukK#p&cKEN`99=S!6M;c zsGklRZ2^e#8>zyv^b(SjCoB>UhMb`UOC?%rNG(RNbo%oYS0o$^Egc~>A0a(Cqz)zM z)46`G;RuDHTW7!-*kxd9w{xlgmp}LayGefM3^)S^#X!i)s$6nQskV+bC$%=G-cm&* mZZO=WaG<4_u~Ldps4Dd5G9VTS2Sa)&{v)6?xN!#llz}hB;z>~e literal 0 HcmV?d00001 diff --git a/integrations/apple/example_app/.DS_Store b/integrations/apple/example_app/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..32edc013250ef3b47dcb39fba007c3f82ab0d39e GIT binary patch literal 6148 zcmeHKJ8l9&47CFVQX0yXa|LcNLYtamo0O4QDHK6agnql6Crw%okqhPd6BIOpk|KGQ z>^I}j%~dM zsn5uE*LB0;Z7uTkas2e-PLbh4WWQ-nyY?K6kpVJ52FL&z_%95gXPeCK18KunIKOzhXbq$#17zTwfk|xV*8d-&7v}%-BJRil8TeBS=(Ov*C0;3eYx8o} vYYX%l`Xk8obQo{NKySs^SSx<`l~-(ycugDwy&Qfo2l7Y2c%hJiTQKkqWve4c literal 0 HcmV?d00001 diff --git a/integrations/apple/example_app/Example_OSX_App.xcodeproj/project.xcworkspace/xcuserdata/Joseph.xcuserdatad/UserInterfaceState.xcuserstate b/integrations/apple/example_app/Example_OSX_App.xcodeproj/project.xcworkspace/xcuserdata/Joseph.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 206d442bcf440ac121e4a46d20ad508625ef5d63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45214 zcmd@72V4|a_c#vEojbF$J2MNbf*?idePMUmYNC;$yvj2hFs>AlAkO|Pa`)4PfO&)wNwb`kR!zfYe0KJOcz&m+v-d+xpGoO{|m_e^7F zTdTL*WO|uF49j4KV|YfRKV5&u?6jqxE^li``|Pxi#)Y1yZf|{>yQ^tID?F}C>+a|r z&Y*RhZyLrijKFA_5lj>l&15oJOg59lJDMHC zCb7w^nYFPl_E`2fwwNtrC$Ur5Dt0G*{|4d+3(n&*q_;7*!}Du?4Rrb%wi1|@CY1*qwz=_gHv%DPRAKI z6X#$PHe&~N;&HePm*a_e8m`9E@hp5iZpI$mg4=Ni?!?`A6<&wW#^>P+@kRJzya`{8 z`|&n>9lizMi66iZ;wSM__*MKGejUGo-^6d>FY#A+AO0GDgTKY!;a~8t_y9i0={S*- zxM5s0HQaC&3;GCR`8_ONT9m|d5#&f0IL~bfq#m(eqadWr^?nJJMYvGo1%edv- z3hpFsCAW%O&7H-a&7H%Y%WdG!<2G^^bC+J^r z#hOW)N==QXPBTX{SJR;JXy$7cYnEu1X;y29=5)6*MQ*a4mg=2℘#yp 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 literal 0 HcmV?d00001 diff --git a/integrations/apple/example_app/Example_OSX_App.xcodeproj/project.pbxproj b/integrations/apple/example_app/OSX/Example_OSX_App.xcodeproj/project.pbxproj similarity index 83% rename from integrations/apple/example_app/Example_OSX_App.xcodeproj/project.pbxproj rename to integrations/apple/example_app/OSX/Example_OSX_App.xcodeproj/project.pbxproj index e1c95ba..88cfeec 100644 --- a/integrations/apple/example_app/Example_OSX_App.xcodeproj/project.pbxproj +++ b/integrations/apple/example_app/OSX/Example_OSX_App.xcodeproj/project.pbxproj @@ -7,10 +7,10 @@ objects = { /* Begin PBXBuildFile section */ - 7CA571051D1B0DA100720883 /* ZeroTierSDK_OSX.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CA571031D1B0D9500720883 /* ZeroTierSDK_OSX.framework */; }; - 7CF8E36C1D2C3E0A001A8401 /* ZeroTierSDK_OSX.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CF8E36B1D2C3E0A001A8401 /* ZeroTierSDK_OSX.framework */; }; - 7CF8E3701D2C40F6001A8401 /* SDK_XcodeWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CF8E36E1D2C40F6001A8401 /* SDK_XcodeWrapper.cpp */; }; - 7CF8E3711D2C4338001A8401 /* ZeroTierSDK_OSX.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7CF8E36B1D2C3E0A001A8401 /* ZeroTierSDK_OSX.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 7C74DACF1D3C46EB00A6C0B9 /* SDK_XcodeWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C74DACD1D3C46EB00A6C0B9 /* SDK_XcodeWrapper.cpp */; }; + 7C74DAD21D3C47D300A6C0B9 /* ZeroTierSDK_OSX.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7C74DAD01D3C472C00A6C0B9 /* ZeroTierSDK_OSX.framework */; }; + 7C74DAD31D3C485800A6C0B9 /* ZeroTierSDK_OSX.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7C74DAD01D3C472C00A6C0B9 /* ZeroTierSDK_OSX.framework */; }; + 7C74DAD41D3C485800A6C0B9 /* ZeroTierSDK_OSX.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7C74DAD01D3C472C00A6C0B9 /* ZeroTierSDK_OSX.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 7CFCB4311D1AFEE800D3E66C /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CFCB4301D1AFEE800D3E66C /* AppDelegate.swift */; }; 7CFCB4331D1AFEE800D3E66C /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7CFCB4321D1AFEE800D3E66C /* ViewController.swift */; }; 7CFCB4351D1AFEE800D3E66C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7CFCB4341D1AFEE800D3E66C /* Assets.xcassets */; }; @@ -24,7 +24,7 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 7CF8E3711D2C4338001A8401 /* ZeroTierSDK_OSX.framework in Embed Frameworks */, + 7C74DAD41D3C485800A6C0B9 /* ZeroTierSDK_OSX.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -32,12 +32,10 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 7CA571031D1B0D9500720883 /* ZeroTierSDK_OSX.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ZeroTierSDK_OSX.framework; path = /Users/Joseph/code/zerotiersdk/build/OSX_app_framework/Debug/ZeroTierSDK_OSX.framework; sourceTree = ""; }; - 7CA571081D1B1DCB00720883 /* ZeroTierSDK_OSX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ZeroTierSDK_OSX.h; path = ../../ZeroTierSDK_Apple/ZeroTierSDK_OSX/ZeroTierSDK_OSX.h; sourceTree = ""; }; - 7CF8E36B1D2C3E0A001A8401 /* ZeroTierSDK_OSX.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ZeroTierSDK_OSX.framework; path = ../../../build/osx_app_framework/Debug/ZeroTierSDK_OSX.framework; sourceTree = ""; }; + 7C74DACD1D3C46EB00A6C0B9 /* SDK_XcodeWrapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SDK_XcodeWrapper.cpp; path = ../../../../../src/SDK_XcodeWrapper.cpp; sourceTree = ""; }; + 7C74DACE1D3C46EB00A6C0B9 /* SDK_XcodeWrapper.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = SDK_XcodeWrapper.hpp; path = ../../../../../src/SDK_XcodeWrapper.hpp; sourceTree = ""; }; + 7C74DAD01D3C472C00A6C0B9 /* ZeroTierSDK_OSX.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ZeroTierSDK_OSX.framework; path = ../../../../build/osx_app_framework/Debug/ZeroTierSDK_OSX.framework; sourceTree = ""; }; 7CF8E36D1D2C40F6001A8401 /* Example_OSX_App-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Example_OSX_App-Bridging-Header.h"; sourceTree = ""; }; - 7CF8E36E1D2C40F6001A8401 /* SDK_XcodeWrapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SDK_XcodeWrapper.cpp; path = ../../../../src/SDK_XcodeWrapper.cpp; sourceTree = ""; }; - 7CF8E36F1D2C40F6001A8401 /* SDK_XcodeWrapper.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = SDK_XcodeWrapper.hpp; path = ../../../../src/SDK_XcodeWrapper.hpp; sourceTree = ""; }; 7CFCB42D1D1AFEE800D3E66C /* Example_OSX_App.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example_OSX_App.app; sourceTree = BUILT_PRODUCTS_DIR; }; 7CFCB4301D1AFEE800D3E66C /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7CFCB4321D1AFEE800D3E66C /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; @@ -51,8 +49,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7CF8E36C1D2C3E0A001A8401 /* ZeroTierSDK_OSX.framework in Frameworks */, - 7CA571051D1B0DA100720883 /* ZeroTierSDK_OSX.framework in Frameworks */, + 7C74DAD31D3C485800A6C0B9 /* ZeroTierSDK_OSX.framework in Frameworks */, + 7C74DAD21D3C47D300A6C0B9 /* ZeroTierSDK_OSX.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -62,7 +60,7 @@ 7CFCB4241D1AFEE800D3E66C = { isa = PBXGroup; children = ( - 7CF8E36B1D2C3E0A001A8401 /* ZeroTierSDK_OSX.framework */, + 7C74DAD01D3C472C00A6C0B9 /* ZeroTierSDK_OSX.framework */, 7CFCB42F1D1AFEE800D3E66C /* Example_OSX_App */, 7CFCB42E1D1AFEE800D3E66C /* Products */, ); @@ -79,9 +77,8 @@ 7CFCB42F1D1AFEE800D3E66C /* Example_OSX_App */ = { isa = PBXGroup; children = ( - 7CF8E36E1D2C40F6001A8401 /* SDK_XcodeWrapper.cpp */, - 7CF8E36F1D2C40F6001A8401 /* SDK_XcodeWrapper.hpp */, - 7CA571081D1B1DCB00720883 /* ZeroTierSDK_OSX.h */, + 7C74DACD1D3C46EB00A6C0B9 /* SDK_XcodeWrapper.cpp */, + 7C74DACE1D3C46EB00A6C0B9 /* SDK_XcodeWrapper.hpp */, 7CFCB4301D1AFEE800D3E66C /* AppDelegate.swift */, 7CFCB4321D1AFEE800D3E66C /* ViewController.swift */, 7CFCB4341D1AFEE800D3E66C /* Assets.xcassets */, @@ -164,7 +161,7 @@ buildActionMask = 2147483647; files = ( 7CFCB4331D1AFEE800D3E66C /* ViewController.swift in Sources */, - 7CF8E3701D2C40F6001A8401 /* SDK_XcodeWrapper.cpp in Sources */, + 7C74DACF1D3C46EB00A6C0B9 /* SDK_XcodeWrapper.cpp in Sources */, 7CFCB4311D1AFEE800D3E66C /* AppDelegate.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -273,7 +270,8 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; COMBINE_HIDPI_IMAGES = YES; - HEADER_SEARCH_PATHS = "$(SRCROOT)/../../../src"; + FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/../../../../build/OSX_app_framework/Debug"; + HEADER_SEARCH_PATHS = "$(SRCROOT)/../../../../src"; INFOPLIST_FILE = Example_OSX_App/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "zerotier.Example-OSX-App"; @@ -290,7 +288,8 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; COMBINE_HIDPI_IMAGES = YES; - HEADER_SEARCH_PATHS = "$(SRCROOT)/../../../src"; + FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/../../../../build/OSX_app_framework/Debug"; + HEADER_SEARCH_PATHS = "$(SRCROOT)/../../../../src"; INFOPLIST_FILE = Example_OSX_App/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "zerotier.Example-OSX-App"; diff --git a/integrations/apple/example_app/Example_OSX_App.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/integrations/apple/example_app/OSX/Example_OSX_App.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from integrations/apple/example_app/Example_OSX_App.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to integrations/apple/example_app/OSX/Example_OSX_App.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/integrations/apple/example_app/OSX/Example_OSX_App.xcodeproj/project.xcworkspace/xcuserdata/Joseph.xcuserdatad/UserInterfaceState.xcuserstate b/integrations/apple/example_app/OSX/Example_OSX_App.xcodeproj/project.xcworkspace/xcuserdata/Joseph.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..33ac26dc9909fd5933c68dd78a7322c834745a1f GIT binary patch literal 49974 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 literal 0 HcmV?d00001 diff --git a/integrations/apple/example_app/Example_iOS_App/Example_iOS_App.xcodeproj/project.pbxproj b/integrations/apple/example_app/iOS/Example_iOS_App.xcodeproj/project.pbxproj similarity index 100% rename from integrations/apple/example_app/Example_iOS_App/Example_iOS_App.xcodeproj/project.pbxproj rename to integrations/apple/example_app/iOS/Example_iOS_App.xcodeproj/project.pbxproj diff --git a/integrations/apple/example_app/Example_iOS_App/Example_iOS_App.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/integrations/apple/example_app/iOS/Example_iOS_App.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from integrations/apple/example_app/Example_iOS_App/Example_iOS_App.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to integrations/apple/example_app/iOS/Example_iOS_App.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/integrations/apple/example_app/Example_iOS_App/Example_iOS_App.xcodeproj/project.xcworkspace/xcuserdata/Joseph.xcuserdatad/UserInterfaceState.xcuserstate b/integrations/apple/example_app/iOS/Example_iOS_App.xcodeproj/project.xcworkspace/xcuserdata/Joseph.xcuserdatad/UserInterfaceState.xcuserstate similarity index 100% rename from integrations/apple/example_app/Example_iOS_App/Example_iOS_App.xcodeproj/project.xcworkspace/xcuserdata/Joseph.xcuserdatad/UserInterfaceState.xcuserstate rename to integrations/apple/example_app/iOS/Example_iOS_App.xcodeproj/project.xcworkspace/xcuserdata/Joseph.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/integrations/apple/example_app/Example_iOS_App/Example_iOS_App.xcodeproj/xcuserdata/Joseph.xcuserdatad/xcschemes/Example_iOS_App.xcscheme b/integrations/apple/example_app/iOS/Example_iOS_App.xcodeproj/xcuserdata/Joseph.xcuserdatad/xcschemes/Example_iOS_App.xcscheme similarity index 100% rename from integrations/apple/example_app/Example_iOS_App/Example_iOS_App.xcodeproj/xcuserdata/Joseph.xcuserdatad/xcschemes/Example_iOS_App.xcscheme rename to integrations/apple/example_app/iOS/Example_iOS_App.xcodeproj/xcuserdata/Joseph.xcuserdatad/xcschemes/Example_iOS_App.xcscheme diff --git a/integrations/apple/example_app/Example_iOS_App/Example_iOS_App.xcodeproj/xcuserdata/Joseph.xcuserdatad/xcschemes/xcschememanagement.plist b/integrations/apple/example_app/iOS/Example_iOS_App.xcodeproj/xcuserdata/Joseph.xcuserdatad/xcschemes/xcschememanagement.plist similarity index 100% rename from integrations/apple/example_app/Example_iOS_App/Example_iOS_App.xcodeproj/xcuserdata/Joseph.xcuserdatad/xcschemes/xcschememanagement.plist rename to integrations/apple/example_app/iOS/Example_iOS_App.xcodeproj/xcuserdata/Joseph.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/integrations/apple/example_app/Example_iOS_App/Example_iOS_App/AppDelegate.swift b/integrations/apple/example_app/iOS/Example_iOS_App/AppDelegate.swift similarity index 100% rename from integrations/apple/example_app/Example_iOS_App/Example_iOS_App/AppDelegate.swift rename to integrations/apple/example_app/iOS/Example_iOS_App/AppDelegate.swift diff --git a/integrations/apple/example_app/Example_iOS_App/Example_iOS_App/Assets.xcassets/AppIcon.appiconset/Contents.json b/integrations/apple/example_app/iOS/Example_iOS_App/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from integrations/apple/example_app/Example_iOS_App/Example_iOS_App/Assets.xcassets/AppIcon.appiconset/Contents.json rename to integrations/apple/example_app/iOS/Example_iOS_App/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/integrations/apple/example_app/Example_iOS_App/Example_iOS_App/Base.lproj/LaunchScreen.storyboard b/integrations/apple/example_app/iOS/Example_iOS_App/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from integrations/apple/example_app/Example_iOS_App/Example_iOS_App/Base.lproj/LaunchScreen.storyboard rename to integrations/apple/example_app/iOS/Example_iOS_App/Base.lproj/LaunchScreen.storyboard diff --git a/integrations/apple/example_app/Example_iOS_App/Example_iOS_App/Base.lproj/Main.storyboard b/integrations/apple/example_app/iOS/Example_iOS_App/Base.lproj/Main.storyboard similarity index 100% rename from integrations/apple/example_app/Example_iOS_App/Example_iOS_App/Base.lproj/Main.storyboard rename to integrations/apple/example_app/iOS/Example_iOS_App/Base.lproj/Main.storyboard diff --git a/integrations/apple/example_app/Example_iOS_App/Example_iOS_App/Info.plist b/integrations/apple/example_app/iOS/Example_iOS_App/Info.plist similarity index 100% rename from integrations/apple/example_app/Example_iOS_App/Example_iOS_App/Info.plist rename to integrations/apple/example_app/iOS/Example_iOS_App/Info.plist diff --git a/integrations/apple/example_app/Example_iOS_App/Example_iOS_App/ViewController.swift b/integrations/apple/example_app/iOS/Example_iOS_App/ViewController.swift similarity index 100% rename from integrations/apple/example_app/Example_iOS_App/Example_iOS_App/ViewController.swift rename to integrations/apple/example_app/iOS/Example_iOS_App/ViewController.swift diff --git a/src/SDK_XcodeWrapper.cpp b/src/SDK_XcodeWrapper.cpp index 3c8a136..326845d 100755 --- a/src/SDK_XcodeWrapper.cpp +++ b/src/SDK_XcodeWrapper.cpp @@ -1,6 +1,6 @@ // -// NetconWrapper.cpp -// Netcon-iOS +// SDK_XcodeWrapper.cpp +// SDK-iOS // // Created by Joseph Henry on 2/14/16. // Copyright © 2016 ZeroTier. All rights reserved. diff --git a/src/SDK_XcodeWrapper.hpp b/src/SDK_XcodeWrapper.hpp index df12052..65aff1b 100755 --- a/src/SDK_XcodeWrapper.hpp +++ b/src/SDK_XcodeWrapper.hpp @@ -1,6 +1,6 @@ // // SDK_XcodeWrapper.hpp -// Netcon-iOS +// SDK-iOS // // Created by Joseph Henry on 2/14/16. // Copyright © 2016 ZeroTier. All rights reserved.