rhodes 3.3.3.beta.1 → 3.3.3.beta.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (146) hide show
  1. data/CHANGELOG +3 -0
  2. data/Manifest.txt +23 -9
  3. data/Rakefile +13 -2
  4. data/doc/build.txt +18 -11
  5. data/doc/device-caps.txt +4 -68
  6. data/doc/rhom.txt +33 -0
  7. data/doc/test-log-debug.txt +18 -42
  8. data/lib/framework/rho/render.rb +1 -1
  9. data/lib/framework/rho/rho.rb +31 -1
  10. data/lib/framework/rho/rhocontroller.rb +2 -2
  11. data/lib/framework/rhodes.rb +1 -1
  12. data/lib/framework/rhoframework.rb +4 -0
  13. data/lib/framework/rholang/localization_simplified.rb +1 -1
  14. data/lib/framework/rhom/rhom_object_factory.rb +22 -1
  15. data/lib/framework/version.rb +1 -1
  16. data/lib/rhodes.rb +1 -1
  17. data/platform/android/Rhodes/AndroidManifest.xml +2 -2
  18. data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_RhodesService.h +25 -9
  19. data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_extmanager_RhoExtManagerImpl.h +21 -0
  20. data/platform/android/Rhodes/jni/src/extmanager.cpp +36 -0
  21. data/platform/android/Rhodes/jni/src/nativeview.cpp +1 -1
  22. data/platform/android/Rhodes/jni/src/rhodesapp.cpp +14 -5
  23. data/platform/android/Rhodes/jni/src/rhodessystem.cpp +5 -0
  24. data/platform/android/Rhodes/jni/src/signature.cpp +29 -3
  25. data/platform/android/Rhodes/src/com/rhomobile/rhodes/NativeBar.java +3 -3
  26. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivity.java +4 -0
  27. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +42 -7
  28. data/platform/android/Rhodes/src/com/rhomobile/rhodes/WebView.java +61 -10
  29. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtData.java +6 -0
  30. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtManager.java +39 -0
  31. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtension.java +18 -0
  32. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtDataImpl.java +18 -0
  33. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtManagerImpl.java +142 -0
  34. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtManagerSingleton.java +15 -0
  35. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/MainView.java +6 -3
  36. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +25 -13
  37. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SplashScreen.java +15 -9
  38. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/TabbedMainView.java +15 -5
  39. data/platform/android/Rhodes/src/com/rhomobile/rhodes/nativeview/RhoNativeViewManager.java +3 -3
  40. data/platform/android/Rhodes/src/com/rhomobile/rhodes/signature/ImageCapture.java +14 -8
  41. data/platform/android/Rhodes/src/com/rhomobile/rhodes/signature/Signature.java +218 -51
  42. data/platform/android/Rhodes/src/com/rhomobile/rhodes/signature/SignatureProperties.java +94 -0
  43. data/platform/android/Rhodes/src/com/rhomobile/rhodes/signature/SignatureView.java +122 -37
  44. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/GoogleWebView.java +6 -2
  45. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/{WebView.java → IRhoWebView.java} +2 -1
  46. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebViewClient.java +4 -0
  47. data/platform/android/build/RhodesSRC_build.files +8 -1
  48. data/platform/android/build/android.rake +5 -1
  49. data/platform/android/build/librhodes_build.files +1 -0
  50. data/platform/bb/RubyVM/src/com/rho/RhodesApp.java +22 -1
  51. data/platform/bb/RubyVM/src/com/rho/sync/SyncSource.java +15 -0
  52. data/platform/bb/RubyVM/src/com/xruby/runtime/lang/RhoSupport.java +4 -0
  53. data/platform/bb/RubyVM/src/com/xruby/runtime/lang/RubyRuntime.java +4 -2
  54. data/platform/bb/build/rhodes_build.files +2 -0
  55. data/platform/bb/rhodes/src/com/rho/RhoRubyHelper.java +1 -1
  56. data/platform/bb/rhodes/src/com/rho/rubyext/PNGEncoder.java +613 -0
  57. data/platform/bb/rhodes/src/com/rho/rubyext/SignatureCapture.java +314 -0
  58. data/platform/bb/rhodes/src/com/rho/rubyext/WebView.java +1 -1
  59. data/platform/iphone/Classes/AppManager/AppManager.m +11 -0
  60. data/platform/iphone/Classes/Rhodes.m +1 -1
  61. data/platform/iphone/Classes/Signature/SignatureDelegate.h +5 -1
  62. data/platform/iphone/Classes/Signature/SignatureDelegate.m +186 -5
  63. data/platform/iphone/Classes/Signature/SignatureView.h +12 -0
  64. data/platform/iphone/Classes/Signature/SignatureView.m +11 -3
  65. data/platform/iphone/Classes/SimpleMainView.m +4 -0
  66. data/platform/iphone/Classes/rho/net/NetRequestImpl.m +98 -3
  67. data/platform/iphone/Info.plist +1 -1
  68. data/platform/iphone/rbuild/iphone.rake +18 -5
  69. data/platform/shared/RhoConnectClient/RhoConnectClient.cpp +1 -1
  70. data/platform/shared/common/ExtManager.h +64 -9
  71. data/platform/shared/common/RhoSimConf.h +1 -0
  72. data/platform/shared/common/RhodesApp.cpp +77 -28
  73. data/platform/shared/common/RhodesApp.h +9 -4
  74. data/platform/shared/common/RhodesAppBase.cpp +4 -3
  75. data/platform/shared/common/RhodesAppBase.h +5 -3
  76. data/platform/shared/net/HttpServer.cpp +4 -4
  77. data/platform/shared/net/HttpServer.h +2 -2
  78. data/platform/shared/qt/rhodes/impl/MainWindowImpl.cpp +1 -1
  79. data/platform/shared/qt/rhodes/main.cpp +1 -1
  80. data/platform/shared/ruby/ext/rho/rhoruby.c +12 -2
  81. data/platform/shared/ruby/ext/rho/rhosupport.c +11 -1
  82. data/platform/shared/ruby/thread_win32.c +2 -1
  83. data/platform/shared/rubyext/System.cpp +6 -0
  84. data/platform/shared/sync/SyncSource.cpp +15 -0
  85. data/platform/wm/RhoLib/RhoLib.vcproj +0 -4
  86. data/platform/wm/build/build_inf.js +34 -4
  87. data/platform/wm/build/wm.rake +75 -25
  88. data/platform/wm/rhodes/AppManager.cpp +14 -3
  89. data/platform/wm/rhodes/IBrowserEngine.h +7 -0
  90. data/platform/wm/rhodes/IEBrowserEngine.cpp +43 -0
  91. data/platform/wm/rhodes/IEBrowserEngine.h +7 -0
  92. data/platform/wm/rhodes/LogOptionsDlg.cpp +1 -1
  93. data/platform/wm/rhodes/MainWindow.cpp +92 -7
  94. data/platform/wm/rhodes/MainWindow.h +28 -1
  95. data/platform/wm/rhodes/MapView/MapViewManager.cpp +4 -4
  96. data/platform/wm/rhodes/Rhodes.cpp +149 -10
  97. data/platform/wm/rhodes/resource.h +5 -1
  98. data/platform/wm/rhodes/rho/common/ExtManager.cpp +307 -0
  99. data/platform/wm/rhodes/rho/rubyext/NativeToolbar.cpp +1 -1
  100. data/platform/wm/rhodes/rho/rubyext/RhoSignature.cpp +1 -1
  101. data/platform/wm/rhodes/rho/rubyext/RhoSignature.h +1 -1
  102. data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +14 -2
  103. data/platform/wm/rhodes/rho/rubyext/WebView.cpp +6 -3
  104. data/platform/wm/rhodes/rhodes.vcproj +5 -1
  105. data/platform/wm/rhodes/simulator/MainWindowQt.cpp +22 -1
  106. data/platform/wm/rhodes/simulator/MainWindowQt.h +4 -0
  107. data/platform/wp7/RhoRubyExtGen/RhoWebView.cs +1 -1
  108. data/platform/wp7/RhoRubyLib/Initializers.Generated.cs +1 -1
  109. data/platform/wp7/RhoRubyLib/common/RhodesApp.cs +33 -38
  110. data/platform/wp7/RhoRubyLib/net/HttpServer.cs +134 -29
  111. data/platform/wp7/RhoRubyLib/rubyext/RhoWebView.cs +12 -2
  112. data/platform/wp7/RhoRubyLib/sync/SyncSource.cs +17 -1
  113. data/platform/wp7/RhoRubyLib/views/RhoTabHeader.xaml +3 -3
  114. data/platform/wp7/RhoRubyLib/views/RhoView.xaml.cs +48 -8
  115. data/rakefile.rb +13 -2
  116. data/res/build-tools/iphonesim/build/Release/iphonesim_43 +0 -0
  117. data/res/build-tools/iphonesim/iphonesim.xcodeproj/project.pbxproj +158 -0
  118. data/res/generators/rhogen.rb +33 -28
  119. data/res/generators/templates/application/app/layout.erb +6 -5
  120. data/res/generators/templates/application/public/css/android.css +21 -315
  121. data/res/generators/templates/application/public/css/iphone.css +1 -499
  122. data/res/generators/templates/application/public/css/jqmobile-patch.css +18 -5
  123. data/res/generators/templates/application/public/css/windows_phone7.css +378 -0
  124. data/res/generators/templates/application/public/jqmobile/images/icons-18-black.png +0 -0
  125. data/res/generators/templates/application/public/jqmobile/images/icons-36-black.png +0 -0
  126. data/res/generators/templates/application/public/jqmobile/{jquery.mobile-1.0.css → jquery.mobile-1.0.1.css} +33 -11
  127. data/res/generators/templates/application/public/jqmobile/{jquery.mobile-1.0.js → jquery.mobile-1.0.1.js} +249 -125
  128. data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0.1.min.css +2 -0
  129. data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0.1.min.js +177 -0
  130. data/res/generators/templates/application/public/jqmobile/{jquery.mobile.structure-1.0.css → jquery.mobile.structure-1.0.1.css} +33 -11
  131. data/res/generators/templates/application/public/jqmobile/jquery.mobile.structure-1.0.1.min.css +2 -0
  132. data/res/generators/templates/application/public/jquery/jquery.json-2.3.js +193 -0
  133. data/res/generators/templates/application/public/jquery/jquery.json-2.3.min.js +23 -0
  134. data/res/generators/templates/application/public/js/jquery-wp7-patch.js +68 -20
  135. data/spec/phone_spec/app/Case/case.rb +22 -0
  136. data/spec/phone_spec/app/Customer/customer.rb +16 -0
  137. data/spec/phone_spec/app/spec/rhom_object_spec.rb +108 -11
  138. data/spec/phone_spec/app/spec/syncengine_spec.rb +43 -1
  139. data/spec/phone_spec/build.yml +2 -1
  140. data/version +1 -1
  141. metadata +27 -13
  142. data/platform/shared/common/ExtManager.cpp +0 -103
  143. data/res/generators/templates/application/public/jqmobile/jquery-mobile-iphone.css +0 -9
  144. data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0.min.css +0 -2
  145. data/res/generators/templates/application/public/jqmobile/jquery.mobile-1.0.min.js +0 -172
  146. data/res/generators/templates/application/public/jqmobile/jquery.mobile.structure-1.0.min.css +0 -2
@@ -87,11 +87,21 @@ namespace rho.rubyext
87
87
  }
88
88
 
89
89
  [RubyMethodAttribute("execute_js", RubyMethodAttributes.PublicSingleton)]
90
- public static void execute_js(RubyModule/*!*/ self, [NotNull]String/*!*/ strScript, int index = 0)
90
+ public static void execute_js(RubyModule/*!*/ self, [NotNull]String/*!*/ strScript, int index = 0, RubyArray vals = null)
91
91
  {
92
92
  try
93
93
  {
94
- RHODESAPP().processInvokeScript(strScript, index);
94
+ String[] arr = null;
95
+ if (null != vals && 0 < vals.Count)
96
+ {
97
+ arr = new String[vals.Count];
98
+ int ind = -1;
99
+ foreach (object val in vals)
100
+ if (val is MutableString)
101
+ arr[++ind] = val.ToString();
102
+ }
103
+
104
+ RHODESAPP().processInvokeScriptArgs(strScript, arr, index);
95
105
  }
96
106
  catch (Exception ex)
97
107
  {
@@ -903,6 +903,14 @@ namespace rho.sync
903
903
  for( ; !attrIter.isEnd(); attrIter.next() )
904
904
  {
905
905
  CAttrValue oAttrValue = new CAttrValue(attrIter.getCurKey(),attrIter.getCurString());
906
+
907
+ String strFreezedProps = SyncEngine.getSourceOptions().getProperty(getID(), "freezed");
908
+ if ( strFreezedProps.length() > 0 && strFreezedProps.indexOf(oAttrValue.m_strAttrib) < 0 )
909
+ {
910
+ LOG.INFO("Skip Non-exist property : " + oAttrValue.m_strAttrib + ". For model : " + getName());
911
+ continue;
912
+ }
913
+
906
914
  if ( !processBlob(strCmd,strObject,oAttrValue) )
907
915
  break;
908
916
 
@@ -1092,7 +1100,15 @@ namespace rho.sync
1092
1100
 
1093
1101
  if ( strCmd.compareTo("insert") == 0 )
1094
1102
  {
1095
- if ( !processBlob(strCmd,strObject,oAttrValue) )
1103
+
1104
+ String strFreezedProps = SyncEngine.getSourceOptions().getProperty(getID(), "freezed");
1105
+ if ( strFreezedProps.length() > 0 && strFreezedProps.indexOf(oAttrValue.m_strAttrib) < 0 )
1106
+ {
1107
+ LOG.INFO("Skip Non-exist property : " + oAttrValue.m_strAttrib + ". For model : " + getName());
1108
+ return;
1109
+ }
1110
+
1111
+ if ( !processBlob(strCmd,strObject,oAttrValue) )
1096
1112
  return;
1097
1113
 
1098
1114
  IDBResult resInsert = getDB().executeSQLReportNonUnique("INSERT INTO object_values "+
@@ -8,11 +8,11 @@
8
8
  FontSize="{StaticResource PhoneFontSizeNormal}"
9
9
  Foreground="{StaticResource PhoneForegroundBrush}"
10
10
  d:DesignHeight="480" d:DesignWidth="480">
11
-
12
- <Grid x:Name="LayoutRoot">
11
+
12
+ <Grid x:Name="LayoutRoot" Background="Transparent">
13
13
  <StackPanel Orientation="Horizontal">
14
14
  <Image Name="img" Height="auto" Width="auto"/>
15
- <TextBlock Name="lbl" Margin="2,0,0,0" Foreground="Black" VerticalAlignment="Center" />
15
+ <TextBlock Name="lbl" Margin="2,0,0,0" VerticalAlignment="Center" />
16
16
  </StackPanel>
17
17
  </Grid>
18
18
  </UserControl>
@@ -40,6 +40,7 @@ using System.Windows.Navigation;
40
40
  using IronRuby.Builtins;
41
41
  using rho.common;
42
42
  using System.IO;
43
+ using System.Collections;
43
44
 
44
45
  namespace rho.views
45
46
  {
@@ -66,6 +67,8 @@ namespace rho.views
66
67
  private bool m_reload = false;
67
68
  private bool m_loadFirstTime = true;
68
69
  private bool m_masterView = false;
70
+ private int m_index = -1;
71
+ private bool m_callback = false;
69
72
 
70
73
  private const string AJAX_CONTEXT_PARAM = "_rho_callbackId";
71
74
  private const string JS_NOTIFY_CONSOLE_LOG = "console.log:";
@@ -94,7 +97,7 @@ namespace rho.views
94
97
  }
95
98
 
96
99
  public RhoView(PhoneApplicationPage mainPage, Grid layoutRoot, String strAction,
97
- bool reload, Brush webBkgColor)
100
+ bool reload, Brush webBkgColor, int index)
98
101
  {
99
102
  InitializeComponent();
100
103
  webBrowser1.IsScriptEnabled = true;
@@ -108,6 +111,7 @@ namespace rho.views
108
111
  m_strAction = strAction;
109
112
  m_layoutRoot = layoutRoot;
110
113
  m_reload = reload;
114
+ m_index = index;
111
115
  if (webBkgColor != null)
112
116
  webBrowser1.Background = webBkgColor;
113
117
  }
@@ -116,6 +120,7 @@ namespace rho.views
116
120
 
117
121
  private void WebBrowser_OnLoaded(object sender, RoutedEventArgs e)
118
122
  {
123
+ if (RHODESAPP().Tab != null && RHODESAPP().Tab.SelectedIndex != m_index) return;
119
124
  OperatingSystem os = Environment.OSVersion;
120
125
  Version vs = os.Version;
121
126
  if (vs.Minor < 10) m_reload = true;
@@ -129,18 +134,18 @@ namespace rho.views
129
134
  RHODESAPP().BackHistory = m_backHistory;
130
135
  RHODESAPP().ForwardHistory = m_forwardHistory;
131
136
  RHODESAPP().CurrentUri = m_currentUri;
132
- if ( ((!m_loadFirstTime && m_reload) || m_loadFirstTime) && m_strAction != null)
137
+ if (((!m_loadFirstTime && m_reload) || m_loadFirstTime) && m_strAction != null)
133
138
  {
134
139
  if (m_loadFirstTime)
135
140
  m_loadFirstTime = false;
136
- bool callback = false;
141
+ //bool callback = false;
137
142
  if (m_strAction.startsWith("callback:"))
138
143
  {
139
144
  m_strAction = m_strAction.substring(9);
140
- callback = true;
145
+ m_callback = true;
141
146
  }
142
147
  m_strAction = RHODESAPP().canonicalizeRhoUrl(m_strAction);
143
- if (callback)
148
+ if (m_callback)
144
149
  {
145
150
  RhoClassFactory.createNetRequest().pushData(m_strAction, "rho_callback=1", null);
146
151
  }
@@ -201,11 +206,46 @@ namespace rho.views
201
206
  {
202
207
  string req = request.substring(JS_NOTIFY_REQUEST.length()).trim();
203
208
 
204
- string ajaxContext = extractAjaxContext(req);
205
- if (!RHODESAPP().HttpServer.processBrowserRequest(new Uri(req.substring(REQUEST_URL_SCHEME.length()), UriKind.Relative), ajaxContext))
209
+ IDictionary res = null;
210
+ try
206
211
  {
207
- LOG.ERROR("External requests should be filtered in javascript");
212
+ res = (IDictionary) fastJSON.RJSONTokener.JsonDecode(req);
208
213
  }
214
+ catch (Exception ex)
215
+ {
216
+ LOG.ERROR("JsonDecode", ex);
217
+ throw ex;
218
+ }
219
+
220
+ if (null != res)
221
+ {
222
+ string url = res["url"].ToString();
223
+ string type = res["type"].ToString().toUpperCase();
224
+ string contentType = res["contentType"].ToString();
225
+ IDictionary headers = (IDictionary)res["headers"];
226
+ IDictionary data = (IDictionary)res["data"];
227
+ string httpUsername = (null == res["usename"]) ? null : res["usename"].ToString();
228
+ string httpPassword = (null == res["password"]) ? null : res["password"].ToString();
229
+
230
+ headers["X-Requested-With"] = "XMLHttpRequest";
231
+
232
+ string ajaxContext = data[AJAX_CONTEXT_PARAM].ToString();
233
+ if (!RHODESAPP().HttpServer.processBrowserRequest(
234
+ type,
235
+ new Uri(url.substring(REQUEST_URL_SCHEME.length()), UriKind.Relative),
236
+ headers,
237
+ data,
238
+ ajaxContext
239
+ ))
240
+ {
241
+ LOG.ERROR("External requests should be filtered in javascript");
242
+ }
243
+ }
244
+ else
245
+ {
246
+ LOG.ERROR("Empty request URI");
247
+ }
248
+
209
249
  }
210
250
  }
211
251
 
data/rakefile.rb CHANGED
@@ -263,6 +263,8 @@ namespace "config" do
263
263
  $app_config[$config["platform"]]["capabilities"] and $app_config[$config["platform"]]["capabilities"].is_a? Array
264
264
  $app_config["capabilities"] = capabilities
265
265
 
266
+ application_build_configs = {}
267
+
266
268
  #Process motorola extensions
267
269
  if capabilities.index("motorola")
268
270
  $app_config["capabilities"] += ["webkit_browser"] if $app_config["extensions"].index("webkit-browser")
@@ -272,6 +274,17 @@ namespace "config" do
272
274
  $app_config["extensions"][idx_barcode] = "barcode-moto" if idx_barcode
273
275
 
274
276
  $app_config["capabilities"] += ["barcode"] if $app_config["extensions"].index("barcode-moto")
277
+
278
+ #check for RE2 plugins
279
+ plugins = ""
280
+ $app_config["extensions"].each do |ext|
281
+ if ( ext.start_with?('moto-') )
282
+ plugins += ',' if plugins.length() > 0
283
+ plugins += ext[5, ext.length()-5]
284
+ end
285
+ end
286
+
287
+ application_build_configs['moto-plugins'] = plugins if plugins.length() > 0
275
288
  end
276
289
 
277
290
  puts "$app_config['extensions'] : #{$app_config['extensions'].inspect}"
@@ -279,9 +292,7 @@ namespace "config" do
279
292
 
280
293
  $hidden_app = $app_config["hidden_app"].nil?() ? "0" : $app_config["hidden_app"]
281
294
 
282
-
283
295
  #application build configs
284
- application_build_configs = {}
285
296
 
286
297
  $application_build_configs_keys.each do |key|
287
298
  value = $app_config[key]
@@ -11,6 +11,10 @@
11
11
  2481364D115A750000E3A9BA /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 24813649115A750000E3A9BA /* main.m */; };
12
12
  2481364E115A750000E3A9BA /* nsprintf.m in Sources */ = {isa = PBXBuildFile; fileRef = 2481364B115A750000E3A9BA /* nsprintf.m */; };
13
13
  8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; };
14
+ FA42B43A14F58CC60046CED1 /* iPhoneSimulator.m in Sources */ = {isa = PBXBuildFile; fileRef = 24813648115A750000E3A9BA /* iPhoneSimulator.m */; };
15
+ FA42B43B14F58CC60046CED1 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 24813649115A750000E3A9BA /* main.m */; };
16
+ FA42B43C14F58CC60046CED1 /* nsprintf.m in Sources */ = {isa = PBXBuildFile; fileRef = 2481364B115A750000E3A9BA /* nsprintf.m */; };
17
+ FA42B43E14F58CC60046CED1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; };
14
18
  /* End PBXBuildFile section */
15
19
 
16
20
  /* Begin PBXCopyFilesBuildPhase section */
@@ -23,6 +27,15 @@
23
27
  );
