ManWithBear
@ManWithBear
Swift Adept, Prague

Как локализовать приватное API?

При попытке залить один из последних билдов получил письмо от эппл о использовании приватных апи.
Non-public API usage:
The app contains or inherits from non-public classes in PlugIns/WidgetName.appex/WidgetName: Transaction
The app contains or inherits from non-public classes in ProjectName: Settings, Transaction

Diff между текущей версией в сторе и отклоненной:
Diff
diff --git a/Settings.m b/Settings.m
index 455cd3e..45c4e33 100644
--- a/Settings.m
+++ b/Settings.m
@@ -161 +161 @@
-    [[NSNotificationCenter defaultCenter] postNotificationName:NOTIFICATION_MAIN_CURRENCY_CHANGED object:nil];
+    [[NSNotificationCenter defaultCenter] postNotificationName:kNotificationMainCurrencyChanged object:nil];
diff --git a/Transaction.h b/Transaction.h
index 3794388..e7ebd7c 100644
--- a/Transaction.h
+++ b/Transaction.h
@@ -21,0 +22 @@ typedef enum {
+@property double amountExchangeRate;
diff --git a/Transaction.m b/Transaction.m
index 9fa0ba4..dc32f11 100644
--- a/Transaction.m
+++ b/Transaction.m
@@ -17,0 +18 @@
+    tra.amountExchangeRate = 1;
@@ -43,0 +45 @@
+    tmp.amountExchangeRate = _amountExchangeRate;
@@ -69,0 +72 @@
+    [dict setValue:@(_amountExchangeRate) forKey:@"amountExchangeRate"];


Как понять что конкретно им не нравится и локализовать проблему? amountExchangeRate совсем не похоже на имя приватного iVar'a
  • Вопрос задан
  • 595 просмотров
Решения вопроса 1
Flanker_4
@Flanker_4
Если верить вот этому ответу
stackoverflow.com/questions/15392157/your-app-cont...

Проблема в названии классов. Скорей всего классы с именем Transaction существуют. Попробуйте переименовать, добавив трехбуквенный префикс и обязательно отпишитесь, решило ли это проблему

P.S. можно еще nm кой попробовать пройтись
stackoverflow.com/questions/26691095/the-app-conta...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы