@@ -44,9 +44,19 @@ CustomCompileEntitlements CreateEntitlementsTask (out string compiledEntitlement
44
44
compiledEntitlements = task . CompiledEntitlements . ItemSpec ;
45
45
archivedEntitlements = Path . Combine ( AppBundlePath , "archived-expanded-entitlements.xcent" ) ;
46
46
47
+ DeleteDirectory ( Path . Combine ( MonoTouchProjectPath , "bin" ) ) ;
48
+ DeleteDirectory ( Path . Combine ( MonoTouchProjectPath , "obj" ) ) ;
49
+
47
50
return task ;
48
51
}
49
52
53
+ void DeleteDirectory ( string directory )
54
+ {
55
+ if ( ! Directory . Exists ( directory ) )
56
+ return ;
57
+ Directory . Delete ( directory , true ) ;
58
+ }
59
+
50
60
[ Test ( Description = "Xambug #46298" ) ]
51
61
public void ValidateEntitlement ( )
52
62
{
@@ -207,5 +217,46 @@ public void AllowJit_None ()
207
217
Assert . IsFalse ( compiled . ContainsKey ( EntitlementKeys . AllowExecutionOfJitCode ) , "#1" ) ;
208
218
}
209
219
220
+ [ Test ]
221
+ public void AppIdentifierPrefix ( )
222
+ {
223
+ var customEntitlements = new TaskItem [ ] {
224
+ new TaskItem ( "keychain-access-group" , new Dictionary < string , string > { { "Type" , "String" } , { "Value" , "$(AppIdentifierPrefix)org.xamarin" } } ) ,
225
+ } ;
226
+ var task = CreateEntitlementsTask ( out var compiledEntitlements , out var archivedEntitlements ) ;
227
+ task . TargetFrameworkMoniker = ".NETCoreApp,Version=v6.0,Profile=ios" ;
228
+ task . CustomEntitlements = customEntitlements ;
229
+ ExecuteTask ( task ) ;
230
+ var compiled = PDictionary . FromFile ( compiledEntitlements ) ;
231
+ Assert . IsFalse ( compiled . ContainsKey ( EntitlementKeys . AllowExecutionOfJitCode ) , "#1" ) ;
232
+ var kag = ( ( PString ) compiled [ "keychain-access-group" ] ) . Value ;
233
+ Assert . That ( kag , Is . EqualTo ( "32UV7A8CDE.org.xamarin" ) , "value 1" ) ;
234
+
235
+ var archived = PDictionary . FromFile ( archivedEntitlements ) ;
236
+ Assert . IsTrue ( archived . ContainsKey ( "keychain-access-group" ) , "archived" ) ;
237
+ var archivedKag = ( ( PString ) archived [ "keychain-access-group" ] ) . Value ;
238
+ Assert . That ( archivedKag , Is . EqualTo ( "32UV7A8CDE.org.xamarin" ) , "archived value 1" ) ;
239
+ }
240
+
241
+ [ Test ]
242
+ public void TeamIdentifierPrefix ( )
243
+ {
244
+ var customEntitlements = new TaskItem [ ] {
245
+ new TaskItem ( "keychain-access-group" , new Dictionary < string , string > { { "Type" , "String" } , { "Value" , "$(TeamIdentifierPrefix)org.xamarin" } } ) ,
246
+ } ;
247
+ var task = CreateEntitlementsTask ( out var compiledEntitlements , out var archivedEntitlements ) ;
248
+ task . TargetFrameworkMoniker = ".NETCoreApp,Version=v6.0,Profile=ios" ;
249
+ task . CustomEntitlements = customEntitlements ;
250
+ ExecuteTask ( task ) ;
251
+ var compiled = PDictionary . FromFile ( compiledEntitlements ) ;
252
+ Assert . IsFalse ( compiled . ContainsKey ( EntitlementKeys . AllowExecutionOfJitCode ) , "#1" ) ;
253
+ var kag = ( ( PString ) compiled [ "keychain-access-group" ] ) . Value ;
254
+ Assert . That ( kag , Is . EqualTo ( "Z8CSQKJE7R.org.xamarin" ) , "value 1" ) ;
255
+
256
+ var archived = PDictionary . FromFile ( archivedEntitlements ) ;
257
+ Assert . IsTrue ( archived . ContainsKey ( "keychain-access-group" ) , "archived" ) ;
258
+ var archivedKag = ( ( PString ) archived [ "keychain-access-group" ] ) . Value ;
259
+ Assert . That ( archivedKag , Is . EqualTo ( "Z8CSQKJE7R.org.xamarin" ) , "archived value 1" ) ;
260
+ }
210
261
}
211
262
}
0 commit comments