24
28
  runOnlyForDeploymentPostprocessing = 1;
25
29
  };
30
+ FA42B43F14F58CC60046CED1 /* CopyFiles */ = {
31
+ isa = PBXCopyFilesBuildPhase;
32
+ buildActionMask = 8;
33
+ dstPath = /usr/share/man/man1/;
34
+ dstSubfolderSpec = 0;
35
+ files = (
36
+ );
37
+ runOnlyForDeploymentPostprocessing = 1;
38
+ };
26
39
  /* End PBXCopyFilesBuildPhase section */
27
40
 
28
41
  /* Begin PBXFileReference section */
@@ -35,6 +48,7 @@
35
48
  32A70AAB03705E1F00C91783 /* iphonesim_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iphonesim_Prefix.pch; sourceTree = "<group>"; };
36
49
  8DD76FA10486AA7600D96B5E /* iphonesim */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = iphonesim; sourceTree = BUILT_PRODUCTS_DIR; };
37
50
  FA28F9AE12B9946000597425 /* iPhoneSimulatorRemoteClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = iPhoneSimulatorRemoteClient.h; path = iPhoneSimulatorRemoteClient/iPhoneSimulatorRemoteClient.h; sourceTree = "<group>"; };
51
+ FA42B44314F58CC60046CED1 /* iphonesim_43 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = iphonesim_43; sourceTree = BUILT_PRODUCTS_DIR; };
38
52
  /* End PBXFileReference section */
