Я видел сделанный. Я не рекомендовал бы его. C++ первоначально запустил этот путь как препроцессор, который произвел код C как промежуточный шаг.
По существу то, что Вы заканчиваете тем, что делали, составляют таблицу отправки для всех Ваших методов, где Вы храните свои ссылки на функцию. Получение класса повлекло бы за собой копирование этой таблицы отправки и замену записей, которые Вы хотели переопределить с Вашими новыми "методами", имеющими необходимость назвать исходный метод, если это хочет вызвать базовый метод. В конечном счете Вы заканчиваете тем, что переписали C++.
Спасибо за ответы. В конце концов, я просто сдался, создал новый проект и скопировал в него все свои файлы. В новом проекте есть этот раздел. Я не уверен, как этот проект попал в такое состояние. Служба поддержки Apple, отправленная по электронной почте на прошлой неделе, еще не получила ответа от них, обновлю сообщение, как только я получу ответ оттуда.
вы должны создать файл Entitlements.plist и добавить его в папку ресурсов в вашей сборке.
после добавления,
вам нужно дважды щелкнуть по первому полю в раздел «Подпись кода» и введите Entitlements.plist
. У меня нет Mac передо мной. Надеюсь, этого достаточно, чтобы начать работу. Если вы пытаетесь распространить сборку, вам понадобится канал распространения.
Редактировать комментарий вам нужно дважды щелкнуть поле справа от первого поля и ввести слово Entitlements.plist, как только вы закроете окно, оно появится в списке
Сначала вам нужно добавить его, щелкните шестеренку в левом нижнем углу. Если это не сработает, я спрошу Apple. Если это есть в их документации, они будут более чем рады устранить любую путаницу.
Какую версию xcode вы используете? Вот мой снимок экрана, на котором четко показано поле «Права на подпись кода»:
Раньше я видел странные вещи, происходившие на вкладке сборки целевой информации, как будто это путалось между конфигурациями. Я решил упростить операцию до минимума, и, похоже, все уладилось само собой. Имейте в виду, это было в полночь после долгой смены, и, возможно, это я запутался. Я не решаюсь упомянуть об этом, но это займет всего несколько секунд, и вы, возможно, сможете успокоить меня
С панели инструментов главного окна Xcode
Установите Active SDK на элемент «Устройство», после которого стоит (настройки проекта)
Установите активную конфигурацию на ту, которая связана с (здесь дистрибутивом)
в Target -> GetInfo-> Build
Выберите конфигурацию «активный (раздача)»
Убедитесь, что для вашего свойства «Базовый SDK» для целевой конфигурации распространения установлено значение «Устройство», а не «Симулятор». У меня была та же проблема, и у меня это сработало.
Ответ нашел здесь: http://discussions.apple.com/thread.jspa?threadID=1896569
У меня была такая же проблема, и я смог ее решить, открыв PROJECT get info (перейдите в Project -> Edit Project Settings или щелкните правой кнопкой мыши проект) и на вкладке General убедитесь, что «Базовый SDK для всех конфигураций» внизу установлен на Устройство, а не Симулятор.
У меня была та же проблема, но в том же окне я изменил базовый SDK с симулятора iphone на устройство iphone, и появились права.
Да, у меня была такая же проблема при переходе на новый SDK, я отказался от поддержки 2.1, но это все еще был базовый SDK в проекте. При изменении базового sdk мои сертификаты теперь снова появляются!
В разделе «Параметры целевой сборки» -> «Архитектура» убедитесь, что для Base SDK установлено значение «Устройство», а не «Симулятор».