39
53
 
40
54
  /* Begin PBXFrameworksBuildPhase section */
@@ -46,6 +60,14 @@
46
60
  );
47
61
  runOnlyForDeploymentPostprocessing = 0;
48
62
  };
63
+ FA42B43D14F58CC60046CED1 /* Frameworks */ = {
64
+ isa = PBXFrameworksBuildPhase;
65
+ buildActionMask = 2147483647;
66
+ files = (
67
+ FA42B43E14F58CC60046CED1 /* Foundation.framework in Frameworks */,
68
+ );
69
+ runOnlyForDeploymentPostprocessing = 0;
70
+ };
49
71
  /* End PBXFrameworksBuildPhase section */
50
72
 
51
73
  /* Begin PBXGroup section */
@@ -85,6 +107,7 @@
85
107
  isa = PBXGroup;
86
108
  children = (
87
109
  8DD76FA10486AA7600D96B5E /* iphonesim */,
110
+ FA42B44314F58CC60046CED1 /* iphonesim_43 */,
88
111
  );
89
112
  name = Products;
90
113
  sourceTree = "<group>";
@@ -110,6 +133,24 @@
110
133
  productReference = 8DD76FA10486AA7600D96B5E /* iphonesim */;
111
134
  productType = "com.apple.product-type.tool";
112
135
  };
136
+ FA42B43814F58CC60046CED1 /* iphonesim_43 */ = {
137
+ isa = PBXNativeTarget;
138
+ buildConfigurationList = FA42B44014F58CC60046CED1 /* Build configuration list for PBXNativeTarget "iphonesim_43" */;
139
+ buildPhases = (
140
+ FA42B43914F58CC60046CED1 /* Sources */,
141
+ FA42B43D14F58CC60046CED1 /* Frameworks */,
142
+ FA42B43F14F58CC60046CED1 /* CopyFiles */,
143
+ );
144
+ buildRules = (
145
+ );
146
+ dependencies = (
147
+ );
148
+ name = iphonesim_43;
149
+ productInstallPath = "$(HOME)/bin";
150
+ productName = iphonesim;
151
+ productReference = FA42B44314F58CC60046CED1 /* iphonesim_43 */;
152
+ productType = "com.apple.product-type.tool";
153
+ };
113
154
  /* End PBXNativeTarget section */
114
155
 
115
156
  /* Begin PBXProject section */
@@ -130,6 +171,7 @@
130
171
  projectRoot = "";
131
172
  targets = (
132
173
  8DD76F960486AA7600D96B5E /* iphonesim */,
174
+ FA42B43814F58CC60046CED1 /* iphonesim_43 */,
133
175
  );
134
176
  };
135
177
  /* End PBXProject section */
@@ -145,6 +187,16 @@
145
187
  );
146
188
  runOnlyForDeploymentPostprocessing = 0;
147
189
  };
190
+ FA42B43914F58CC60046CED1 /* Sources */ = {
191
+ isa = PBXSourcesBuildPhase;
192
+ buildActionMask = 2147483647;
193
+ files = (
194
+ FA42B43A14F58CC60046CED1 /* iPhoneSimulator.m in Sources */,
195
+ FA42B43B14F58CC60046CED1 /* main.m in Sources */,
196
+ FA42B43C14F58CC60046CED1 /* nsprintf.m in Sources */,
197
+ );
198
+ runOnlyForDeploymentPostprocessing = 0;
199
+ };
148
200
  /* End PBXSourcesBuildPhase section */
149
201
 
150
202
  /* Begin XCBuildConfiguration section */
@@ -165,6 +217,15 @@
165
217
  GCC_PREFIX_HEADER = iphonesim_Prefix.pch;
166
218
  INSTALL_PATH = /usr/local/bin;
167
219
  PRODUCT_NAME = iphonesim;
220
+ WARNING_LDFLAGS = (
221
+ "-framework",
222
+ AppKit,
223
+ "-F/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks",
224
+ "-framework",
225
+ iPhoneSimulatorRemoteClient,
226
+ "-Wl,-rpath",
227
+ "-Wl,/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks",
228
+ );
168
229
  };
169
230
  name = Debug;
170
231
  };
@@ -182,6 +243,15 @@
182
243
  GCC_PREFIX_HEADER = iphonesim_Prefix.pch;
183
244
  INSTALL_PATH = /usr/local/bin;
184
245
  PRODUCT_NAME = iphonesim;
246
+ WARNING_LDFLAGS = (
247
+ "-framework",
248
+ AppKit,
249
+ "-F/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks",
250
+ "-framework",
251
+ iPhoneSimulatorRemoteClient,
252
+ "-Wl,-rpath",
253
+ "-Wl,/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks",
254
+ );
185
255
  };
186
256
  name = Release;
187
257
  };
@@ -236,6 +306,85 @@
236
306
  };
237
307
  name = Release;
238
308
  };
309
+ FA42B44114F58CC60046CED1 /* Debug */ = {
310
+ isa = XCBuildConfiguration;
311
+ buildSettings = {
312
+ COPY_PHASE_STRIP = NO;
313
+ FRAMEWORK_SEARCH_PATHS = (
314
+ "$(inherited)",
315
+ "\"/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks\"",
316
+ );
317
+ GCC_DYNAMIC_NO_PIC = NO;
318
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
319
+ GCC_MODEL_TUNING = G5;
320
+ GCC_OPTIMIZATION_LEVEL = 0;
321
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
322
+ GCC_PREFIX_HEADER = iphonesim_Prefix.pch;
323
+ INSTALL_PATH = /usr/local/bin;
324
+ OTHER_LDFLAGS = (
325
+ "-framework",
326
+ AppKit,
327
+ "-F$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks",
328
+ "-framework",
329
+ iPhoneSimulatorRemoteClient,
330
+ "-Wl,-rpath",
331
+ "-Wl,$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks",
332
+ "-Wl,-rpath",
333
+ "-Wl,$(DEVELOPER_DIR)/../OtherFrameworks",
334
+ );
335
+ PRODUCT_NAME = iphonesim_43;
336
+ WARNING_LDFLAGS = (
337
+ "-framework",
338
+ AppKit,
339
+ "-F$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks",
340
+ "-framework",
341
+ iPhoneSimulatorRemoteClient,
342
+ "-Wl,-rpath",
343
+ "-Wl,$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks",
344
+ "-Wl,-rpath",
345
+ "-Wl,$(DEVELOPER_DIR)/../OtherFrameworks",
346
+ );
347
+ };
348
+ name = Debug;
349
+ };
350
+ FA42B44214F58CC60046CED1 /* Release */ = {
351
+ isa = XCBuildConfiguration;
352
+ buildSettings = {
353
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
354
+ FRAMEWORK_SEARCH_PATHS = (
355
+ "$(inherited)",
356
+ "\"/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks\"",
357
+ );
358
+ GCC_MODEL_TUNING = G5;
359
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
360
+ GCC_PREFIX_HEADER = iphonesim_Prefix.pch;
361
+ INSTALL_PATH = /usr/local/bin;
362
+ OTHER_LDFLAGS = (
363
+ "-framework",
364
+ AppKit,
365
+ "-F$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks",
366
+ "-framework",
367
+ iPhoneSimulatorRemoteClient,
368
+ "-Wl,-rpath",
369
+ "-Wl,$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks",
370
+ "-Wl,-rpath",
371
+ "-Wl,$(DEVELOPER_DIR)/../OtherFrameworks",
372
+ );
373
+ PRODUCT_NAME = iphonesim_43;
374
+ WARNING_LDFLAGS = (
375
+ "-framework",
376
+ AppKit,
377
+ "-F$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks",
378
+ "-framework",
379
+ iPhoneSimulatorRemoteClient,
380
+ "-Wl,-rpath",
381
+ "-Wl,$(DEVELOPER_DIR)/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks",
382
+ "-Wl,-rpath",
383
+ "-Wl,$(DEVELOPER_DIR)/../OtherFrameworks",
384
+ );
385
+ };
386
+ name = Release;
387
+ };
239
388
  /* End XCBuildConfiguration section */
240
389
 
241
390
  /* Begin XCConfigurationList section */
@@ -257,6 +406,15 @@
257
406
  defaultConfigurationIsVisible = 0;
258
407
  defaultConfigurationName = Release;
259
408
  };
409
+ FA42B44014F58CC60046CED1 /* Build configuration list for PBXNativeTarget "iphonesim_43" */ = {
410
+ isa = XCConfigurationList;
411
+ buildConfigurations = (
412
+ FA42B44114F58CC60046CED1 /* Debug */,
413
+ FA42B44214F58CC60046CED1 /* Release */,
414
+ );
415
+ defaultConfigurationIsVisible = 0;
416
+ defaultConfigurationName = Release;
417
+ };
260
418
  /* End XCConfigurationList section */
261
419
  };
262
420
  rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;